Chapter 11: Architectural Design - PowerPoint PPT Presentation

1 / 40
About This Presentation
Title:

Chapter 11: Architectural Design

Description:

Object Model Advantages. Objects are loosely coupled; ... OSI model is a layered model for communication systems. OSI Reference Model. Presentation ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 41
Provided by: embioYo
Category:

less

Transcript and Presenter's Notes

Title: Chapter 11: Architectural Design


1
Chapter 11 Architectural Design
  • Yonsei University
  • 2nd Semester, 2009
  • Sanghyun Park

2
Topics Covered
  • System structuring
  • Modular decomposition
  • Control models
  • Reference architectures

3
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 __________

4
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

5
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

6
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

7
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
    ____________ requirements

8
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

9
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

10
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 ___________

11
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 (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

12
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

13
CASE Toolset Architecture
14
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 published as the repository
    _______

15
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

16
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

17
Film And Picture Library
18
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

19
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

20
Version Management System
21
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

22
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 used to coordinate
    object operations

23
Invoice Processing System
24
Object 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

25
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

26
Invoice Processing Systems
27
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

28
Control 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

29
Centralized 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

30
Call-Return Model
31
Manager Model
32
Event-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

33
Broadcast 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

34
Selective Broadcasting
35
Interrupt-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 _______

36
Interrupt Driven Model (2/2)
37
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 _________
    modelsReference models are ________ models

38
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

39
Reference 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

40
OSI 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
Write a Comment
User Comments (0)
About PowerShow.com