Chapter 1 Introduction Yonsei University 1 st Semester, 2015 Sanghyun Park.
Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park.
-
Upload
brook-freeman -
Category
Documents
-
view
215 -
download
0
Transcript of Architectural Design Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Architectural Design
Yonsei University2nd Semester, 2015
Sanghyun Park
Topics Covered System structuring Modular decomposition Control models Reference architectures
Software 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 __________
sub-systemscontrol
architecture
Architectural 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
early
link
parallel
Architectural 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
sub-systems
modules
control
Sub-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
independent
services
Architectural 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 ____________ requirementsnon-functional
Architectural 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
Localize minimize
large
layered
Architectural 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
Localize
redundant
fine
Architectural 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 ___________
performance maintainability
availabilitysecurity
communication performance
System 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
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
block
Repository 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
repository
repository
own
CASE Toolset Architecture
Repository 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 visible through the repository ______
centralizedschema
Repository 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
evolution
distribute
Client-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
servers
clients
Film And Picture Library
Client-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
networkedcheaper
interchange
Redundantregister
Abstract 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
layers
abstract
adjacent
Version Management System
Configuration management system layer
Database system layer
Operating system layer
Object management system layer
Modular 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
modules
object
data
transform
Object 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 is usedto coordinate object operations
objects
classes
Invoice Processing System
Object Model Advantages Objects are loosely coupled;
so 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
real
interfacecomplex
Function-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
batch
interactive
Invoice Processing Systems
Data-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
reuse
common
event
Control Models Concerned with the control flow between
sub-systems
Two general approaches can be identified Centralized approach
One 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 system’s environment
overall
Reference 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 _________ models;Reference models are _________ models
domain
bottom-uptop-down
real
concepts
Generic 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
Reference Models Reference models are derived from a _____ of
the 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
study
OSI Reference Model
Presentation
Session
Transport
Network
Data link
Physical
7
6
5
4
3
2
1
Communications medium
Network
Data link
Physical
Application
Presentation
Session
Transport
Network
Data link
Physical
Application