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

Slides:



Advertisements
Similar presentations
Chapter 10 Architectural Design.
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Software Architecture Design Instructor: Dr. Jerry Gao.
CS 425/625 Software Engineering System Models
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
SWE Introduction to Software Engineering
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Establishing the overall structure of a software system
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.,
SWE Introduction to Software Engineering
Architectural Design, Distributed Systems Architectures
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 6: Architectural Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Software Engineering Architectural Design
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 11 Architectural Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
CS451 Lecture 13: Architectural Design Chapter 10
Chapter 11 Architectural Design.
Chap 8. Architectural Design
Architectural Design. Recap Introduction to design Design models Characteristics of good design Design Concepts.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
Programming Or Software Engineering?
Architectural Design, Distributed Systems Architectures
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
Architectural Design To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and distributed.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
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.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Software Architecture and Patterns
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design 10/24/2015ICS 413 – Software Engineering1.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Architectural Design Identifying system components and their interfaces.
Chapter 6 Architectural Design.
Software Engineering CSC 342/Dr. Ghazy Assassa Chapter 10, Architectural Design “Sommerville +.. “ Slide 1 CSC 342 Semester II: H ( G)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
CS.436 Software Engineering By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 8 Architectural Design Slide 1 1 Chapter 8 Architectural Design.
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 7: Architectural Design Chapter 11 in textbook 1.
CSC480 Software Engineering Lecture 10 September 25, 2002.
©Ian Sommerville, Robin Abraham 2004CS 361, Summer 2004 Slide 1 Architectural Design.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #9.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
BZUPAGES.COMSoftware Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Dr D. Greer, Queens University Belfast ) Software Engineering Chapter 7 Software Architectural Design Learning Outcomes Understand.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
IS301 – Software Engineering Dept of Computer Information Systems
Part 3 Design What does design mean in different fields?
CS 425/625 Software Engineering Architectural Design
Princess Nourah bint Abdulrahman University
Architectural Design.
Presentation transcript:

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: October 08, 2003

2 / 26 Outline n n Introduction n n System Structuring n n Control Modeling n n Modular Decomposition n n Domain-specific Architectures

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 / 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 / 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 / 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 / 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 / 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 / 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 / 26..System Structuring… n n Example of a structural model depicted using a block diagram: a packing robot system [Fig. 10.1, Somm00]

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

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

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

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 / 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 / 26..Control Modeling... n n The call-return control model [Fig. 10.5, Somm00]

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

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

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

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 / 26.Modular Decomposition. n n Partial object model of an invoicing system [Fig. 10.9, Somm00]

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

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

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