Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed.,

Similar presentations


Presentation on theme: "1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed.,"— Presentation transcript:

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

2 2 / 26 Outline n n Introduction n n System Organization n n Modular Decomposition n n Control Styles n n Reference Architectures

3 3 / 26 Introduction…. n n 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 n n Software architecture = the output of the high-level design process n n Defining and documenting the software architecture provides support for: u u Stakeholder communication u u System analysis u u Large-scale software reuse

4 4 / 26.Introduction… n n The overall system architecture influences the system’s: u u Performance u u Security u u Safety u u Availability u u Maintainability

5 5 / 26..Introduction.. n n Distinction between subsystem and module: u u 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 u u Module = non-independent system component that provides services to other modules; usually makes use of other modules’ services and contains simpler components

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

7 7 / 26 ….Introduction n n Types of architectural design models: u u Static structural models u u Dynamic process models u u Interface models u u Relationship models u u Distribution models

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

9 9 / 26.System Organization…. n n The repository model shows a system’s architecture centered around a shared database n n 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 n n 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 10 / 26..System Organization… n n Example of a structural model depicted using a block diagram: a packing robot system [Fig. 11.1, SE-8]

11 11 / 26 …System Organization.. n n Example of repository model for system architecture: a CASE toolset [Fig. 11.2, SE-8]

12 12 / 26 ….System Organization. n n Example of client-sever architecture: a movie and picture library [Fig. 11.3, SE-8]

13 13 / 26 …..System Organization n n An abstract machine model: a version management system [Fig. 11.4, SE-8]

14 14 / 26 Modular Decomposition.. n n Modular decomposition means dividing each subsystem in modules and identifying interconnections between modules n n 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) n n Styles that may be used for decomposition: u u Object-oriented decomposition: a subsystem consists of several communicating objects u u Function-oriented pipelining: functional modules are identified, together with data transfer paths

15 15 / 26.Modular Decomposition. n n Partial object model of an invoicing system [Fig. 11.5, SE-8]

16 16 / 26..Modular Decomposition n n DFD of an invoicing system [Fig. 11.6, SE-8]

17 17 / 26 Control Styles….. n n Control models emphasize control flow among subsystems n n Two general approaches: u u 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 18 / 26..Control Styles…. n n Two general approaches (continued): u u 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 19 / 26..Control Styles... n n The call-return control model [Fig. 11.7, SE-7]

20 20 / 26 …Control Styles.. n n Example of a centralized control model: an RTS [Fig. 11.8, SE-7]

21 21 / 26 ….Control Styles. n n Control model with selective broadcasting [Fig. 11.9, SE-7]

22 22 / 26 …..Control Styles n n Example of interrupt-driven control model [Fig. 11.10, SE-7]

23 23 / 26 Reference Architectures… n n 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 n n Note that, generally, in architectural design various design models can (and usually need) be applied in combination

24 24 / 26....Reference Architectures.. n n Main categories: u u Generic models: models extracted from real systems that provide a common architectural framework for new applications within the domain (e.g., compiler design) u u 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 25 / 26..Reference Architectures. n n Generic repository model of a language processing system [Fig. 13.13, SE-7]

26 26 / 26 …Reference Architectures n n Example of reference architecture: the OSI model [Fig. 11.11, SE-7]


Download ppt "1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed.,"

Similar presentations


Ads by Google