OOA&D - 1© Minder Chen, Models, Views, and Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams Component Diagrams Deployment Diagrams State Diagrams State Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Statechart Diagrams Use Case Diagrams Use Case Diagrams Sequence Diagrams State Diagrams State Diagrams Class Diagrams Activity Diagrams A model is a complete description of a system from a particular perspective Models
OOA&D - 2© Minder Chen, Copyright © 1997 by Rational Software Corporation Student Registrar Professor Maintain Schedule Maintain Curriculum Request Course Roster Billing System Use Case Diagram Use case diagrams are created to visualize the relationships between actors and use cases
OOA&D - 3© Minder Chen, Copyright © 1997 by Rational Software Corporation : Student registration form registration manager math 101 1: fill in info 2: submit 3: add course(joe, math 01) 4: are you open? 5: are you open? 6: add (joe) 7: add (joe) math 101 section 1 Sequence Diagram: Register for Course Use Case objectA sequence diagram displays object interactions arranged in a time sequence (to specify a use case further)
OOA&D - 4© Minder Chen, Copyright © 1997 by Rational Software Corporation : Registrar course form : CourseForm theManager : CurriculumManager aCourse : Course 1: set course info 2: process 3: add course 4: new course Collaboration Diagram A collaboration diagram displays object interactions organized around objects and their links to one another. Technically it is identical to a sequence diagram.
OOA&D - 5© Minder Chen, Multiplicity and Navigation RegistrationForm RegistrationManager Course Student CourseOffering Professor addStudent(Course, StudentInfo) name numberCredits open() addStudent(StudentInfo) major location open() addStudent(StudentInfo) tenureStatus ScheduleAlgorithm 1 0..* *
OOA&D - 6© Minder Chen, Generalization RegistrationForm RegistrationManager Course Student CourseOffering Professor addStudent(Course, StudentInfo) name numberCredits open() addStudent(StudentInfo) major location open() addStudent(StudentInfo) tenureStatus ScheduleAlgorithm name RegistrationUser Depends on
OOA&D - 7© Minder Chen, State Transition Diagram of the Course Class Copyright © 1997 by Rational Software Corporation Initialization Open entry: Register student exit: Increment count Closed Canceled do: Initialize course do: Finalize course do: Notify registered students Add Student / Set count = 0 Add student[ count < 10 ] [ count = 10 ] Cancel
OOA&D - 8© Minder Chen, Component Diagram Course Offering Student Professor Course.dll People.dll Course User Register.exe Billing.exe Billing System
OOA&D - 9© Minder Chen, Deployment Diagram
OOA&D - 10© Minder Chen, Copyright © 1997 by Rational Software Corporation Deployment Diagram Registration Database Library Dorm Main Building
OOA&D - 11© Minder Chen, An Activity Diagram with Swimlanes
OOA&D - 12© Minder Chen, From Analysis to Design to Implementation Doug Rosenberg, ICONIX Software Engineering, Inc.,