 Design goals are derived form the non- functional requirements  Every subsystem is assigned to a team and realized independently  During system design,

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Chapter 13 Review Questions
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Software Architecture Design Instructor: Dr. Jerry Gao.
System Design: Decomposing the System
Lecture 23: Software Architectures
SWE Introduction to Software Engineering
Oct. 9, 2003CS WPI1 CS 509 Design of Software Systems Lecture #6 Thursday, Oct. 9, 2003.
Establishing the overall structure of a software system
Ch 6: Sys. Architecture Design: System Decomposition
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.,
Three Vignettes in mixed style
Feb. 20, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #11 Tuesday, Feb. 20, 2001.
System Design Decomposing the System. Sequence diagram changes UML 2.x specifications tells that Sequence diagrams now support if-conditions, loops and.
System Design & Software Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
The Design Discipline.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Network Architecture Dr. Sanjay P. Ahuja, Ph.D FIS Distinguished Professor of Computer Science School of Computing, UNF.
©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.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
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.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Styles.
1 Software Design Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13, 5 th edition and Ch. 10, 6 th edition.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
1 Software Design Overview Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13.
©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.
Software Engineering CSC 342/Dr. Ghazy Assassa Chapter 10, Architectural Design “Sommerville +.. “ Slide 1 CSC 342 Semester II: H ( G)
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
Enterprise Integration Patterns CS3300 Fall 2015.
1 CMPT 275 High Level Design Phase Modularization.
©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.
Lecture 18: Object-Oriented Design
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
Feb. 9, 2004CS WPI1 CS 509 Design of Software Systems Lecture #4 Monday, Feb. 9, 2004.
Layered Systems Rahul Nabar CS 551 Fall ’02. Layered or Hierarchical Designs A layered system is organized hierarchically, each layer providing service.
Lecture VIII: Software Architecture
Chapter : 9 Architectural Design
CS223: Software Engineering Lecture 14: Architectural Patterns.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
CS 325: Software Engineering
Review for Final, Fall 2010 Close book, Close notes
IS301 – Software Engineering Dept of Computer Information Systems
Software Engineering Architectural Design Chapter 6 Dr.Doaa Sami
Software Design and Architecture
Part 3 Design What does design mean in different fields?
System Design ECE 417/617: Elements of Software Engineering
CS 425/625 Software Engineering Architectural Design
Princess Nourah bint Abdulrahman University
Software Architecture
Architectural Design.
Software models - Software Architecture Design Patterns
Software Design Lecture : 8
ICS 52: Introduction to Software Engineering
System Design ECE 417/617: Elements of Software Engineering
Software Design Lecture : 6
Design.
CMPE/SE 131 Software Engineering March 7 Class Meeting
Presentation transcript:

 Design goals are derived form the non- functional requirements  Every subsystem is assigned to a team and realized independently  During system design, we define subsystems in terms of the services they provide

 Service: set of related operations  Later in the object design, we define subsystem interfaces in terms of operation they provide  Coupling: dependences between subsystems  Cohesion: dependencies between classes

 Two techniques for relating subsystems together:  Layering: subsystems hierarchy  Partioning: organizes the subsystems as peers

 Example: Friend system: we have: DispatureInterface subsystem FieldOfficerInterface IncidentManagement ResourceManagement MapManagement NotificationManagement

Services and subsystem interfaces  Subsystem is characterized by services it provides to other susbsystems  Service: set of operations that share common purpose:  Notification services has operations: Send notification Look up channels Subscribe and unsubscribe a channel

 Subsystem interface: set of operations available to other subsystems  Subsystem interface has: Operation names Parameters and types Their return values

 Object design focus more on API, which refines and extends subsystem interfaces  When writing subsystem interfaces, stive to minimize the amount of information provided about implementation  This lowers coupling

Coupling  Refer to the number of dependencies between subsystems  This has to be low so as to be independent  Refer to FRIEND Example!

Coupling is not the end!  Sometimes it produces more complexity  Consumes time and effort

Cohesion  Number of dependencies within subsystem  High cohesion: the objects are related to each other and perform similar tasks  Refer to book example

7+- 2 rule  If a subsystem offers more than 9 services then something is wrong  More than 7+- layer is not good

Layers and partitions  Layer: grouping of subsystems providing related services  Usually layers can only depend on layers at lower level  Has no knowledge of above layers

 Closed architecture: layers can access layers below it  Example OSI  Open architecture: layers can also access layers at deeper levels

Architectural styles  Software architecture includes: System decomposition Global control flow Handling of boundaryconditions Intersubsystem communication protocoles

Repository  Subsystems must exchange data so that they can work together  We have two ways for doing so: 1- All shared data is held in central database * all subsystems access it * this is called Repository model

2- each subsystem maintains its own database  Majority of systems with large amount of data use repository model

Repository 2  Subsystems access and modify a single data structure called repository  Here subsystems are independents  Interact only through repository  Repository has no knowledge of subsystems

Repository 3  They are well suited for applications with Constantly changing data Complex data processing tasks

Where it is Used?  Mainly used in DBMS  Such as banks and payroll, MIS, CAD  Coz easy to manage integrity and concurrency between subsystems  Repository can sometimes invoke subsystems when the data state change  BLACKBOARD systems

Repository disadvantages  Single repository can be bottleneck  Coupling between subsystem and the repository is high  Evolution is difficult  Distributing repository over number of machines is difficult