Software Engineering Chapter 6
Pipe and filter architecture
The processing of data in a system is organized so that each processing component (filter) is discrete and carries out one type of data transformation. The data flows (as in a pipe) from one component to another for processing.
Four plus one view
-A logical view, which shows the key abstractions in the system as objects or object classes. -A process view, which shows how, at run-time, the system is composed of interacting processes. -A development view, which shows how the software is decomposed for development. -A physical view, which shows the system hardware and how software components are distributed across the processors in the system. -Related using use cases or scenarios(+1).
Two ways an Architecture Model may be used?
-Architecture in the small is concerned with the architecture of individual programs. At this level, we are concerned with the way that an individual program is decomposed into components. -Architecture in the large is concerned with the architecture of complex enterprise systems that include other systems, programs, and program components.
Architectual Design. Number of questions on slides. Decisions.
-Is there a generic application architecture that can be used? -How will the system be distributed? -What architectural styles are appropriate? -What approach will be used to structure the system? -How will the system be decomposed into modules? -What control strategy should be used? -How will the architectural design be evaluated? -How should the architecture be documented?
Architectual patern
-Patterns are a means of representing, sharing and reusing knowledge. -An architectural pattern is a stylized description of good design practice, which has been tried and tested in different environments. -Patterns should include information about when they are and then they are not useful. -Patterns may be represented using tabular and graphical descriptions.
Fundamental Characteristics of a repository system?
-Sub-systems must exchange data. This may be done in two ways: shared data is held in a central database or repository and may be accessed by all sub-systems. each sub-systems maintains its own database and passes data explicitly to other sub-systems. -When large amounts of date are to be shared, the repository model of sharing is most commonly used, this is an efficient data sharing mechanism.
What are the advantages of Software Architecture? Why is it important?
-The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural design. -The output of this design process is a description of the software architecture.
Most important advantage of a client to server approach
The principle advantage of this model is that servers can be distributed across a network. General functionality can be available to all clients and does not need to be implemented by all services.
Transaction process applications
i/o processing <-> application logic <-> transaction manager <-> database