Subsystems 02/ 09. Subsystem A component Encapsulates data Bundles operations with information.

Slides:



Advertisements
Similar presentations
Each group should have a Motion Using Position vs. Time Graphs Interpretation Card. Decide what kind of motion is described by the graph. Write out a.
Advertisements

11 Contracts CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 6)
SIAC V3 (Sistema Identificativo Automatizzato Centralizzato)
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
7M822 UML Sequence Diagrams 2 December 2010.
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Low Coupling High Cohesion
CMPT 370: Information Systems Design Instructor: Curtis Cartmill, Simon Fraser University – Summer 2003 Lecture Topic: Layered Architecture Class Exercise:
Creating Web Page Forms
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Chapter 10 Architectural Design
1.  Modeling the context of a system  Modeling the requirements of a system 2.
Lesson 7 Guide for Software Design Description (SDD)
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
GRASP Principles. How to Design Objects The hard step: moving from analysis to design How to do it? –Design principles (Larman: “patterns”) – an attempt.
111 Subsystems CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 7)
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 11 Subsystem Design.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
GRASP: Designing Objects With Responsibilities
SOFTWARE DESIGN Design Concepts Design is a meaningful engineering representation of something that is to be built It can be traced to a customer’s requirements.
Class Diagrams Identifying and representing Classes Object Web, Bapayya Choudhary Maganti.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
GRASP: Designing Objects with Responsibilities
© 2005 Prentice Hall9-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
CBSE 2014 Modeling Components with UML. Bibliography Modelling components in UML – Main text: Kim Hamilton, Russell Miles, Learning UML 2.0, OReilly,
Use Cases, Part I Understanding the Business Dynamics  Understand the business workflow  Identify system support points the system 'use cases'
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
1 Examining Execution Sequences Introducing Sequence Diagrams.
Relationships Relationships between objects and between classes.
Lecture 18: Object-Oriented Design
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
OO Design Roshan Chitrakar. Analysis to Design Do the RIGHT thing Do the RIGHT thing Requirement Analysis Requirement Analysis Domain Modeling with addition.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
111 Subsystems CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 7)
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
Slide 1 Chapter 10 Object-oriented Design. Slide 2 Characteristics of OOD l Objects are abstractions of real-world or system entities and manage themselves.
MODEL COMPONENT Pertemuan Matakuliah: M Analisis dan Perancangan Sistem Informasi Lanjut Tahun:
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
TK2023 Object-Oriented Software Engineering CHAPTER 13d GRASP Patterns: High Cohesion.
TK2023 Object-Oriented Software Engineering
Design Concepts ch-8
Design Review.
GRASP – Designing Objects with Responsibilities
Cmpe 589 Spring 2006.
Case Study -- Weather system
Component and Deployment Diagrams
Chapter 5 – Design and Implementation
Chapter 7 – Object-Oriented Design
Part 3 Design What does design mean in different fields?
Software Quality Engineering
GRASP : Designing Objects with Responsibilities
INFS 6225 – Object-Oriented Systems Analysis & Design
The Design Process & Technical Drawings
CRC: Classes, Responsibilities, and Collaborations
CBSE 2014 Modeling Components with UML
Improving the Design “Can the design be better?”
UML Overview Part 2.
Chapter 11 Following the Trail; Examining Execution Sequences
CIS 375 Bruce R. Maxim UM-Dearborn
IMPORTANT NOTICE TO STUDENTS:
1 Prior to each transaction, the cashier at FoodWays enters a code into the cash register to let the cash register know that a new transaction is being.
FRONT No Solutions Infinite Solutions 1 solution (x, y)
08 Detail & Images & Resources
Design Yaodong Bi.
CIS 375 Bruce R. Maxim UM-Dearborn
Use Case Analysis – continued
Software Design Lecture : 39.
1 Prior to each transaction, the cashier at FoodWays enters a code into the cash register to let the cash register know that a new transaction is being.
Building pattern  Complete the following tables and write the rule 
Presentation transcript:

Subsystems 02/ 09

Subsystem A component Encapsulates data Bundles operations with information

Subsystems Groups of classes that collaborate among themselves to support a set of contracts

Subsystem Contracts All contracts supported

Specifying Subsystems - 1 Write the subsystem name at the top List all classes in the subsystem Include ref. to the subsystem’s position in the collaborations graphs Describe the purpose of the subsystem List contracts for which it is a server For each contract, identify the class or subsystem to which the contract is delegated

Specifying Subsystems - 2 Subsystem: Drawing Subsystem Classes: Control Point, Drawing, Drawing Element, … Collaborations Graphs: see Figs. 4-6 Description: The Drawing Subsystem is responsible for displaying and maintaining the contents of the drawing. … Contracts 1.Display itself Server: Drawing 2.Access and modify the contents of a drawing Server: Drawing 3.Modify the attributes of a Drawing Element Server: Control Point

Identify Subsystems: bottom up Start with classes and responsibilities Identify collaborations Partition the classes based on patterns of collaborations

Identification Draw collaboration graph (use white board). Look for strongly coupled classes.

Identify Subsystems: top down Look at high level functions of system Look at data sources and uses Look at supporting technologies

Simplify: Minimize number of collaborations a class has with other classes Minimize number of classes & subsystems to which a subsystem delegates Minimize number of contracts supported by a class or subsystem

Minimize number of classes and subsystems delegated to Keep the number of classes inside the subsystem that support subsystem contracts to a minimum

Example Inventory Item Transaction Log Accounting Subsystem Cash Register Warehouse

Example refined

Rework Rework your design.

Minimize number of contracts supported Too many contracts in one place indicate too much intelligence concentrated in one place: