CS 425/625 Software Engineering Architectural Design - PowerPoint PPT Presentation

About This Presentation
Title:

CS 425/625 Software Engineering Architectural Design

Description:

Software architecture = the output of the high-level design process ... models that communicate commonly used domain and design concepts; derived ... – PowerPoint PPT presentation

Number of Views:185
Avg rating:3.0/5.0
Slides: 27
Provided by: sergium
Learn more at: https://www.cse.unr.edu
Category:

less

Transcript and Presenter's Notes

Title: CS 425/625 Software Engineering Architectural Design


1
CS 425/625 Software Engineering Architectural
Design
  • Based on Chapter 11 of the textbook SE-8 Ian
    Sommerville,
  • Software Engineering, 8th Ed., Addison-Wesley,
    2006 and on the
  • Ch11 PowerPoint presentation available at the
    books web-site
  • www.comp.lancs.ac.uk/computing/resources/IanS/SE6/
    Slides/index.html
  • October 15, 2008

2
Outline
  • Introduction
  • System Organization
  • Modular Decomposition
  • Control Styles
  • Reference Architectures

3
Introduction.
  • Architectural (high-level) design the process
    of establishing the subsystems of a larger
    software system and defining a framework for
    subsystem control and data communication
  • Software architecture the output of the
    high-level design process
  • Defining and documenting the software
    architecture provides support for
  • Stakeholder communication
  • System analysis
  • Large-scale software reuse

4
.Introduction
  • The overall system architecture influences the
    systems
  • Performance
  • Security
  • Safety
  • Availability
  • Maintainability

5
..Introduction..
  • Distinction between subsystem and module
  • Subsystem larger part of the system with
    quasi-independent operation depends little on
    other subsystems services, contains other
    subsystems and modules as well as interfaces for
    communicating with other subsystems
  • Module non-independent system component that
    provides services to other modules usually makes
    use of other modules services and contains
    simpler components

6
Introduction.
  • Common high-level design activities
  • System structuring (system organization)
    identification of sub-systems and their
    communication paths
  • Modular decomposition identification of modules
    and module interconnection within each subsystem
  • Control modeling determination of control
    connections between subsystems (modules)

7
.Introduction
  • Types of architectural design models
  • Static structural models
  • Dynamic process models
  • Interface models
  • Relationship models
  • Distribution models

8
System Organization..
  • System organization (system structuring) is
    focused on identifying subsystems and their
    communication links
  • Communications between subsystems involve both
    data and control
  • Block diagrams can be used for describing the
    systems structure
  • The systems architecture can be shown using more
    specific structural models, e.g.
  • Repository model
  • Client-server model
  • Layered model

9
.System Organization.
  • The repository model shows a systems
    architecture centered around a shared database
  • The client-server model is a distributed, network
    model that describes how operations and data are
    distributed across several processing units. Some
    of these units are servers, other are clients
  • The layered model (the abstract machine model)
    depicts the system as a series of layers, each
    layer representing an abstract machine and having
    assigned a subsystem

10
..System Organization
  • Example of a structural model depicted using a
    block diagram a packing robot system Fig. 11.1,
    SE-8

11
System Organization..
  • Example of repository model for system
    architecture a CASE toolset Fig. 11.2, SE-8

12
.System Organization.
  • Example of client-sever architecture a movie and
    picture library Fig. 11.3, SE-8

13
..System Organization
  • An abstract machine model a version management
    system Fig. 11.4, SE-8

14
Modular Decomposition..
  • Modular decomposition means dividing each
    subsystem in modules and identifying
    interconnections between modules
  • Models described previously can be applied here
    as well (a subsystem is, in fact, a system, and
    the distinction between a subsystem and a module
    is relative)
  • Styles that may be used for decomposition
  • Object-oriented decomposition a subsystem
    consists of several communicating objects
  • Function-oriented pipelining functional modules
    are identified, together with data transfer paths

15
.Modular Decomposition.
  • Partial object model of an invoicing system Fig.
    11.5, SE-8

16
..Modular Decomposition
  • DFD of an invoicing system Fig. 11.6, SE-8

17
Control Styles..
  • Control models emphasize control flow among
    subsystems
  • Two general approaches
  • Centralized control a single subsystem (central
    controller) has the control responsibility of the
    entire system it may defer control to other
    subsystems but the control must be returned to
    the central controller
  • Call-return model (top-down subroutine model)
  • Manager model (applies to concurrent systems, in
    which several processes run in parallel)

18
.Control Styles.
  • Two general approaches (continued)
  • Event-based control each subsystem has control
    responsibilities they respond to events
    generated by the environment and/or other
    subsystems
  • Broadcast models an event is dispatched to all
    subsystems
  • Interrupt-driven models make use of interrupt
    handlers typical to RTS

19
..Control Styles...
  • The call-return control model Fig. 11.7, SE-7

20
Control Styles..
  • Example of a centralized control model an RTS
  • Fig. 11.8, SE-7

21
.Control Styles.
  • Control model with selective broadcasting Fig.
    11.9, SE-7

22
..Control Styles
  • Example of interrupt-driven control model Fig.
    11.10, SE-7

23
Reference Architectures
  • A domain-specific architecture is characteristic
    to a particular application domain it proposes a
    common architectural structure that can be used
    across applications within that particular domain
  • Note that, generally, in architectural design
    various design models can (and usually need) be
    applied in combination

24
.Reference Architectures..
  • Main categories
  • Generic models models extracted from real
    systems that provide a common architectural
    framework for new applications within the domain
    (e.g., compiler design)
  • Reference models more abstract models that
    communicate commonly used domain and design
    concepts derived from studying the application
    domain (e.g., the Open Systems Interconnection
    OSI reference model)

25
..Reference Architectures.
  • Generic repository model of a language processing
    system Fig. 13.13, SE-7

26
Reference Architectures
  • Example of reference architecture the OSI model
    Fig. 11.11, SE-7
Write a Comment
User Comments (0)
About PowerShow.com