©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.

Slides:



Advertisements
Similar presentations
Chapter 10 Architectural Design.
Advertisements

IS301 – Software Engineering Dept of Computer Information Systems
Chapter 10 Architectural Design.
©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.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 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.,
Architectural Design, Distributed Systems Architectures
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©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.
Software Engineering Architectural Design
Software Architecture
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 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
©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
Topic 7Summer ICS 52: Introduction to Software Engineering Lecture Notes for Summer Quarter, 2003 Michele Rousseau Topic 7 Partially based on lecture.
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.
Software Engineering 1 N.L. Hsueh, SE-Lab IECS FCU Software Architecture N.L. Hsueh.
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.
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.
©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.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
©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.
Dr Izzat M Alsmadi Edited from ©Ian Sommerville & others Software Engineering, chapter 5 Slide 1 Architectural Design (Chapter 11 from the textbook)
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.
Software architecture
IS301 – Software Engineering Dept of Computer Information Systems
Part 3 Design What does design mean in different fields?
Princess Nourah bint Abdulrahman University
Software Architecture
Architectural Design.
Presentation transcript:

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 2 Modular decomposition styles l Styles of decomposing sub-systems into modules. l No rigid distinction between system organisation and modular decomposition.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 3 Sub-systems and modules l A sub-system is a system in its own right whose operation is independent of the services provided by other sub-systems. l A module is a system component that provides services to other components but would not normally be considered as a separate system.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 4 Modular decomposition l Another structural level where sub-systems are decomposed into modules. l Two modular decomposition models covered An object model where the system is decomposed into interacting object; A pipeline or data-flow model where the system is decomposed into functional modules which transform inputs to outputs. l If possible, decisions about concurrency should be delayed until modules are implemented.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 5 Object models l Structure the system into a set of loosely coupled objects with well-defined interfaces. l Object-oriented decomposition is concerned with identifying object classes, their attributes and operations. l When implemented, objects are created from these classes and some control model used to coordinate object operations.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 6 Invoice processing system

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 7 Object model advantages l Objects are loosely coupled so their implementation can be modified without affecting other objects. l The objects may reflect real-world entities. l OO implementation languages are widely used. l However, object interface changes may cause problems and complex entities may be hard to represent as objects.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 8 Function-oriented pipelining l Functional transformations process their inputs to produce outputs. l May be referred to as a pipe and filter model (as in UNIX shell). l Variants of this approach are very common. When transformations are sequential, this is a batch sequential model which is extensively used in data processing systems. l Not really suitable for interactive systems.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 9 Invoice processing system

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 10 Pipeline model advantages l Supports transformation reuse. l Intuitive organisation for stakeholder communication. l Easy to add new transformations. l Relatively simple to implement as either a concurrent or sequential system. l However, requires a common format for data transfer along the pipeline and difficult to support event-based interaction.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 11 Control styles l Are concerned with the control flow between sub-systems. Distinct from the system decomposition model. l Centralised control One sub-system has overall responsibility for control and starts and stops other sub-systems. l Event-based control Each sub-system can respond to externally generated events from other sub-systems or the system’s environment.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 12 Centralised control l A control sub-system takes responsibility for managing the execution of other sub-systems. l Call-return model Top-down subroutine model where control starts at the top of a subroutine hierarchy and moves downwards. Applicable to sequential systems. l Manager model Applicable to concurrent systems. One system component controls the stopping, starting and coordination of other system processes. Can be implemented in sequential systems as a case statement.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 13 Call-return model

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 14 Real-time system control

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 15 Event-driven systems l Driven by externally generated events where the timing of the event is outwith the control of the sub- systems which process the event. l Two principal event-driven models Broadcast models. An event is broadcast to all sub- systems. Any sub-system which can handle the event may do so; Interrupt-driven models. Used in real-time systems where interrupts are detected by an interrupt handler and passed to some other component for processing. l Other event driven models include spreadsheets and production systems.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 16 Broadcast model l Effective in integrating sub-systems on different computers in a network. l Sub-systems register an interest in specific events. When these occur, control is transferred to the sub-system which can handle the event. l Control policy is not embedded in the event and message handler. Sub-systems decide on events of interest to them. l However, sub-systems don’t know if or when an event will be handled.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 17 Selective broadcasting

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 18 Interrupt-driven systems l Used in real-time systems where fast response to an event is essential. l There are known interrupt types with a handler defined for each type. l Each type is associated with a memory location and a hardware switch causes transfer to its handler. l Allows fast response but complex to program and difficult to validate.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 19 Interrupt-driven control

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 20 Reference architectures l Architectural models may be specific to some application domain. l Two types of domain-specific model Generic models which are abstractions from a number of real systems and which encapsulate the principal characteristics of these systems. Covered in Chapter 13. Reference models which are more abstract, idealised model. Provide a means of information about that class of system and of comparing different architectures. l Generic models are usually bottom-up models; Reference models are top-down models.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 21 Reference architectures l Reference models are derived from a study of the application domain rather than from existing systems. l May be used as a basis for system implementation or to compare different systems. It acts as a standard against which systems can be evaluated. l OSI model is a layered model for communication systems.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 22 OSI reference model

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 23 Case reference model l Data repository services Storage and management of data items. l Data integration services Managing groups of entities. l Task management services Definition and enaction of process models. l Messaging services Tool-tool and tool-environment communication. l User interface services User interface development.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 24 The ECMA reference model

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 25 Key points l Modular decomposition models include object models and pipelining models. l Control models include centralised control and event-driven models. l Reference architectures may be used to communicate domain-specific architectures and to assess and compare architectural designs.