Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 6, System Design: Decomposing the System.

Slides:



Advertisements
Similar presentations
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 16, Methodologies: Putting It All Together.
Advertisements

Announcements Quiz #1 grades are entered to STARS
Chapter 6 System Design: Decomposing the System
6.0 SYSTEM DESIGN System Design Process – transforms the analysis model into design model Process: 1) Decomposition (guided by design goals) 2) Hardware/software.
Chapter 6, System Design Lecture 1
M : Model v1 : ViewA c1 : ControllerA v2 : ViewB c2 : ControllerB access An abstract object model propagate.
System Design Chapters 6-7 Object-Oriented Software Engineering:
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Defining access control, example Päivi Ovaska.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Defining persistent data stores, example Päivi Ovaska.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS Design goals and System Decomposition, example Päivi Ovaska.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Design “There are 2 ways of constructing a.
System Design: Decomposing the System
System Design.
Addressing Design Goals
TJSS luennot System Design Lecture 1
Conquering Complex and Changing Systems Object-Oriented Software Engineering System Design:Hardware/ software mapping, example Päivi Ovaska.
Ch 6: Sys. Architecture Design: System Decomposition
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering October 10, 2001 System.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 6 System Design: Decomposing the System.
System Design Decomposing the System. Sequence diagram changes UML 2.x specifications tells that Sequence diagrams now support if-conditions, loops and.
Chapter 6 System Design: Decomposing the System
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 7 System Design: Addressing Design Goals.
System Design & Software Architecture
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Requirements Analysis Document Template 1.Introduction.
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 3, Project Communication.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
April 10, 2014CS410 – Software Engineering Lecture #16: System Design 1Design “There are two ways of constructing a software design: One way is to make.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 7 Addressing Design Goals.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 7 System Design: Addressing Design Goals.
CEN 4010 Sixth Lecture February 21, 2005 Introduction to Software Engineering (CEN-4010) System Design: Decomposing the System Spring 2005 Instructor:
System Design I: System Decomposition
System Design: Decomposing the System
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Design “There are two ways of constructing.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 6 System Design: Decomposing the System.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 6, System Design Lecture 1.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 8, Rationale Management.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 6 System Design: Decomposing the System.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 7 System Design: Addressing Design Goals.
COP 3331 Object-Oriented Analysis and Design 1 Design “There are two ways of constructing a software design: One way is to make it so simple that there.
1 CMPT 275 High Level Design Phase Modularization.
Examples of Software Architecture. 2 CASE Toolset Architecture.
Lecture 18: Object-Oriented Design
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 1, Introduction to Software Engineering.
DESIGN OF SOFTWARE ARCHITECTURE
1 Lecture 3 Major Architectural Models View (Cont’d) Architectural Models/Patterns Architecture Case Study Software Architecture & Design Pattern.
Feb. 9, 2004CS WPI1 CS 509 Design of Software Systems Lecture #4 Monday, Feb. 9, 2004.
COP th Lecture October 31, 2005 COP 4009 Component-Based Software Engineering The Art of Design Fall 2005 Instructor: Masoud Sadjadi
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 6, System Design Lecture 1.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 2 sample solution is posted. Assignment 3 is posted. Due Nov. 6. Today: –Continue Software.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 6, System Design Lecture 1.
Two New UML Diagram Types Component Diagram Deployment Diagram.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 6 System Design: Decomposing the System.
Chapter 6 System Design: Decomposing the system. What is system design  Decompose the system into smaller subsystems  Define the design goals of the.
Chapter 6 System Design: Decomposing the System
Chapter 6 System Design: Decomposing the System
Chapter 6 System Design: Decomposing the System
Part 3 Design What does design mean in different fields?
Chapter 6 System Design: Decomposing the System
System Design ECE 417/617: Elements of Software Engineering
Chapter 6 System Design: Decomposing the System
Advance Software Engineering (CEN-5011)
Software models - Software Architecture Design Patterns
System Design ECE 417/617: Elements of Software Engineering
Major Achitecture Styles
Presentation transcript:

Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 6, System Design: Decomposing the System

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 N Bedroom2 Master Bedroom Dining Hallway Stairs Bath Kitchen Study Bath Kitchen Master Bedroom Dining Hallway Stairs Entrance door Master Bedroom Bedroom2 Dining Hallway Stairs Entrance door Study Bath Kitchen Bedroom2 Entrance door Version 1 Version 2 Version 3 Figure 6-1, Example of iterative floor plan design. Three successive versions show how we minimize walking distance and take advantage of sunlight.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Figure 6-2, The activities of system design. System design Object design object design model design goals subsystem decomposition Analysis analysis object model dynamic model nonfunctional requirements

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 Class parts * System Part * Subsystem Figure 6-3, Subsystem decomposition.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 Figure 6-4, Subsystem decomposition for an accident management system. Notification IncidentManagement FieldOfficerInterfaceDispatcherInterface

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 Figure 6-5, Example of reducing the couple of subsystems. MapManagement IncidentManagement Database ResourceManagement Alternative 1: Direct access to the Database subsystem

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 Figure 6-5, Example of reducing the couple of subsystems (continued) MapManagement IncidentManagement Storage ResourceManagement Database Alternative 2: Indirect access to the Database through a Storage subsystem

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8 Alternative Decision Criterion subtasks * SubTask ActionItem DesignProblem Task assesses solvableBy resolvedBy based-on * ** implementedBy DecisionSubsystem Figure 6-6, Decision tracking system.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9 subtasks * assesses solvableBy resolvedBy based-on * ** implementedBy RationaleSubsystem PlanningSubsystem CriterionAlternative Decision DesignProblem SubTask ActionItem Task Figure 6-7, Alternative subsystem decomposition for the decision tracking system of Figure 6-6

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10 F:Subsystem E:Subsystem G:Subsystem D:SubsystemC:Subsystem B:Subsystem A: Subsystem Layer 1 (Top) Layer 2 Layer 3 (Bottom) Figure 6-8, Subsystem decomposition of a system into three layers.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 Application Presentation Session Transport Network DataLink Physical Frame Packet Bit Connection Format Message Level of abstraction Figure 6-9, An example of closed architecture: the OSI model.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12 Application Presentation Session Transport Network DataLink Physical Socket CORBA TCP/IP Object Ethernet Wire Figure 6-10, An example of closed architecture.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13 Xlib AWT Swing Application Figure 6-11, An example of open architecture: the Swing user interface library on the X11 platform.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14 Subsystem Repository createData() setData() getData() searchData() Figure 6-12, Repository architectural style.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15 LexicalAnalyzer SyntacticAnalyzer SemanticAnalyzer CodeGenerator SourceLevelDebuggerSyntacticEditor ParseTree SymbolTable Compiler Repository Optimizer Figure 6-13, An instance of the Repository architectural style.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16 Controller Model subscriber notifier initiator * repository1 1 * View Figure 6-14, Model/View/Controller architectural style.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17 Figure 6-15, An example of MVC architectural style.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 18 Figure 6-16, Sequence of events in the Model/View/Control architectural style. :Controller :InfoView :Model 2:enterNewFileName(file,newName) 3:setName(newName) :FolderView 1:subscribeToFileEvents(file) 5:getName() 4:notifySubscribedViews(file) 1:subscribeToFileEvents(file) 5:getName() 4:notifySubscribedViews(file)

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 19 Client Server service1() service2() serviceN() … * * requesterprovider Figure 6-17, Client/server architectural style.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 20 netscape:WebBrowser www12.in.tum.de:WebServer lynx:WebBrowser mosaic:WebBrowser iexplorer:WebBrowser Figure 6-18, The World Wide Web as an instance of the client/server architecture.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 21 Peer service1() service2() serviceN() … requester provider * * Figure 6-19, Peer-to-peer architectural style.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 22 application1:DBUser database:DBMS application2:DBUser 1. updateData 2. changeNotification Figure 6-20, An example of peer-to-peer architecture.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 23 Figure 6-21, Three-tier architectural style. Interface Application Logic Storage Connection Form Query

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 24 Figure 6-22, Four tier architectural style. Presentation Server Application Logic Storage Connection Form Query Presentation Client WebBrowser

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 25 Pipe inputoutput input*1 *1 Filter Figure 6-23, Pipe and filter architectural style.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 26 % ps auxwww | grep dutoit | sort | more dutoit pts/6 O 15:24:36 0:00 -tcsh dutoit pts/6 S 15:38:46 0:00 grep dutoit dutoit pts/6 O 15:38:47 0:00 sort psgrepsortmore Figure 6-24, An instance of the pipe and filter architectural style.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 27 Location Segment Crossing Direction Destination Trip RouteAssistant PlanningService Figure 6-27, Analysis model for the MyTrip route planning and execution.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 28 Location Segment Crossing Direction Destination RoutingSubsystem PlanningSubsystem Trip RouteAssistant PlanningService Figure 6-28, Initial subsystem decomposition for MyTrip.

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 29 Compiler compile(s) create() getToken() CodeGenerator create() generateParseTree()create() Compiler Optimizer Lexer Parser ParseNode Figure 6-29, An example of the Facade pattern.