Collaboration Diagram in UML, Page 2
Case Study—Courseware Management System
In the Sequence diagram in the previous article, we had modeled the interaction for the "Manage course information" scenario. The static model of the Courseware Management System was built as a Class diagram (see Article 4, Part II). We will use these as the basis for modeling the Collaboration diagram of the "Manage course information" scenario.
Identifying states and events of the Course object
Per our Class diagram (see Article 4, Part II), we had defined that the primary (active) entity in the model is the Course Administrator. The Course Administrator interacted with different entities in the system, such as Course, Topic, and Tutor. The following associations were modeled:
- The "User" entity interacted with the system as a Course Administrator
- The Course Administrator entity has a "manages" association with the Course, Topic, and Tutor entities
- The Course entity can contain 0 or more Topics
The interactions between these entities for the "manage course information" scenario upon which we modeled the sequence diagram (see Article 8) were as under:
- A user who is a course administrator invokes the manage course functionality.
- The manage course functionality of the course administrator invokes either the course creation or course modification functionality of a course.
- After the course is either created or modified, the manage topic functionality of the course administrator calls the topic creation or modification functionality of a topic.
- Finally, the user invokes the assign tutor to course functionality of the course administrator to assign a tutor to the selected course.
Based on this, we will now model these associations and interactions in the Collaboration diagram for the "Manage course information" scenario.
Figure 9.2: Collaboration diagram for the "Manage course information" flow
Figure 9.2 shows the Collaboration diagram for the "Manage course information" flow. The Collaboration diagram uses the CourseAdministrator, Course, Topic, and Tutor classes that we had defined earlier and used to defined the sequence of events in the Sequence diagram in the previous article. Notice that, in addition to the messages that we had represented for the sequence diagrams, we also represent the association between these entities in the Collaboration diagram.
After this overview of Collaboration diagrams, we will cover the Component diagrams in UML in the next article.
About the Authors
Mandar S. Chitnis, Lakshmi Ananthamurthy, and Pravin S. Tiwari are the co-founders of Novusware, Inc. They have co-authored the book Teach Yourself BEA WebLogic Server 7.0 in 21 Days (SAMS Publishing, October 2002) based on the recently launched WebLogic Server 7.0 by BEA Systems, Inc.
For any questions or queries regarding the article contents, please contact firstname.lastname@example.org.