OOAD Using the UML - Subsystem Design, v 4.0 Copyright  1994-1998 Rational Software, all rights reserved 1 R Subsystem Design.

Slides:



Advertisements
Similar presentations
OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
Advertisements

Analysis and Design with UML
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Object Oriented Analysis and Design Using the UML
©1998, 1999, 2000 Rational Software - All rights reserved Session VM08 Structuring Your Rational Rose Model Robert Bretall Rational Software.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Interaction Diagrams.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Object Oriented Analysis and Design Using.
Detail Design: Use-Case Design
SwE 313 Introduction to Rational Unified Process (RUP)
Object Oriented Analysis and Design Using the UML
1 Detail Design Subsystem Design Static Part - VOPC.
Detail Design Subsystem Design Background and the Dynamic Part
Use Case Analysis – continued
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML.
Object Oriented Analysis and Design Using the UML
OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 6: Use-Case Analysis Module 6 - Use-Case Analysis.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/29 Object Oriented Analysis and Design Using.
The Design Discipline.
UML - Development Process 1 Software Development Process Using UML (2)
RUP Fundamentals - Instructor Notes
Rational Unified Process Fundamentals Module 4: Disciplines II.
An Introduction to Software Architecture
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Use-Case Design.
RUP Design RUP Artifacts and Deliverables
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 11 Subsystem Design.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
1 Detail Design Subsystem Design Background and the Dynamic Part.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Page 1  Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling captures essential parts of.
Page 1 R Copyright © 1998 by Rational Software Corporation Visual Modeling and the UML.
Information System Development Courses Figure: ISD Course Structure.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Building Analysis Classes.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Object Oriented Analysis and Design using the UML CIS 520 Advanced Object-Oriented Design.
Introduction to Rational Rose 2000 v6.5 Copyright © 1999 Rational Software, all rights reserved 1 Rational Rose 2000 Class Diagrams.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 6: Use-Case Analysis.
1 Detail Design: Use-Case Design Background on Use Case Design Have ‘done’ Architectural Design; You know the major (eleven) precepts of good design.
Object Oriented Analysis & Design Using UML (CS-512) M-Tech CSE (Ist & 3rd Sem) Part Time Mr. Pawan Luthra Assistant Professor (CSE Deptt.) SBSSTC, Ferozepur.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Database Design Some of these slides are derived from IBM/Rational slides from courses on UML and object-oriented design and analysis. Copyright to the.
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright  Rational Software, all rights reserved 1 Object Oriented Analysis.
Introduction to OOAD and the UML
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Object Oriented Analysis and Design Using.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 9: Describe the Run-time Architecture.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Object Oriented Analysis and Design using the UML Use-Case Analysis Adapted by Dr. Spiegel from Slides Provided by Rational Software.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
OOAD Using the UML - Describe Concurrency, v 4.0 Copyright  Rational Software, all rights reserved 1 R Thread Process X Thread Process ZProcess.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Use Case Analysis – continued Control Classes.
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005.
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 November 30, 2004.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Use Case Analysis – Part 4 Analysis Mechanisms.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Design Tips.
Chapter 6: Structured Vs. Object Oriented Analysis and Design.
Use-Case Design in Context
Use Case Analysis – continued
Design.
Presentation transcript:

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 1 R Subsystem Design

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 2 R Objectives: Subsystem Design  Understand the purpose of Subsystem Design and where in the lifecycle it is performed  Define the behaviors specified in the subsystem's interfaces in terms of collaborations of contained classes  Document the internal structure of the subsystem  Determine the dependencies upon elements external to the subsystem

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 3 R So Where Are We? Architect Architectural Analysis Architectural Design Describe Concurrency Describe Distribution Review the Architecture Database Design Use-Case Analysis Subsystem Design Class Design Use-Case Design Review the Design Designer Database Designer Design Reviewer Architecture Reviewer

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 4 R Subsystem Design Overview Subsystem Design Use-Case Realization Use Case Realization Design Subsystems and Interfaces Design Classes

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 5 R Subsystem Design Steps  Distribute Subsystem behavior to Subsystem Elements  Document Subsystem Elements  Describe Subsystem Dependencies

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 6 R Key Concepts : Interface and Subsystem  What is an interface?  Defines a set of behaviors  What is a subsystem?  Contains other model elements and has behavior  Realizes one or more interfaces > Finance System Financial Transaction FinancialTransaction > Realizes relationship > Finance System

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 7 R Subsystem Design Steps  Distribute Subsystem behavior to Subsystem Elements  Document Subsystem Elements  Describe Subsystem Dependencies

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 8 R Subsystem Responsibilities  Subsystem responsibilities defined by interface operations  Interface operations may be realized by  Internal class operations  Internal subsystem operations

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 9 R Distributing Subsystem Responsibilities  Identify or reuse existing classes and/or subsystems  Allocate subsystem responsibilities to classes and/or subsystems  Incorporate the applicable mechanisms (e.g., persistence, distribution, etc.)  Document collaborations with “interface realization” diagrams  1 or more sequence diagrams per interface operation  Revisit Architectural Design  Adjust subsystem boundaries and/or dependencies, as needed

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 10 R Example: CourseCatalog Subsystem Context Subsystem Interface : RemoteRegistration Controller : MainStudent Form : Maintain ScheduleForm : Registration Controller : NamingClientSchedule : Schedule : Student 2: open( ) 3: new(SecureUser) 5: setSession(SecureUser) 4: lookup("RemoteRegistrationController") 1: registerForCourses( ) 6: selectCurriculum( ) 7: getOfferings(curriculum) 8: getOfferings(curriculum) 10: displayOfferings( ) 11: new(Student) : ICourse Catalog 9: getOfferings(curriculum, semester) 12: display(Schedule) ClientServer

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 11 R Example: Local CourseCatalog Subsystem Interaction : Course Offering CourseCatalog Client : CourseCatalog : DBCourse Offering : RDBMSTransaction : sql:CourseOffering List Do until fetch returns Not Found status Get attribute values from raw data 1: getCourseOfferings(string) 5: getCourseOfferings(string) 9: parseResults( ) 10: new(offeringId, number, startTime, endTime, days, courseId) 2: new 3: start( ) 4: startTrans( ) 6: bind() 7: execsql(String) 8: fetch( ) 11: add (CourseOffering) 12: commit() RDBMS Retrieve 13: entTrans( ) The string represent s some criteria. Sometimes a more robust solution with a query object is used. 6: new()

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 12 R Subsystem Design Steps  Distribute Subsystem behavior to Subsystem Elements  Document Subsystem Elements  Describe Subsystem Dependencies  Checkpoints: Design Subsystems

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 13 R Documenting the Subsystem Elements CourseCatalog + getOfferings() > sql + bind() + execsql() + startTrans() + commit() + fetch() + endTrans() (from RelationalDBMS) > RDBMSTransaction + start() + commit() + rollback() + new() (from RelationalDBMS) DBCourseOffering + getCourseOfferings() + parseResults() 11 CourseOffering + getCourseId() + addStudent() + new() + getNumber() + getStartTime() + getEndTime() + getDays() + getNumStudents() + removeStudent() + update() (from University Artifacts) > 0..* 1 CourseOfferingList + new() + add() (from University Artifacts) List (from Base Reuse) > ICourseCatalog 1 0..*

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 14 R Subsystem Design Steps  Distribute Subsystem behavior to Subsystem Elements  Document Subsystem Elements  Describe Subsystem Dependencies

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 15 R Describing Subsystem Dependencies  Model dependency on subsystem as dependency on subsystem interface  Ability to “plug and play” subsystems  Subsystem design freedom  Express any required behavior in an interface  Eliminate  Dependencies on specific model elements within a subsystem  Circular dependencies

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 16 R Client Support > Server Support > More flexible Server Client Support > Server Support > Server > Client (from Client Support) Describing Subsystem Dependencies  Subsystem layering using direct dependency  Subsystem layering using interface dependency Not recommended

OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 17 R Example: Describing Subsystem Dependencies ICourseCatalog RegistrationCourseCatalog > University Artifacts RelationalDBMS