Software Achitetcure II
Software Achitetcure II
Stakeholder communication
Architecture may be used as a focus of discussion by system
stakeholders.
System analysis
Means that analysis of whether the system can meet its non-
functional requirements is possible.
Large-scale reuse
The architecture may be reusable across a range of systems
Product-line architectures may be developed
Uses of Architecture
Performance
Localise critical operations and minimise communications. Use
large rather than fine-grain components.
Security
Use a layered architecture with critical assets in the inner
layers.
Safety
Localise safety-critical features in a small number of sub-
systems.
Availability
Include redundant components and mechanisms for fault
tolerance.
Maintainability
Use fine-grain, replaceable components.
Architectural Patterns
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 when
the are not useful.
Patterns may be represented using tabular and graphical
descriptions.
Layered Architecture
Used to model the interfacing of sub-systems.
Organises the system into a set of layers (or abstract machines)
each of which provide a set of services.
Supports the incremental development of sub-systems in different
layers. When a layer interface changes, only the adjacent layer is
affected.
However, often artificial to structure systems in this way.
Reference
Software Engineering by IAN Sommerville Ninth Edition Pearson