November 26, 2014
Hot Topics:

Object Diagrams in UML

  • June 17, 2003
  • By Mandar Chitnis, Pravin Tiwari, & Lakshmi Ananthamurthy
  • Send Email »
  • More Articles »

Case Study: Courseware Management System

Now, we shall create an object diagram for the courseware system. To do this, we will first build up on our class diagram, and include the possible attributes and define the parameters of to the classes defined earlier.

We will follow the following convention for the variable names:
Names starting with "s_" are of the String data type
Names starting with "i_" are of the int data type
Names starting with "v_" are of the Vector data type

The following table outlines the attributes, methods, and their return types for each of the classes:

Class NameAttributesMethods
Vector viewCourses()
Vector manageCourse(s_courseId)
Vector manageTopic(s_topicId)
Vector viewCourseCalendar(s_courseId)
Vector viewTutors()
Vector manageTutorInformation(s_tutorId)
Boolean assignCourseToTutor(s_courseId, s_tutorId)
Vector viewAllStudents()
Vector viewStudentInformation(s_studentId)
Vector viewTutorInformation(s_tutorId)
String createTutor(v_tutorInfo)
Boolean modifyTutor(v_newTutorInfo)
Boolean removeTutor(s_tutorId)
Vector viewAllCourses()
Vector viewCourseInfo(s_courseId)
Boolean createCourse(v_courseInfo)
Boolean modifyCourse(v_newCourseInfo)
Boolean removeCourse(s_courseId)
Vector viewAllTopics()
Vector viewTopicInformation(s_topicId)
Boolean createTopic(v_topicInfo)
Boolean modifyTopic(v_newTopicInfo)
Boolean removeTopic(s_topicId)
CourseCalenderv_courseCalendarVector viewCourseCalendar(s_courseId)

To follow a logical sequence now, let us consider that the course administrator, courses, tutors, and topics already exist. Let us now make an object diagram for the case where the administrator with user id "admin" wishes to access the course calendar of a course with course id "Math_Course_001."

Hence, the following will be the attribute values, and method calls:

CourseAdministratorAttributes: s_adminId  = admin            s_courseId = Math_Course_001Methods:    viewCourseCalendar("Math_Course_001")

This method will call the method viewCourseInfo of class Course, which returns a Vector object populated with all the details of the course "MathCourse_001" (see Figure 5.8)

CourseMethods: viewCourseInfo("Math_Course_001")

Click here for a larger image.

Figure 5.8—the object diagram for the courseware management system, for a simple scenario of the course administrator managing a math course.

In Figure 5.8, for the single case where the flow is from Course Administrator to Course, when the CourseAdministrator is requesting the course information for a particular course.


In the last article, we saw how to make class diagrams, and made a class diagram for the case study—the Courseware Management system. In this article, we saw:

  • What an object diagram is
  • Notation used in an object diagram
  • What the significance and use of an object diagram is
  • How to make an object diagram in Poseidon
  • The object diagram for a simple scenario in our Courseware Management system

In the next article of this series, we will study the state diagram.

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's contents, please contact

Page 3 of 3

Comment and Contribute


(Maximum characters: 1200). You have characters left.



Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Sitemap | Contact Us

Rocket Fuel