Title: Chapter 11: Architectural Design
1Chapter 11 Architectural Design
- Yonsei University
- 2nd Semester, 2009
- Sanghyun Park
2Topics Covered
- System structuring
- Modular decomposition
- Control models
- Reference architectures
3Software Architecture
- Architectural design is the design process for
identifying the __________ making up a system and
the framework for sub-system _______ and
communication - The output of this design process is a
description of the software __________
4Architectural Design
- An ______ stage of the system design process
- Represents the ____ between requirement
specification and design processes - In many cases, carried out in ______ with some
specification activities - Involves identifying major system components and
their communications
5Architectural Design Process
- System structuring
- The system is decomposed into several
principal___________ and communications between
thesesub-systems are identified - Modular decomposition
- The identified sub-systems are decomposed into
________ - Control modeling
- A model of the ________ relationships between the
different parts of the system is established
6Sub-Systems And Modules
- A sub-system is a system in its own right whose
operation is __________ of the services provided
by other sub-systems - A module is a system component that provides
_______ to other components but would not
normally be considered as an independent system
7Architectural Styles (1/3)
- The system architecture affects the performance,
robustness, and maintainability of a system - Therefore the particular style and structure
chosen for an application may depend on the
____________ requirements
8Architectural Styles (2/3)
- Performance
- _______ critical operations and ________
communications - Use ______ rather than fine-grain components
- Security
- Use a _______ architecture with critical assets
in the inner layers
9Architectural Styles (3/3)
- Safety
- _______ safety-critical operations in a small
number of sub-systems - Availability
- Include _________ components for fault tolerance
- Maintainability
- Use ____-grain, self-contained components
10Architectural Conflicts
- Using large-grain components improves ___________
but reduces _____________ - Introducing redundant data improves ________ but
makes _______ more difficult - Localizing safety-related features usually means
more ___________ so degraded ___________
11System Structuring(System Organization)
- Concerned with decomposing the system into
interacting sub-systems - The architectural design is normally expressed as
a ______ diagram presenting an overview of the
system structure (Figure 11.1) - More specific models of the structure may be
developed which show how systems share data, how
they are distributed, and how they interface with
each other
12Repository Model
- Sub-systems must exchange data this may be done
in two ways - Shared data is held in a central database or
_________ and may be accessed by all sub-systems - Each sub-system maintains its ____ database and
passes data explicitly to other sub-systems - When large amounts of data are to be shared,the
_________ model of sharing is most commonly used
13CASE Toolset Architecture
14Repository Model Characteristics (1/2)
- Advantages
- Efficient way to share large amount of data
- Sub-systems which produce data need not be
concerned with how that data is used by other
sub-systems - Activities such as backup, security, access
control and recovery from error are _________ - Sharing model is published as the repository
_______
15Repository Model Characteristics (2/2)
- Disadvantages
- Sub-systems must agree on a repository data model
- Data ________ is difficult and expensive
- No scope for specific management policies
- Difficult to _______ the repository over a number
of machines
16Client-Server Model
- Distributed system model which shows how data and
processing are distributed across a range of
components - Set of stand-alone ______ which provide specific
services such as printing, data management, etc. - Set of ______ which call on these services
- Network which allows clients to access servers
17Film And Picture Library
18Client-Server Characteristics
- Advantages
- Distribution of data is straightforward
- Makes effective use of _________ systems.May
require _______ hardware - Easy to add new servers or upgrade existing
servers - Disadvantages
- No shared data model so sub-systems use different
data organization. Data __________ may be
inefficient - __________ management in each server
- No central _______ of names and services it may
be hard to find out what servers and services are
available
19Abstract Machine (Layered) Model
- Used to model the interfacing of sub-systems
- Organizes the system into a set of _____ each of
which provides a set of services - Each layer defines an _______ machine whose
machine language is used to implement the next
level of abstract machine - When a layer interface changes, only the ______
layer is affected - Often difficult to structure systems in this way
20Version Management System
21Modular Decomposition
- Another structural level where sub-systems are
decomposed into ________ - Two modular decomposition models covered
- An _____ model where the system is decomposed
into interacting objects - A function-oriented pipeline or ____-flow model
where the system is decomposed into functional
modules which ________ inputs to outputs
22Object Models
- Structure the system into a set of loosely
coupled _______ with well-defined interfaces - Object-oriented decomposition is concerned with
identifying object ______, their attributes, and
operations - When implemented, objects are created from these
classes and some control model used to coordinate
object operations
23Invoice Processing System
24Object Model Advantages
- Objects are loosely coupledso their
implementation can be modified without affecting
other objects - The objects may reflect ____-world entities
- OO implementation languages are widely used
- However, object ________ changes may cause
problems and ______ entities may be hard to
represent as objects
25Function-Oriented Pipelining(Data-Flow Models)
- Functional transformations process their inputs
to produce outputs - Variants of this approach are very common.When
transformations are sequential with data
processed in batches, this is a _____ sequential
model - Not really suitable for _________ systems
26Invoice Processing Systems
27Data-Flow Model Advantages
- Supports transformation ______
- Intuitive organization for stakeholder
communication - Easy to add new transformation
- Relatively simple to implementas either a
concurrent or sequential system - However, requires a _______ format for data
transfer along the pipeline and difficult to
support ______-based interaction
28Control Models
- Concerned with the control flow
betweensub-systems - Two general approaches can be identified
- Centralized approachOne sub-system has ______
responsibility for control, and starts and stops
other sub-systems - Event-based approachEach sub-system can respond
to events from other sub-systems or the systems
environment
29Centralized Model
- A control sub-system takes responsibility for
managing the execution of other sub-systems - Call-return model
- Top-down _________ model where control starts at
the top of a subroutine hierarchy and moves
downwards - Only applicable to _________ systems
- Manager model
- One system component is designated as a system
manager and controls the starting, stopping, and
coordination of other system processes - Applicable to both sequential and _________
systems
30Call-Return Model
31Manager Model
32Event-Based Control
- Driven by externally generated events where the
_____ of the event is _______ the control of the
sub-systems which process the event - Two principal event-driven models
- Broadcast model
- Interrupt-driven model
33Broadcast Model
- An event is broadcast to all sub-systems. Any
sub-system which can handle the event may do so - Effective in __________ sub-systems on different
computers in a network - Sub-systems ______ an interest in specific
events. When these occur, control is transferred
to the sub-system which can handle the event - Control policy is not embedded in the event and
message handler. Sub-systems decide on events of
interest to them
34Selective Broadcasting
35Interrupt-Driven Model (1/2)
- Used in ________ systems where interrupts are
detected by an interrupt handler and passed to
some other component for processing - There are known interrupt types with a handler
defined for each type - Each type is associated with a memory _______ and
a hardware switch causes transfer to its handler - Allows fast response but ________ to program and
difficult to _______
36Interrupt Driven Model (2/2)
37Reference Architectures
- Architectural models may be specific to some
application _______ - Two types of domain-specific model
- Generic models which are abstractions from a
number of _____ systems and which encapsulate the
principal characteristics of these systems - Reference models which are more abstract,
idealized model. Mainly used to communicate
domain ________ and compare different
architectures - Generic models are usually _________
modelsReference models are ________ models
38Generic Models
- Compiler model is a well-known example although
other models exist in more specialized
application domains - Lexical analyzer
- Symbol table
- Syntax analyzer
- Syntax tree
- Semantic analyzer
- Code generator
- Generic models may be reused directly in a design
39Reference Models
- Reference models are derived from a _____ ofthe
application domain rather than from existing
systems - May be used as a basis for system implementation
or to compare different systems - Act as a standard against which systems can be
evaluated - OSI model is a layered model for communication
systems
40OSI Reference Model
7
Application
Application
Presentation
6
Presentation
Session
5
Session
Transport
4
Transport
Network
3
Network
Network
Data link
2
Data link
Data link
Physical
1
Physical
Physical
Communications medium