Download presentation
Presentation is loading. Please wait.
Published byJessie Blair Modified over 9 years ago
1
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 Rational Software, all rights reserved 1 R Subsystem Design
2
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 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
3
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 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
4
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 Rational Software, all rights reserved 4 R Subsystem Design Overview Subsystem Design Use-Case Realization Use Case Realization Design Subsystems and Interfaces Design Classes
5
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 Rational Software, all rights reserved 5 R Subsystem Design Steps Distribute Subsystem behavior to Subsystem Elements Document Subsystem Elements Describe Subsystem Dependencies
6
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 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
7
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 Rational Software, all rights reserved 7 R Subsystem Design Steps Distribute Subsystem behavior to Subsystem Elements Document Subsystem Elements Describe Subsystem Dependencies
8
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 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
9
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 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
10
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 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
11
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 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()
12
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 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
13
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 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..*
14
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 Rational Software, all rights reserved 14 R Subsystem Design Steps Distribute Subsystem behavior to Subsystem Elements Document Subsystem Elements Describe Subsystem Dependencies
15
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 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
16
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 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
17
OOAD Using the UML - Subsystem Design, v 4.0 Copyright 1994-1998 Rational Software, all rights reserved 17 R Example: Describing Subsystem Dependencies ICourseCatalog RegistrationCourseCatalog > University Artifacts RelationalDBMS
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.