1
Programming Assignment Unit 5: Object Oriented Design and Analysis
University of the People
CS 4403-01 - AY2025-T5: Software Engineering 2
Shozab Khurshid (Instructor)
July 22, 2025
2
Course Registration System — Object-Oriented Analysis
1. Lists
A. Objects List
Object Object
Description
ID Name
Represents a person who registers for
O1 Student
courses
Represents a course offered by the
O2 Course
institution
Represents the enrollment of a student
O3 Registration
in a course
O4 Instructor Represents faculty who teach courses
O5 Department Represents academic departments
Represents payment details for course
O6 Payment
fees
O7 Schedule Represents timetable for classes
3
B. Attributes List
Object Attributes
Student StudentID, Name, Address, Email, Major
Course CourseID, CourseName, Credits, DepartmentID
Registration RegID, StudentID, CourseID, RegDate, Status
Instructor InstructorID, Name, Email, DepartmentID
Department DepartmentID, DeptName, DeptHead
Payment PaymentID, StudentID, Amount, Date, Status
Schedule ScheduleID, CourseID, Time, Room, InstructorID
C. Methods/Operations List
Object Operations
Student RegisterCourse(), DropCourse(), PayFees(), ViewSchedule()
Course AddCourse(), RemoveCourse(), UpdateCourse()
Registration CreateRegistration(), CancelRegistration(), UpdateStatus()
Instructor AssignGrade(), UpdateSchedule()
4
Object Operations
Department AddDepartment(), UpdateDepartment()
Payment ProcessPayment(), RefundPayment()
Schedule CreateSchedule(), UpdateSchedule()
2. Tables
Relationships Table
Source Target
Relationship Description
Object Object
Student registers for one
Registers Student Course
or more courses
Instructor teaches one or
Teaches Instructor Course
more courses
Courses belong to
BelongsTo Course Department
departments
Makes Student Payment Student makes payments
Has Course Schedule Courses have schedules
5
3. State Transition Diagram (Mermaid Tool)
6
Transitions:
7
Current Next
Event Process
State State
S1 Start Registration CreateRegistration() S2
Approve
S2 UpdateStatus() S3
Registration
S3 Drop Course CancelRegistration() S4
Class Diagram
8
Mermaid use case diagram showing main actors and processes:
9
Summary
The object-oriented analysis of the Course Registration System identifies key objects
such as Student, Course, Registration, Instructor, Department, Payment, and
Schedule. These objects interact through relationships that define registration, teaching,
departmental association, payment processing, and scheduling.
The Mermaid-based diagrams represent the core components of the Course
Registration System using an object-oriented approach. The state transition diagram
illustrates how a Registration progresses through states (Not Registered, Pending
Registration, Registered, and Dropped) triggered by events handled by processes
(CreateRegistration(), UpdateStatus(), CancelRegistration()). The class diagram details
all relevant objects, their attributes, and operations. The optional use case diagram
visually identifies system interactions between students, instructors, and the registrar’s
office. These diagrams fully document the system’s structure and behavior as required for
robust analysis and clear communication (Satzinger et al., 2015).
REFERENCE
10
Satzinger, J. W., Jackson, R. B., & Burd, S. D. (2015). Systems Analysis and Design in a
Changing World (7th ed.). Cengage Learning.