Use Cases¶
Section Brief
Use cases detail the concrete interactions between system actors and the UMTAS platform. Each use case describes a discrete system capability with a precondition, trigger, basic flow, alternate flows, and postcondition. All use cases map directly to functional requirements in the Traceability Matrix.
Subsystems: Authentication · Timetable Management · Timetable Import · Calendar Integration · University Analytics · Tyto Simulation
Actors: User · Student · University Administrator · Tyto Administrator
This section defines the primary use cases for the UMTAS platform. Use cases are grouped according to subsystem boundaries to improve readability and align with the modular system architecture.
8.1 Authentication System¶
Description: The Authentication System manages user identity and access control for the platform. It provides functionality for account registration, authentication, and logout for all authorised users.
Scope: The subsystem includes user login, registration, and logout capabilities for Students, University Administrators, and Tyto Administrators.
Demo 1 - Fully Implemented
All use cases in this subsystem were implemented for Demo 1.
8.1.1 Use Cases¶
| Use Case ID | Use Case Name | Actor(s) |
|---|---|---|
| UC-AU-01 | Register Account | User (Student) |
| UC-AU-02 | Login | User |
| UC-AU-03 | Reset Password | User |
| UC-AU-04 | Logout | User |
UC-AU-01: Register Account · ¶
| Field | Detail |
|---|---|
| Actor | User (Student) |
| Precondition | User is not registered |
| Trigger | User selects "Register" from the landing page |
| Basic Flow | 1. User completes registration form (name, email, password) 2. System validates fields 3. System creates account 4. System sends verification email 5. User verifies email 6. System activates account and redirects to dashboard |
| Alternate Flow | A1: Email already in use System displays error and prompts login or password reset. |
| Postcondition | Account created and activated |
| Requirements Covered | R1.2.2 |
UC-AU-02: Login · ¶
| Field | Detail |
|---|---|
| Actor | User |
| Precondition | User has a registered and verified account |
| Trigger | User submits credentials |
| Basic Flow | 1. System validates credentials 2. Session created 3. User redirected to dashboard |
| Alternate Flow | A1: Invalid credentials Generic error shown. A2: Account not verified Prompt to verify email. A3: Account locked Notify user after too many failed attempts. |
| Postcondition | User is authenticated |
| Requirements Covered | R1.2.1 | R1.2.3 |
UC-AU-03: Reset Password · ¶
| Field | Detail |
|---|---|
| Actor | User |
| Precondition | User has a registered account |
| Trigger | User selects "Forgot Password" on login screen |
| Basic Flow | 1. User submits email 2. Reset link sent 3. User sets new password |
| Alternate Flow | A1: Email not found Neutral message shown. |
| Postcondition | Password updated |
| Requirements Covered | R1.2.1 |
UC-AU-04: Logout · ¶
| Field | Detail |
|---|---|
| Actor | User |
| Precondition | User is logged in |
| Trigger | User selects logout |
| Basic Flow | 1. System invalidates session token 2. User redirected to landing page |
| Alternate Flow | None |
| Postcondition | Session invalidated |
| Requirements Covered | R1.2.3 |
8.2 Timetable Management System¶
Description: The Timetable Management System enables students to create, generate, modify, organise, and manage academic timetables within the platform.
Scope: The subsystem supports timetable creation, viewing, editing, deletion, semester assignment, preference management, and timetable generation functionality.
Demo 1 - Partially Implemented
Implemented: UC-ST-01 · UC-ST-02 · UC-ST-03 · UC-ST-04 · UC-ST-05
Not implemented: UC-ST-06 · UC-ST-07
8.2.1 Use Cases¶
| Use Case ID | Use Case Name | Actor(s) |
|---|---|---|
| UC-ST-01 | Create Timetable (Manual) | Student |
| UC-ST-02 | Generate Timetable | Student |
| UC-ST-03 | View Timetable | Student |
| UC-ST-04 | Modify Timetable | Student |
| UC-ST-05 | Delete Timetable | Student |
| UC-ST-06 | Set Scheduling Preferences | Student |
| UC-ST-07 | Resolve Constraint Violations | Student |
UC-ST-01: Create Timetable (Manual) · ¶
| Field | Detail |
|---|---|
| Actor | Student |
| Precondition | Student is authenticated |
| Trigger | Student selects "Create Timetable" |
| Basic Flow | 1. System displays timetable builder 2. Student adds modules and assigns time slots 3. System validates entries for conflicts 4. Student saves timetable 5. System confirms and stores |
| Alternate Flow | A1: Time conflict detected System prompts resolution. A2: Missing required fields System highlights incomplete entries. |
| Postcondition | Timetable saved |
| Requirements Covered | R2.2.1 |
UC-ST-02: Generate Timetable · ¶
| Field | Detail |
|---|---|
| Actor | Student |
| Precondition | Student is authenticated, Modules selected, Preferences configured (UC-ST-06) |
| Trigger | Student selects "Generate Timetable" |
| Basic Flow | 1. Student selects modules and configures preferences 2. System sends request to Core Engine 3. System generates timetable 4. Timetable displayed to student |
| Alternate Flow | A1: Missing module data Student prompted to complete input. A2: No valid timetable possible User notified, suggested to relax constraints. A3: Processing timeout User notified, async handling. |
| Postcondition | Generated timetable stored and displayed |
| Requirements Covered | R2.2.1 | R2.2.3 |
UC-ST-03: View Timetable · ¶
| Field | Detail |
|---|---|
| Actor | Student |
| Precondition | Student is authenticated, Timetable exists |
| Trigger | Student opens timetable dashboard |
| Basic Flow | 1. System retrieves timetable 2. System renders timetable grid 3. Student views schedule |
| Alternate Flow | A1: No timetable exists System prompts creation or generation. A2: Retrieval error Error message displayed. |
| Postcondition | Timetable displayed |
| Requirements Covered | R2.1.1 |
UC-ST-04: Modify Timetable · ¶
| Field | Detail |
|---|---|
| Actor | Student |
| Precondition | Student is authenticated, Timetable exists |
| Trigger | Student selects "Edit Timetable" |
| Basic Flow | 1. System loads existing timetable 2. Student modifies entries 3. System validates changes 4. Student saves changes 5. System stores updated timetable |
| Alternate Flow | A1: Conflict introduced System flags conflict and prompts resolution. A2: Save failure Error message shown. |
| Postcondition | Updated timetable stored |
| Requirements Covered | R2.1.2 |
UC-ST-05: Delete Timetable · ¶
| Field | Detail |
|---|---|
| Actor | Student |
| Precondition | Student is authenticated, Timetable exists |
| Trigger | Student selects "Delete Timetable" |
| Basic Flow | 1. System requests confirmation 2. Student confirms 3. System deletes timetable and confirms success |
| Alternate Flow | A1: User cancels No action taken. A2: Deletion error Error message shown. |
| Postcondition | Timetable removed |
| Requirements Covered | R2.1.3 |
UC-ST-06: Set Scheduling Preferences · — Not Implemented
| Field | Detail |
|---|---|
| Actor | Student |
| Precondition | Student is authenticated |
| Trigger | Student opens preferences screen, or system prompts before first generation |
| Basic Flow | 1. System displays preference options (prefer mornings, minimise gaps, avoid back-to-back) 2. Student configures and saves preferences 3. System stores preferences linked to profile |
| Alternate Flow | A1: Conflicting values System highlights conflict and prompts correction. A2: No preferences set System applies defaults and notifies student. |
| Postcondition | Preferences stored and applied during next generation |
| Requirements Covered | R2.2.3 |
UC-ST-07: Resolve Constraint Violations · — Not Implemented
| Field | Detail |
|---|---|
| Actor | Student |
| Precondition | Student is authenticated, Constraint violations returned by system |
| Trigger | System returns violations after generation or save attempt |
| Basic Flow | 1. System displays conflicts 2. System suggests fixes 3. Student adjusts entries 4. Student resubmits |
| Alternate Flow | A1: Conflicts persist Student prompted to retry or relax preferences. |
| Postcondition | Violations resolved. Valid timetable stored. |
| Requirements Covered | R2.2.3 |
8.4 Calendar Integration System¶
Description: The Calendar Integration System enables students to export their timetables to external calendar applications for ongoing schedule management.
Scope: Covers export to Google Calendar via OAuth and download as a standard .ics file.
Demo 1 - Partially Implemented
Implemented: UC-EX-02
Not implemented: UC-EX-01
8.4.1 Use Cases¶
| Use Case ID | Use Case Name | Actor(s) |
|---|---|---|
| UC-EX-01 | Export Timetable to Google Calendar | Student |
| UC-EX-02 | Download Timetable as .ics File | Student |
UC-EX-02: Download Timetable as .ics File · ¶
| Field | Detail |
|---|---|
| Actor | Student |
| Precondition | Student is authenticated, Timetable exists |
| Trigger | Student selects "Download .ics" from export options |
| Basic Flow | 1. System retrieves timetable 2. System generates .ics file 3. File downloaded to student's device |
| Alternate Flow | A1: Generation failure System displays error message. |
| Postcondition | Valid .ics file downloaded |
| Requirements Covered | R2.5.1 |
UC-EX-01: Export Timetable to Google Calendar · — Not Implemented
| Field | Detail |
|---|---|
| Actor | Student |
| Precondition | Student is authenticated, Timetable exists, Google OAuth authorised |
| Trigger | Student selects "Export to Google Calendar" |
| Basic Flow | 1. System retrieves timetable 2. System sends events to Google Calendar API 3. System confirms success to student |
| Alternate Flow | A1: OAuth not authorised System initiates OAuth flow. A2: API failure System notifies student of failure. A3: Partial success System reports which events failed. |
| Postcondition | Timetable events created in Google Calendar |
| Requirements Covered | R2.5.2 |
8.3 Timetable Import System¶
Demo 1 - Not Implemented
No use cases in this subsystem were implemented for Demo 1.
View Use Cases
Description: The Timetable Import System enables students to import timetable data from external university sources such as PDFs and institutional APIs.
Scope: The subsystem supports timetable parsing, validation, import processing, and user customisation of imported timetable data.
8.3.1 Use Cases¶
| Use Case ID | Use Case Name | Actor(s) |
|---|---|---|
| UC-ST-08 | Import Timetable | Student |
| UC-ST-09 | Customise Imported Timetable | Student |
UC-ST-08: Import Timetable · ¶
| Field | Detail |
|---|---|
| Actor | Student |
| Precondition | Student is authenticated, External timetable source available |
| Trigger | Student selects "Import Timetable" |
| Basic Flow | 1. Student uploads PDF or selects API import 2. System validates input format 3. System processes data via appropriate adapter 4. System displays imported timetable preview 5. Student confirms import and assigns semester 6. System stores timetable |
| Alternate Flow | A1: Invalid file format Upload rejected with error. A2: Incomplete parsed data System flags missing fields for manual correction. A3: Adapter failure Error returned to user. |
| Postcondition | Imported timetable stored and available for customisation |
| Requirements Covered | R2.3.1 | R2.4.1 | R2.2.2 |
UC-ST-09: Customise Imported Timetable · ¶
| Field | Detail |
|---|---|
| Actor | Student |
| Precondition | Student is authenticated, Timetable has been imported (UC-ST-08) |
| Trigger | System displays imported timetable preview and prompts student to confirm or edit |
| Basic Flow | 1. System displays parsed timetable in builder interface 2. Student reviews and corrects entries (time slots, modules, venues) 3. System validates changes in real time 4. Student confirms and saves 5. System stores finalised timetable |
| Alternate Flow | A1: Missing fields System highlights incomplete entries before saving. A2: Conflict introduced System flags overlap and prompts resolution. A3: Student discards import Import cancelled without saving. |
| Postcondition | Corrected timetable stored and associated with student profile |
| Requirements Covered | R2.3.2 | R2.4.2 |
8.5 University Analytics System¶
Demo 1 - Not Implemented
No use cases in this subsystem were implemented for Demo 1.
View Use Cases
Description: The University Analytics System provides analytical insights into timetable utilisation, attendance patterns, lecturer workload, and demand trends for university administrators.
Scope: The subsystem supports timetable analytics, attendance analysis, venue utilisation monitoring, workload evaluation, and demand forecasting functionality.
8.5.1 Use Cases¶
| Use Case ID | Use Case Name | Actor(s) |
|---|---|---|
| UC-AD-01 | View Venue Analytics | University Administrator |
| UC-AD-02 | View Lecturer Workload Analytics | University Administrator |
| UC-AD-03 | View Demand & Overcapacity Patterns | University Administrator |
| UC-AD-04 | Reallocate Venue (Advisory) | University Administrator |
| UC-AD-05 | View Actual Attendance | University Administrator |
| UC-AD-06 | View Projected Attendance | University Administrator |
| UC-AD-07 | View Registered Students for Module | University Administrator |
UC-AD-01: View Venue Analytics · ¶
| Field | Detail |
|---|---|
| Actor | University Administrator |
| Precondition | Administrator is authenticated, Timetable data exists |
| Trigger | Administrator opens analytics dashboard |
| Basic Flow | 1. System aggregates timetable data 2. System calculates venue utilisation metrics 3. System displays visualisations (charts, heatmaps) 4. Administrator reviews usage trends |
| Alternate Flow | A1: No data Empty state displayed. A2: Processing error Error message shown. |
| Postcondition | Venue utilisation insights displayed |
| Requirements Covered | R3.1.1 | R3.1.2 |
UC-AD-02: View Lecturer Workload Analytics · ¶
| Field | Detail |
|---|---|
| Actor | University Administrator |
| Precondition | Administrator is authenticated, Timetable data exists |
| Trigger | Administrator selects lecturer analytics view |
| Basic Flow | 1. System aggregates lecturer schedules 2. System calculates workload metrics (hours, frequency) 3. System displays analytics dashboard |
| Alternate Flow | A1: Missing lecturer data Partial analytics with warning. A2: Processing error Error message shown. |
| Postcondition | Lecturer workload insights displayed |
| Requirements Covered | R3.1.1 |
UC-AD-03: View Demand & Overcapacity Patterns · ¶
| Field | Detail |
|---|---|
| Actor | University Administrator |
| Precondition | Administrator is authenticated, Student timetable data exists |
| Trigger | Administrator opens demand analytics section |
| Basic Flow | 1. System analyses student timetable selections 2. System identifies high-demand modules and time slots 3. System flags overcapacity risks 4. System displays alerts and trends |
| Alternate Flow | A1: Insufficient data Informational message shown. A2: Data inconsistency Partial results with warning. |
| Postcondition | Demand and overcapacity insights displayed |
| Requirements Covered | R3.1.3 |
UC-AD-04: Reallocate Venue (Advisory) · ¶
| Field | Detail |
|---|---|
| Actor | University Administrator |
| Precondition | Administrator is authenticated, Overcapacity or inefficiency identified |
| Trigger | Administrator selects a flagged schedule entry |
| Basic Flow | 1. System displays current allocation 2. System suggests alternative venues based on capacity 3. Administrator reviews suggestions 4. System updates analytics view |
| Alternate Flow | A1: No suitable venue found Administrator notified. A2: Recommendation failure Error displayed. |
| Postcondition | Suggested venue improvements visualised |
| Requirements Covered | R3.1.1 | R3.1.3 |
UC-AD-05: View Actual Attendance · ¶
| Field | Detail |
|---|---|
| Actor | University Administrator |
| Precondition | Administrator is authenticated, Attendance data recorded |
| Trigger | Administrator selects a module time slot from the dashboard |
| Basic Flow | 1. System retrieves attendance data 2. System displays attendance count and percentage relative to registered students |
| Alternate Flow | A1: No data recorded Informational message displayed. A2: Partial data Available data shown with incomplete-records warning. |
| Postcondition | Actual attendance figures visible to administrator |
| Requirements Covered | R3.1.2 |
UC-AD-06: View Projected Attendance · ¶
| Field | Detail |
|---|---|
| Actor | University Administrator |
| Precondition | Administrator is authenticated, Students have submitted timetables for the relevant slot |
| Trigger | Administrator selects projected attendance view |
| Basic Flow | 1. System aggregates student timetable submissions 2. System calculates projected headcount 3. System displays projected vs registered comparison |
| Alternate Flow | A1: Insufficient submissions Warning about low submission volume. A2: Data inconsistency Anomalies flagged, partial results shown. |
| Postcondition | Projected attendance data visible to administrator |
| Requirements Covered | R3.1.3 |
UC-AD-07: View Registered Students for Module · ¶
| Field | Detail |
|---|---|
| Actor | University Administrator |
| Precondition | Administrator is authenticated, Module and time slot data exists |
| Trigger | Administrator selects a module time slot from the dashboard |
| Basic Flow | 1. System retrieves registered student list for the slot 2. System displays student count and list |
| Alternate Flow | A1: No students registered Empty state with informational message. A2: Data retrieval error Error message displayed. |
| Postcondition | Registered student data visible to administrator |
| Requirements Covered | R3.1.1 |
8.6 Tyto Simulation System¶
Demo 1 - Not Implemented
No use cases in this subsystem were implemented for Demo 1.
View Use Cases
Description: The Tyto Simulation System evaluates system performance and scalability through large-scale simulated timetable workloads and stress testing.
Scope: The subsystem supports simulation execution, stress testing, performance metric collection, and analytics visualisation under simulated load conditions.
8.6.1 Use Cases¶
| Use Case ID | Use Case Name | Actor(s) |
|---|---|---|
| UC-TY-01 | Run Simulation Batch | Tyto Administrator |
| UC-TY-02 | View Simulation Analytics | Tyto Administrator |
UC-TY-01: Run Simulation Batch · ¶
| Field | Detail |
|---|---|
| Actor | Tyto Administrator |
| Precondition | System configured for simulation, Parameters defined |
| Trigger | Simulation job initiated |
| Basic Flow | 1. System generates synthetic users 2. System assigns random modules and preferences 3. System simulates concurrent timetable generation requests 4. System records performance metrics 5. Simulation completes |
| Alternate Flow | A1: Resource overload Simulation throttled or paused. A2: Simulation failure Error logged. |
| Postcondition | Simulation results stored |
| Requirements Covered | R4.1.1 |
UC-TY-02: View Simulation Analytics · ¶
| Field | Detail |
|---|---|
| Actor | Tyto Administrator |
| Precondition | Simulation has completed |
| Trigger | Administrator opens simulation dashboard |
| Basic Flow | 1. System loads simulation results 2. System displays metrics (latency, throughput, failures) 3. System highlights bottlenecks |
| Alternate Flow | A1: No simulation data Empty state displayed. |
| Postcondition | Performance insights available |
| Requirements Covered | R4.1.2 |