Professional Documents
Culture Documents
Architectural Design
The architecture is not the operational
software. Rather, it is a representation that
enables a software engineer to:
(1) analyze the effectiveness of the
design in meeting its stated requirements,
(2) consider architectural alternatives at a
stage when making design changes is
still relatively easy, and
(3) reduce the risks associated with the
construction of the software.
Architectural Design
Architectural Design
Architecture
Data Design
At the architectural level
Design of one or more databases to support
Data
At the component level
Design
refine data objects and develop a
set of data abstractions
implement data object attributes
as one or more data structures
review data structures to ensure
that appropriate relationships
have been established
simplify data structures as
required
10
Communicating
Processes
Client/Server
Peer-to-Peer
Data Flow
Batch Sequential Pipe and
Filter
Virtual Machine
Interpreter
Rule-Based
System
Event Systems
Implicit
Invocation
Explicit
Invocation
Data-Centered
Repository
Blackboard
Object
Layered Oriented
13
Architectural Styles
Each style describes a system category that encompasses: (1) a
set of components (e.g., a database, computational modules) that
perform a function required by a system, (2) a set of connectors
that enable communication, coordination and cooperation
among components, (3) constraints that define how components
can be integrated to form the system, and (4) semantic models
that enable a designer to understand the overall properties of a
system by analyzing the known properties of its constituent parts.
Data-centered architectures
Data flow architectures
Call and return architectures
Object-oriented architectures
Layered architectures
14
Data-Centered Style
Has the goal of integrating the data
Refers to systems in which the access and update of a
data of interest
At its heart is a centralized data store that communicates with a
number of clients
Clients are relatively independent of each other so they can be added,
removed, or changed in functionality
The data store is independent of the clients
Use this style when a central issue is the storage, representation,
management, and retrieval of a large amount of related persistent
data
Note that this style becomes client/server if the clients are modeled
15
as independent processes
Data-Centered Architecture
16
Pipe-and-filter style
Emphasizes the incremental transformation of data by
successive components
The filters incrementally transform the data (entering and
exiting via streams)
The filters use little contextual information and retain no state
between instantiations
The pipes are stateless and simply exist to move data between
filters
17
18
Call-and-Return Style
Has the goal of modifiability and scalability
Has been the dominant architecture since the start of
software development
Main program and subroutine style
modules)
Typically has a single thread of control that travels through various
components in the hierarchy
Architecture
20
Layered Architecture
21
Architectural Design
The software must be placed into context
the design should define the external entities
identified
An archetype is an abstraction (similar to a class)
Architectural
Context
Safehome
Product
control
panel
homeowner
Internet-based
system
target system:
Security Function
uses
surveillance
function
peers
uses
uses
sensors
23
sensors
Component Structure
SafeHome
Executive
Function
selection
External
Communication
Management
Security
GUI
Surveillance
Internet
Interface
Control
panel
processing
24
detector
management
alarm
processing
Home
management
Refined Component
Structure
SafeHome
Executive
External
Communication
Management
Security
GUI
Internet
Interface
Cont rol
det ect or
management
panel
processing
Key pad
processing
scheduler
CP display
funct ions
25
alarm
processing
phone
communicat ion
alarm
sensor
sensor
sensor
sensor
sensor
sensor
sensor
sensor
sensor
Architectural Design
A software architecture provides a uniform, high-level
the
26
Architectural Design
A number of different architectural styles are
27