Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,

Similar presentations


Presentation on theme: "1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,"— Presentation transcript:

1 1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley, 2000 and on the Ch10 PowerPoint presentation available at the book’s web-site: www.comp.lancs.ac.uk/computing/resources/IanS/SE6/Slides/index.html October 08, 2003

2 2 / 26 Outline n n Introduction n n System Structuring n n Control Modeling n n Modular Decomposition n n Domain-specific 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 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 Safety u u Security u u Availability u u Distributability 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: identification of sub- systems and their communication paths u u Control modeling: determination of control connections between subsystems u u Modular decomposition: identification of modules and module interconnection within each subsystem

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

8 8 / 26 System Structuring….. n n 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 models u u Abstract machine models

9 9 / 26.System Structuring…. 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 abstract machine model (the layered model) depicts the system as a series of layers, each layer representing an abstract machine and having assigned a subsystem

10 10 / 26..System Structuring… n n Example of a structural model depicted using a block diagram: a packing robot system [Fig. 10.1, Somm00]

11 11 / 26 …System Structuring.. n n Example of repository model for system architecture: a CASE toolset [Fig. 10.2, Somm00]

12 12 / 26 ….System Structuring. n n Example of client-sever architecture: a movie and picture library [Fig. 10.3, Somm00]

13 13 / 26 …..System Structuring n n An abstract machine model: a version management system [Fig. 10.4, Somm00]

14 14 / 26 Control Modeling….. 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)

15 15 / 26..Control Modeling…. 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

16 16 / 26..Control Modeling... n n The call-return control model [Fig. 10.5, Somm00]

17 17 / 26 …Control Modeling.. n n Example of a centralized control model: an RTS [Fig. 10.6, Somm00]

18 18 / 26 ….Control Modeling. n n Control model with selective broadcasting [Fig. 10.7, SE-6]

19 19 / 26 …..Control Modeling n n Example of interrupt-driven control model [Fig. 10.8, Somm00]

20 20 / 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 Models that may be used for decomposition: u u Object-oriented model: a subsystem consists of several communicating objects u u Data-flow model (pipeline model): functional modules are identified, together with data transfer paths

21 21 / 26.Modular Decomposition. n n Partial object model of an invoicing system [Fig. 10.9, Somm00]

22 22 / 26..Modular Decomposition n n DFD of an invoicing system [Fig. 10.10, Somm00]

23 23 / 26 Domain-specific Architectures… Domain-specific 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 software architectural design various design models can (and usually need) be applied in combination

24 24 / 26..Domain-specific 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..Domain-specific Architectures. n n Generic repository model of a language processing system [Fig. 10.12, Somm00]

26 26 / 26 …Domain-specific Architectures n n Example of reference architecture: the OSI model [Fig. 10.13, Somm00]


Download ppt "1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,"

Similar presentations


Ads by Google