Changes between Version 6 and Version 7 of UseCase3001Implementation
- Timestamp:
- 06/25/26 15:43:52 (13 hours ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
UseCase3001Implementation
v6 v7 1 = U seCase3001Implementation – Enroll in Subject1 = UC3001 – Enroll in Subject Implementation 2 2 3 **Initiating actor:** Student 3 '''Initiating actor:''' Student 4 '''Other actors:''' None 4 5 5 **Other actors:** None 6 '''Description:''' 7 Student registers for an available course module matching their faculty division and selects an associated professor who oversees that course instance. 6 8 7 **Description:** Student enrolls in a subject offered by their faculty and selects a specific professor teaching that course instance. 8 9 **Scenario:** 10 11 1. System displays Student Menu. 12 13 2. Student selects Enroll in Subject. 14 15 3. System lists all students → Student selects their Student ID. 16 17 4. System lists available subjects for the student's faculty: 9 '''Scenario:''' 10 1. System displays the Student Menu interface. 11 2. Student selects the option to "Enroll in Subject". 12 3. System outputs a full list of registered students, and the user selects their unique Student ID. 13 4. System identifies the student's faculty association and filters all valid available subjects: 18 14 {{{ 19 15 SELECT s.Id, s.Name … … 22 18 WHERE st.Id = ?; 23 19 }}} 24 Student selects a Subject ID.20 Student selects a target Subject ID from the listing. 25 21 26 5. System lists all available professors for the chosensubject:22 5. System queries and displays all professors affiliated with the faculty offering that selected subject: 27 23 {{{ 28 24 SELECT p.Id, p.Name, p.Surname … … 31 27 WHERE s.Id = ?; 32 28 }}} 33 Student selects a Professor ID.29 Student selects a specific Professor ID. 34 30 35 6. System checks if the student is already enrolled in this subject:31 6. System performs an validation check to ensure a duplicate active enrollment does not already exist: 36 32 {{{ 37 33 SELECT * FROM Student_Subject WHERE Student_Id = ? AND Subject_Id = ?; 38 34 }}} 35 7. If no prior enrollment is found, the system saves the record using the baseline registration status: 36 {{{ 37 INSERT INTO Student_Subject (Student_Id, Subject_Id, Professor_Id, Status, Enrollment_Date, Absences_Count) 38 VALUES (?, ?, ?, 'Enrolled', CURRENT_DATE, 0); 39 }}} 40 8. System prints a terminal message confirming that course enrollment completed successfully. 39 41 40 7. If not enrolled, system inserts the new enrollment record into the database: 41 {{{ 42 INSERT INTO Student_Subject(Student_Id, Subject_Id, Professor_Id, Status, Enrollment_Date, Absences_Count) 43 VALUES (?, ?, ?, 'PASSED', CURRENT_DATE, 0); 44 }}} 45 46 8. System confirms successful enrollment. 47 42 == Implementation Screenshots == 48 43 [[Image(enrollSubject1.png, 800px)]] 49 44 [[Image(enrollSubject2.png, 800px)]]
