Week8-Architectural Design
Week8-Architectural Design
By Ian Sommerville
4
The architecture of a packing robot control
system
8
Architecture and system characteristics
✧ 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. 9
Architectural views
15
The Model-View-Controller (MVC) pattern
17
The Model-View-Controller (MVC) pattern
The goal of this pattern is to split a large application into specific section that
has its own purpose.
19
Layered architecture
As you can see in the diagram above, a standard layered architecture has five parts:
•User interaction layer: This is the layer that interacts with users through screens,
forms, menus, reports, etc. It is the most visible layer of the application. It defines how
the application looks.
•Functionality layer: This is the layer that presents the functions, methods, and
procedures of the system based on the business rules layer. It determines how the
pull-down menus work, how the buttons work, and how the system navigates through
screens.
•Business rules layer: This layer contains rules that determine the behavior of the
whole application, such as, “If an invoice is printed, then send an email to the
customer, select all items sold, and decrease their stock in the stock management
module.”
•Application core layer: This server contains the main programs, code definitions,
and basic functions of the application. Programmers work in this layer most of the
time.
•Database layer: This layer contains the tables, indexes, and data managed by the
application. Searches and insert/delete/update operations are executed here.
22
The architecture of the iLearn system
25
A repository architecture for an IDE
27
A client–server architecture
30
Pipe and Filter Pattern
31
Pipe and filter architecture
34
Use of application architectures
38
Software Architecture of an ATM System
39
Information Systems Architecture
40
Layered information system architecture