Group 2 (Class Diagram)
Group 2 (Class Diagram)
System
INTRODUCTION
Welcome to the University Management System Class Diagram. This Comprehensive framework outlines the key entities,
relationship, and actions involved in managing a university’s core functions. The system encompasses four primary classes:
Student, Course, Instructor, and Department, which interact and interrelate to facilitate efficient management of academic
processes.
STUDENT CLASS
Attributes:
studentID: Unique identifier for each student.
name: Name of the student.
email: Student's email.
major: Student's major (e.g., Computer Science, Business).
registrationStatus: Indicates whether the student is registered, on hold, etc.
Methods:
registerForCourse(course: Course): Registers the student for a particular course.
dropCourse(course: Course): Drops a course.
viewCourses(): Displays a list of the student's registered courses.
viewTranscript(): Displays the student’s academic history.
COURSE CLASS
Attributes:
courseID: Unique identifier for the course.
courseName: Name of the course (e.g., "Introduction to Programming").
credits: Number of credits the course offers.
schedule: Date and time of the course.
capacity: Maximum number of students allowed in the course.
Methods:
addStudent(student: Student): Adds a student to the course.
removeStudent(student: Student): Removes a student from the course.
viewEnrolledStudents(): Displays a list of students enrolled in the course.
checkAvailability(): Checks if there is space available for more students.
INSTRUCTOR CLASS
Attributes:
instructorID: Unique identifier for the instructor.
name: Name of the instructor.
email: Instructor's email.
department: The department to which the instructor belongs (e.g., Computer Science).
Methods:
assignGrade(student: Student, grade: str): Assigns a grade to a student.
createCourse(course: Course): Creates and offers a course.
viewCourses(): Displays the courses taught by the instructor.
DEPARTMENT CLASS
Attributes:
departmentID: Unique identifier for the department.
departmentName: Name of the department (e.g., Computer Science).
departmentHead: The instructor who is head of the department.
Methods:
addCourse(course: Course): Adds a course to the department.
removeCourse(course: Course): Removes a course from the department.
listCourses(): Lists all courses offered by the department.
RELATIONSHIPS
Association:
Student - Course: A student can register for multiple courses, and a course can have many students.
Relationship: Many-to-many (Student can enroll in multiple courses, and each course can have multiple students).
Instructor - Course: An instructor teaches multiple courses, and each course has one or more instructors.
Relationship: One-to-many (An instructor can teach many courses, but a course is taught by at least one instructor).
Department - Course: A department offers multiple courses, and each course belongs to a department.
Relationship: One-to-many (A department can offer many courses).
Aggregation:
Department - Instructor: A department has instructors, but an instructor can also exist independently from the department (e.g.,
an instructor could switch departments).
Relationship: Aggregation (A department aggregates instructors).
Inheritance:
There could be subclasses of Student such as GraduateStudent and UndergraduateStudent, each with additional attributes or
methods, but this is an extension and not strictly necessary for the basic diagram.
UNIVERSITY
COURSE
REGISTRATION
SYSTEM CLASS
DIAGRAM
GROUP 2 MEMBERS
1. Marvel Lungu N02422910K
2. Chitungo Faith D.T N02424110S
3. Ryan Musuka N02425277T
4. Blessings Mazenge N02423594T
5. Ndlovu Tatenda C N02419898R
6. Moyo Takudzwa H N02419681P
7. Kundai Nezira N02418916F
8. Adam Dzitiro N02422752S
9. Cherryl Mupira Mk N02426561K
10. Gift Hlahla N02421293F
11. Makado Vespers N02425812Q
12. Uphold Chiodza N02426320X