I am modeling the course registration system for a university. My work is based on the use case descriptions provided in the system.
I designed my ERD to represent two use cases:
Maintain Planned Course
description Use Case 1 page 1
description Use Case 1 page 2
description Use Case 1 page 3Generate Course Offerings
description UC2 page 1
description UC2 page 2
description UC2 page 3
Entities:
Advisor:
The Advisor manages multiple students and is the actor responsible for performing the functionality of Use Case 2: Generate Course Offerings.
Student:
Students are managed by Advisors and are the main actors in Use Case 1: Maintain Planned Course.
Course:
Represents the courses or subjects. It has attributes like name, credit, id, and prerequisite.
Prerequisites refer to core or mandatory courses in the program, while other courses can be electives.
Program Study:
Represents undergraduate programs or majors (e.g., Software Engineering, Information Systems).
Each Program Study includes multiple courses.
Student Preference's Study Module Class:
This entity is designed based on Basic Course of Events 5 in Use Case 1: "The Student and Advisor actors select the future courses, term, day, and time."
It represents the future planned classes or study modules based on students' preferences.
It contains details such as course name, preferred day, preferred time, and the semester in which the course is planned.Example: The course "Java Programming" can have multiple classes scheduled at different times.
Study ModuleClassIsOffering:Represents the official class offerings generated by the Advisor.These are the finalized class sections that students must follow.This entity is calculated based on data from the Student Preference's Study Module Class.The two entities differ because the planned courses (preferences) may or may not match the officially generated offerings.
Is the model accurate for the given use cases?
Are the relationships between entities clear and properly defined?
Does my ERD analysis meet the requirements of Use Case 1 and Use Case 2?