Ch6 Architectural Design
Ch6 Architectural Design
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
An architectural model is a compact, manageable description
of how a system is organized and how the components
interoperate.
Performance
Localize critical operations and minimize communications. Use
large rather than fine-grain components.
Security
Use a layered architecture with critical assets in the inner layers.
Safety
Localize 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.
27/01/2025 Chapter 6 Architectural Design 15
Architectural conflicts
Architectural views
Scenarios
21
Logical View
Viewer: End-user
22
Process View
viewer: Integrators
23
Development View
(Subsystem decomposition)
24
Physical View
(Mapping the software to the Hardware)
25
Architecture Vs. Design
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.
Name Client-server