Tutorial-3

TUTORIAL-3
The tutorial shows Scenarios and Domain Model Class Diagrams Class , using
the Camel back notations in writing class Names and Class Attributes and
with emphasis on Association Class for the many to many Associations .
Class Diagrams
Tutorial-3 : Class Diagrams
Question-1
Given the domain model class diagram shown in figure-1, answer the given
questions:
1. Does the model allow a Student to enroll in more than one CourseSection
at a time?.
Yes , a Student can enroll in zero to many sections.
2. Does the model allow a CourseSection to have more than one Student?
Yes , a CourseSection can have zero to many Students.
3. Does the model allow a Student to enroll in several CourseSections and get
a grade for each enrollment?
Yes, there is no mention that this is constrained .
4. Does the model save all grades earned by all Students in all
CourseSections?
Yes , the CourseEnrollment associative class allows this to occur.
1
Domain Model Class Diagram
Course
-courseNumber
-title
-creditHours
1
-End3
0..*
-End4
CourseEnrollment
-grade
CourseSection
-sectionNumber
-startTime
-roomNumber
Student
0..*
-End1
0..*
-End2
-studentId
-name
-major
Figure-1 Domain Model Class
2
Question-2 Scenario
The Domain model class Diagram in question-1 above, needs to be modified
based on the following scenario:
A FacultyMember usually teaches many CourseSections, but some semesters, a
FacultyMember may not teach any. Each CourseSection must have at least one
FacultyMember teaching it, but sometimes, faculty teams teach CourseSections.
To make sure that all CourseSections are similar, one FacultyMember is assigned
as a course coordinator to oversee the Course, and each FacultyMember can be
the coordinator of many courses.
Required:
Draw a modified Domain Model Class diagram
See figure-2 “Modified Domain Model Class Diagram based on Question-2
Scenario”.
0..*
1
-cordinated by
-coordinates
FacultyMember
-name
-officeNumber
-phoneNumber
Course
-courseNumber
-title
-creditHours
-teaches
1..*
CourseEnrollment
-grade
-taught by
0..*
CourseSection
-sectionNumber
-startTime
-roomNumber
0..*
-contains
0..*
-enrolls in
Figure-2 Modified Domain Model Class Diagram
based on Question-2 Scenario
3
Student
-studentId
-name
-major
Question-3 Scenario
The Domain model class Diagram in question-1 above, needs to be further
modified based on the following scenario:
Each FacultyMember teaching a CourseSection is required to have specific hours
set as officeHours for each CourseSection, that he teaches. Further, a
facultyMember who teaches a CourseSection has some sort of evaluation for
each CourseSection.
Required:
Draw a modified Domain Model Class diagram
See figure-3 “Modified Domain Model Class Diagram based on Question-3
Scenario”.
Domain Model Class Diagram
-coordinated by
Course
-courseNumber
-title
-creditHours
1
-has
-coordinates
1
0..*
SectionTeacher
-officeHours
-courseEvaluation
0..*
0..*
1..*
-teaches
CourseEnrollment
-grade
CourseSection
-sectionNumber
-startTime
-roomNumber
FacultyMember
-name
-officeNumber
-phoneNumber
Student
0..*
0..*
-contains
-enrolls in
Figure-3 Modified Domain
Model Class Diagram based
on Question-3 Scenario.
4
-studentId
-name
-major