Professional Documents
Culture Documents
9
Architecture Design
Safehome Internet-based
Product system
control
panel target system: surveillance
Security Function function
uses
homeowner peers
uses
uses
sensors sensors
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
16
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Archetypes
Cont roller
communicat es wit h
Node
SafeHome
Execut ive
Funct ion
select ion
Ext ernal
Communicat ion
Management
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
19
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Refined Component Structure
SafeHome
Executive
Ext ernal
Communicat ion
Management
Security
GUI Internet
Interface
Key pad
processing phone
scheduler
com m unicat ion
CP display
funct ions
alarm
sensor
sensor
sensor
sensor
sensor
sensor
sensor
sensor
sensor
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
20
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Analyzing Architectural Design
▪ After doing the requirement analysis (engineering)
▪ Scenarios, requirements, constraints, env. context
▪ Quality attributes (non-functional requirements)
▪ Evaluate quality attributes by considered each attribute in
isolation.
▪ Identify the sensitivity of quality attributes to various
architectural attributes for a specific architectural style
▪ Critique the candidate architecture using quality attributes and
related sensitivity analysis
21
(Some) 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.
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.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
30
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Data Flow Architecture
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
31
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Call and Return Architecture
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
32
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Layered Architecture
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
33
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.