SD-A Lecture18
SD-A Lecture18
Stakeholder Communication
▪ Architecture may be used as a focus of discussion by system
stakeholders, for the negotiation of system requirements.
▪ It is an essential tool for complexity management. It hides detailsand
allows the designers to focus on the key system abstractions.
System Analysis
▪Means that analysis of whether the system can meet its non-functional
requirements is possible.
▪Architectural design decisions have a profound effecton whether or not the
system can meet critical requirements such as performance, reliability,
and maintainability.
Large-scale reuse
▪The architecture may be reusable across a range of systems with
similar requirements and so can support large-scale software reuse
Chapter 6 Architectural design 9
Architectural Representations
Boxes within boxes indicate that the component has been decomposed to
sub-components.
Arrows mean that data and or control signals are passed from
component to component in the direction of the arrows.
Positives
Negatives
But these have been criticized because they are very Abstract
lack semantics, do not show the types of relationships between entities
nor the externally visible properties of entities in the architecture.
Performance
▪ Localise critical operations and minimise communications. Use large
rather than fine-grain components or replicate.
Security
▪ Use a layered architecture with critical assets in the inner layers.with a
high level of security validation applied to these 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.
Description Separates presentation and interaction from the system data. The system is
structured into three logical components that interact with each other. The
Model component manages the system data and associated operations on
that data. The View component defines and manages how the data is
presented to the user. The Controller component manages user interaction
(e.g., key presses, mouse clicks, etc.) and passes these interactions to the
View and the Model. See Figure 6.3.
Example Figure 6.4 shows the architecture of a web-based application system
organized using the MVC pattern.
When used Used when there are multiple ways to view and interact with data. Also used
when the future requirements for interaction and presentation of data are
unknown.
Advantages Allows the data to change independently of its representation and vice versa.
Supports presentation of the same data in different ways with changes made
in one representation shown in all of them.
Disadvantages Can involve additional code and code complexity when the data model and
interactions are simple.
Repository
Client Server
Pipe and Filter
Name Repository
Name Client-server