Shanghai Jiao Tong University 上海交通大学 Object Oriented Analysis and Design Class Diagrams 上海交通大学软件工程中心
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Class Diagrams
Outline ★◆Class diagrams Class relationships -Association Aggregation ■6 Generalization Object Oriented Analysis and Design 2
Object Oriented Analysis and Design 2 Outline Class diagrams Class relationships ▪ Association ▪ Aggregation ▪ Generalization
What Is a Class Diagram? ◆ Static view of a system CloseRegistrationForm Schedule CloseRegistrationController semester is registration open?() +open() commit() close registration() close registration() select alternate() remove offering() Professor level() name Student cancel() get cost() employeelD Uniqueld delete() hireDate get tuition() submit() status add schedule() save() -discipline get schedule() any conflicts?() maxLoad delete schedule() create with offerings() has pre-requisites() update with new selections() submitFinalGrade() acceptCourseOffering() setMaxLoad() takeSabbatical() Object Oriented Analysis and Design 3
Object Oriented Analysis and Design 3 What Is a Class Diagram? Static view of a system CloseRegistrationForm + open() + close registration() Student + get tuition() + add schedule() + get schedule() + delete schedule() + has pre-requisites() Schedule - semester + commit() + select alternate() + remove offering() + level() + cancel() + get cost() + delete() + submit() + save() + any conflicts?() + create with offerings() + update with new selections() Professor - name - employeeID : UniqueId - hireDate - status - discipline - maxLoad + submitFinalGrade() + acceptCourseOffering() + setMaxLoad() + takeSabbatical() CloseRegistrationController + is registration open?() + close registration()
Class Diagram Usage When modeling the static view of a system, class diagrams are typically used in one of three ways,to model: The vocabulary of a system ■ Collaborations A logical database schema Object Oriented Analysis and Design 4
Object Oriented Analysis and Design 4 Class Diagram Usage When modeling the static view of a system, class diagrams are typically used in one of three ways, to model: ▪ The vocabulary of a system ▪ Collaborations ▪ A logical database schema
Example:Class Diagram Is there a better way to organize class diagrams? LoginForm RegistrationController RegisterForCoursesForm Schedule CloseRegistrationForm CloseRegistrationController Professor Student Course CourseOffering CourseCatalogSystem BillingSystem Object Oriented Analysis and Design 5
Object Oriented Analysis and Design 5 Example: Class Diagram Is there a better way to organize class diagrams? CloseRegistrationForm LoginForm Professor BillingSystem CloseRegistrationController RegisterForCoursesForm Course CourseCatalogSystem Student RegistrationController CourseOffering Schedule
Input Artifacts You will use input artifacts,including the interaction diagrams,to develop and refine the class diagram. Trom GU hterfac时 Supplementary Specifications PlamnerProfle PersanaPlannerConfroller BuyerRecard omPlannerArtfacts) Trom BCRea确Senvices) PlannerArtfactsi Class Diagram Design Interaction Diagrams Guidelines Object Oriented Analysis and Design 6
Object Oriented Analysis and Design 6 Input Artifacts You will use input artifacts, including the interaction diagrams, to develop and refine the class diagram. Supplementary Specifications Design Interaction Diagrams Guidelines Class Diagram
Class Diagram Modeling Class diagrams show the static view of the system and are modeled in the Logical View under the appropriate use-case realization. 08_HomeRealtySystem_ClassDiagrams 中-Use Case View 白-ogical View 田-Analysis Model 由-C☐Business Object Model 白-Design Model 由-C☐>Business0 bjects 中-C☐>BusinessServices 中-C☐Process View 白-C☐Use-Case Realizations 白C□Apply For Loan ▣Realize Dependency 曰-Apply For Loan Apply For Loan-VOPC Apply For Loan-Basic F [☒Apply For Loan·Basic F theApply For Loan (App. 由-三Associations Maintain Personal Planner +-C☐SearchForAHome 三 Associations 由-C☐>User Interface Architecture Overview-Package ar Object Oriented Analysis and Design
Object Oriented Analysis and Design 7 Class Diagram Modeling Class diagrams show the static view of the system and are modeled in the Logical View under the appropriate use-case realization
VOPC Class Diagrams A VOPC class diagram shows a use-case realization's participating classes and the relationships among those classes. ◆ It shows all classes whose instances collaborate to perform the use case and their relationships. It ensures consistency in use-case implementation across subsystem boundaries. Object Oriented Analysis and Design 8
Object Oriented Analysis and Design 8 VOPC Class Diagrams A VOPC class diagram shows a use-case realization’s participating classes and the relationships among those classes. It shows all classes whose instances collaborate to perform the use case and their relationships. It ensures consistency in use-case implementation across subsystem boundaries
Review:What Is a Package? A general purpose mechanism for organizing elements into groups. A model element that can contain other model elements. University Artifacts ◆A package can be used: To organize the model under development As a unit of configuration management Object Oriented Analysis and Design 9
Object Oriented Analysis and Design 9 A general purpose mechanism for organizing elements into groups. A model element that can contain other model elements. A package can be used: ▪ To organize the model under development ▪ As a unit of configuration management Review: What Is a Package? University Artifacts
Example:Registration Package Registration CloseRegistrationForm CloseRegistrationController RegisterForCoursesForm RegistrationController Object Oriented Analysis and Design 10
Object Oriented Analysis and Design 10 Example: Registration Package Registration CloseRegistrationForm CloseRegistrationController RegisterForCoursesForm RegistrationController