1 Architectural Styles SAIP 5. 2 Styles are Patterns Bigger than design patterns More abstract than reference models –domain independent –not a particular.

Slides:



Advertisements
Similar presentations
Chapter 13 Review Questions
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Framework is l Reusable Code, often domain specific (GUI, Net, Web, etc) l expressed as l a set of classes and l the way objects in those classes collaborate.
System Modelling System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers. Different.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Design Creative Process of transferring the problem into a solution
Designing the system Conceptual design and technical design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008.
SWE Introduction to Software Engineering
Establishing the overall structure of a software system
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
1 CS115 Class 7: Architecture Due today –Requirements –Read Architecture paper pages 1-15 Next Tuesday –Read Practical UML.
Course Instructor: Aisha Azeem
Software Architecture – Pipe and Filter Model
SS ZG653Second Semester, Topic Architectural Patterns Pipe and Filter.
1 Architectural Patterns Yasser Ganji Saffar
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
System Analysis & Design
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
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.
CHAPTER ONE Problem Solving and the Object- Oriented Paradigm.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
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.
Architecture styles Pipes and filters Object-oriented design Implicit invocation Layering Repositories.
Architecture GRASP Realization of use cases in interaction diagrams Design class diagram Design ( how )
1 Another group of Patterns Architectural Patterns.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Styles.
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 Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Architectural Design Identifying system components and their interfaces.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
Krista Lozada iAcademy First Term 2009
CMSC 345 Fall 2000 Design. What is Design? Verb: The creative process of transforming the problem into the solution Noun: The description of the solution.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
John D. McGregor Class 4 – Initial decomposition
Dale Roberts Object Oriented Programming using Java - Introduction Dale Roberts, Lecturer Computer Science, IUPUI Department.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
©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.
Arch-1 9.Architecture. Arch-2 What’s Architecture? Description of sub-system –Components/sub-systems –Their interaction Framework for communication.
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering-
Comparing Designs By Chris McCall. Comparing Designs A decision-making method for deciding between many designs for a single specification Provides a.
Lecture VIII: Software Architecture
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Architecture Brief Pepper
IS301 – Software Engineering Dept of Computer Information Systems
SOFTWARE DESIGN AND ARCHITECTURE
Software Design and Architecture
Part 3 Design What does design mean in different fields?
Object-Orientated Programming
Software Architecture
Architectural Design.
Presentation transcript:

1 Architectural Styles SAIP 5

2 Styles are Patterns Bigger than design patterns More abstract than reference models –domain independent –not a particular design –rules for design

3 Styles are Patterns Similar –need examples to understand –must use before you understand fully –advantages and disadvantages –every use is different –many variations

4 Styles are patterns Different –so big, and with so many variations, that it is better to think of them as a set of patterns Pattern Oriented Software Architecture –so big that you could write a book on each one –so big that people tend to know just a few

5 Three Styles in One System Layers Dataflow (Pipes and Filters) Object-Oriented

6 The System Framework for music improvisation –Bill Walker Two applications –Jazz piano duets –Extreme modern electronic improvisation dissertation/Dissertation.html

7 The Layers Hardware Control Music transformation Music Representation

8 Dataflow architectural style Components are filters Filters transform input to output Filters don’t –share state –know identity of input or output Example: Streams

9 Advantages of dataflow Easy to understand Easy to change Easty to maintain Components are reusable Handle parallelism well

10 Disadvantages of dataflow Not good for interactive processing Doesn’t handle separate but related streams very well. Doesn’t model state very well.

11 Music Improvisor Chord Builder Keyboard Chord Finder Sequence Finder Transformer MIDIchords sequences chords MIDI out

12 Dataflow Pull –getNext() –multiple inputs easy, multiple outputs hard Push –putNext(data) –multiple outputs easy, multiple inputs hard Pipes and filters –filter is a process –less efficient

13 Data Representation ChordSequenceNoteMidi Event *** MusicalObject

14 Dataflow Stream Chord Builder Keyboard Chord FinderSequence Finder Retrograde

15 Use of OO Techniques Polymorphism makes it easy to make new combination of components At runtime! Inheritance makes it easier to make new component

16 Summary: 3 styles Layers divides system into three parts Dataflow organizes one layer OOP is used to describe data (bottom layer), provide reusable components for dataflow system (middle layer) and to implement the control system (top layer).

17 Criticism SAIP claims that you decide the qualities that you want and then pick a style –but many styles for each quality –but many other considerations in picking style which ones you know compatibility with other architectural choices –styles are more complicated than they indicate

18 Summary Architectural styles are very important More complex than indicated by book It takes a long time to learn a new style, but it is worth it We need better descriptions of the styles!