Ch6 Architectural Design
Ch6 Architectural Design
1
Topics covered
2
Architectural Design
4
Architectural Abstraction
5
Advantages of Explicit Architecture
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.
6
Architecture and System Characteristics
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.
7
Architectural patterns
8
1- The Model-View-Controller (MVC) pattern
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.
9
The organization of the Model-View-Controller
10
Web application architecture using the MVC
pattern
11
2- Layered architecture
12
The Layered architecture pattern
13
A generic layered architecture
14
The architecture of the iLearn system
15
Layered information system architecture
16
The architecture of the Mentcare system
17
3- Repository architecture
18
The Repository pattern
Name Repository
19
A repository architecture for an IDE
20
A repository architecture for a language
processing system
21
4- Client-server architecture
22
The Client–server pattern
Name Client-server
23
A client–server architecture for a film library
24
5- Pipe and filter architecture
26
An example of the pipe and filter architecture
used in a payments system
27
A pipe and filter compiler architecture
28
Examples of Application Architectures Types
30
Key points