Use Case: Course Add & Summary
Actor:
Student
University Course Management System
Description:
This use case allows students to add courses to their semester enrollment
and view a summary of registered courses. It is especially useful when
students miss registering a course during the initial course registration
period, allowing them to add the course later. The system ensures all course
selections are validated before saving. The outcome is an updated course
registration list reflecting the student's enrolled courses.
Preconditions:
1. The student must be logged into the system.
2. The student must select their current semester.
3. The student must have permission to modify their course registration.
4. The course must still be available for enrollment and within the add/drop period.
Postconditions:
none
Priority:
High
Frequency of Use:
Every semester during the course registration and add/drop periods.
Normal Course of Events:
1. Student logs into the system.
2. Student navigates to the add course section.
3. Student selects their current semester.
4. Student selects a course to add or drop.
5. The system checks course availability and prerequisites in real time.
6. The system updates the student’s course list.
7. Student views the updated summary of added courses.
8. Student confirms changes.
9. The system saves the final course list.
Alternative Courses:
1. none
Exceptions:
2. none
Includes:
3. none
Special Requirements:
4. none
Assumptions:
5. none
Notes and Issues:
Future improvement: Implement a waitlist system for full courses.
Use Case: Fee Payment
Actor:
Student
University Finance System
Description:
This use case allows students to view their financial statement and complete
their fee payment. The system ensures all transactions are validated before
finalizing. The outcome is an updated financial record reflecting the
successful payment.
Preconditions:
1. The student must be logged into the university portal.
2. The financial statement must be available for viewing.
3. The student must have a valid payment method or eligible autopay
setup.
Postconditions:
none
Priority: High
Frequency of Use:
At least once per semester per student.
Normal Course of Events:
1. Student navigates to "Fee Payment" page.
2. The system displays the financial statement, including:
o Statement Type
o Date of Issuance
o Reference No
o Amount
o View option
3. Student reviews the statement and selects the fee payment option.
4. Payment is made through an online gateway or via bank transfer.
5. If paying via bank transfer, the student follows the provided bank
details:
o Bank Name: Public Bank Berhad
o Bank Account No.: 3986851823
o Payee: Edusar Resources Sdn. Bhd.
6. Student emails the payment slip to "payment@[Link]".
7. System updates the payment status and notifies the student.
Alternative Courses:
none
Exceptions:
6. none
Includes:
1. none
Special Requirements:
1. none
Assumptions:
1. none
Notes and Issues:
Future improvement: Automate bank transfer verification.
Ensure real-time updates to financial statements.
Level 0 use case diagram
@startuml
left to right direction
skinparam usecase {
BackgroundColor white
BorderColor black
ArrowColor black
shadowing false
}
actor Student
actor Staff
rectangle "School System" {
usecase "Student Login" as StudentLogin
usecase "Staff Login" as StaffLogin
' Student use cases arranged vertically
together {
usecase "View Semester Result Slip" as UC1
usecase "Receive Invoice After Payment" as UC2
usecase "Submit Teaching Assessment" as UC3
usecase "Check Co-Curricular Status" as UC4
usecase "Check Exam Schedule" as UC5
usecase "View Fee Summary" as UC6
usecase "Student Portal" as UC7
usecase "Apply for Hostel" as UC8
usecase "Check Fee Payment" as UC9
usecase "Course Registration" as UC10
}
' Staff use cases arranged vertically
together {
usecase "Update Co-Curricular Grades" as UC11
usecase "Approve/Reject Hostel Applications" as UC12
usecase "Approve/Reject Course Registration" as UC13
usecase "Verify & Approve Fee Records" as UC14
usecase "Access Student Portal" as UC15
usecase "Upload Invoice to Students" as UC16
}
' External systems
usecase "Database" as DB
usecase "Fee Management System" as FMS
}
Student --> StudentLogin
StudentLogin --> UC1
StudentLogin --> UC2
StudentLogin --> UC3
StudentLogin --> UC4
StudentLogin --> UC5
StudentLogin --> UC6
StudentLogin --> UC7
StudentLogin --> UC8
StudentLogin --> UC9
StudentLogin --> UC10
Staff --> StaffLogin
StaffLogin --> UC11
StaffLogin --> UC12
StaffLogin --> UC13
StaffLogin --> UC14
StaffLogin --> UC15
StaffLogin --> UC16
' Database connections
UC1 --> DB
UC2 --> DB
UC3 --> DB
UC4 --> DB
UC5 --> DB
UC6 --> DB
UC7 --> DB
UC8 --> DB
UC9 --> DB
UC10 --> DB
UC11 --> DB
UC12 --> DB
UC13 --> DB
UC14 --> DB
UC15 --> DB
UC16 --> DB
' Fee Management System connections
UC8 ..> FMS : adds hostel fee
UC9 ..> FMS : fetches fee details
UC10 ..> FMS : updates fee database
UC14 ..> FMS : updates fee status
FMS ..> UC2 : stores invoice
@enduml
Level 1 use case diagram
@startuml
left to right direction
skinparam usecase {
BackgroundColor white
BorderColor black
ArrowColor black
shadowing false
}
actor Student
actor Staff
rectangle "School System" {
usecase "Student Login" as StudentLogin
usecase "Staff Login" as StaffLogin
' Student use cases arranged vertically
together {
usecase "View Semester Result Slip" as UC1
usecase "Receive Invoice After Payment" as UC2
usecase "Submit Teaching Assessment" as UC3
usecase "Check Co-Curricular Status" as UC4
usecase "Check Exam Schedule" as UC5
usecase "View Fee Summary" as UC6
usecase "Student Portal" as UC7
usecase "Apply for Hostel" as UC8
usecase "Check Fee Payment" as UC9 #Red
usecase "Course Registration" as UC10 #Cyan
usecase "Fee Payment" as UC17 #Red
usecase "Course add and summary" as UC18 #Cyan
}
' Staff use cases arranged vertically
together {
usecase "Update Co-Curricular Grades" as UC11
usecase "Approve/Reject Hostel Applications" as UC12
usecase "Approve/Reject Course Registration" as UC13
usecase "Verify & Approve Fee Records" as UC14
usecase "Access Student Portal" as UC15
usecase "Upload Invoice to Students" as UC16
}
' External systems
usecase "Database" as DB
usecase "Fee Management System" as FMS
}
Student --> StudentLogin
StudentLogin --> UC1
StudentLogin --> UC2
StudentLogin --> UC3
StudentLogin --> UC4
StudentLogin --> UC5
StudentLogin --> UC6
StudentLogin --> UC7
StudentLogin --> UC8
StudentLogin --> UC9
StudentLogin --> UC10
Staff --> StaffLogin
StaffLogin --> UC11
StaffLogin --> UC12
StaffLogin --> UC13
StaffLogin --> UC14
StaffLogin --> UC15
StaffLogin --> UC16
' Database connections
UC1 --> DB
UC2 --> DB
UC3 --> DB
UC4 --> DB
UC5 --> DB
UC6 --> DB
UC7 --> DB
UC8 --> DB
UC18 --> DB #MediumBlue
UC10 --> DB
UC11 --> DB
UC12 --> DB
UC13 --> DB
UC14 --> DB
UC15 --> DB
UC16 --> DB
' Fee Management System connections
UC8 ..> FMS : adds hostel fee
UC9 ..> FMS : fetches fee details
UC17 ..> FMS : updates fee database #Red
UC14 ..> FMS : updates fee status
FMS ..> UC2 : stores invoice
UC9 --> UC17 #Red
UC10 --> UC18 #MediumBlue
@enduml