Changes between Version 6 and Version 7 of UseCase3001Implementation


Ignore:
Timestamp:
06/25/26 15:43:52 (13 hours ago)
Author:
216009
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCase3001Implementation

    v6 v7  
    1 = UseCase3001Implementation – Enroll in Subject
     1= UC3001 – Enroll in Subject Implementation
    22
    3 **Initiating actor:** Student
     3'''Initiating actor:''' Student
     4'''Other actors:''' None
    45
    5 **Other actors:** None
     6'''Description:'''
     7Student registers for an available course module matching their faculty division and selects an associated professor who oversees that course instance.
    68
    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:'''
     101. System displays the Student Menu interface.
     112. Student selects the option to "Enroll in Subject".
     123. System outputs a full list of registered students, and the user selects their unique Student ID.
     134. System identifies the student's faculty association and filters all valid available subjects:
    1814{{{
    1915SELECT s.Id, s.Name
     
    2218WHERE st.Id = ?;
    2319}}}
    24 Student selects a Subject ID.
     20Student selects a target Subject ID from the listing.
    2521
    26 5. System lists all available professors for the chosen subject:
     225. System queries and displays all professors affiliated with the faculty offering that selected subject:
    2723{{{
    2824SELECT p.Id, p.Name, p.Surname
     
    3127WHERE s.Id = ?;
    3228}}}
    33 Student selects a Professor ID.
     29Student selects a specific Professor ID.
    3430
    35 6. System checks if the student is already enrolled in this subject:
     316. System performs an validation check to ensure a duplicate active enrollment does not already exist:
    3632{{{
    3733SELECT * FROM Student_Subject WHERE Student_Id = ? AND Subject_Id = ?;
    3834}}}
     357. If no prior enrollment is found, the system saves the record using the baseline registration status:
     36{{{
     37INSERT INTO Student_Subject (Student_Id, Subject_Id, Professor_Id, Status, Enrollment_Date, Absences_Count)
     38VALUES (?, ?, ?, 'Enrolled', CURRENT_DATE, 0);
     39}}}
     408. System prints a terminal message confirming that course enrollment completed successfully.
    3941
    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 ==
    4843[[Image(enrollSubject1.png, 800px)]]
    4944[[Image(enrollSubject2.png, 800px)]]