CH 01
CH 01
Introduction to Software
Architecture
1
Topics covered
2
Software architecture Definition
3
The architecture of a packing robot control
system – Box and Line Diagram
4
Architectural design decisions – common
questions (though a creative process)
5
Architecture reuse
6
Architecture and system characteristics
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.
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
4 + 1 view model of software architecture
8
Architectural patterns
9
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.
10
The organization of the Model-View-Controller
11
Web application architecture using the MVC
pattern
12
Layered architecture
13
The Layered architecture pattern
14
A generic layered architecture
15
The architecture of the LIBSYS system
16
Layered information system architecture
17
The architecture of the MHC-PMS
18
Generic Architecture Models
Repository
Client Server
Pipe and Filter
19
Repository architecture
20
The Repository Architecture pattern
Name Repository
22
Client-server architecture
23
The Client–server pattern
Name Client-server
24
A client–server architecture for a film library
25
Pipe and filter architecture
26
The pipe and filter pattern
27
An example of the pipe and filter architecture
29
Examples of application types
31