Changes between Version 7 and Version 8 of UseCase3003Implementation


Ignore:
Timestamp:
09/10/26 12:34:44 (7 hours ago)
Author:
216009
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCase3003Implementation

    v7 v8  
    1 = UC3001 – Enroll in Subject Implementation
     1== UC3001 – Request Consultation and Advice Implementation ==
    22
    33'''Initiating actor:''' Student
    4 '''Other actors:''' None
     4
     5'''Other actors:''' Professor
    56
    67'''Description:'''
    7 Student registers for an available course module matching their faculty division and selects an associated professor who oversees that course instance.
     8Student submits a request for dynamic academic consultations and expert advice from a designated professor through the web portal interface.
    89
    910'''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:
    14 {{{
    15 SELECT s.Id, s.Name
    16 FROM Subject s
    17 JOIN Student st ON s.Faculty_Id = st.Faculty_Id
    18 WHERE st.Id = ?;
    19 }}}
    20 Student selects a target Subject ID from the listing.
    21 
    22 5. System queries and displays all professors affiliated with the faculty offering that selected subject:
     111. Student navigates to the "Consultations & Advice" section from the Student Dashboard.
     122. System displays the advice request form and queries available professors associated with the student's subjects:
    2313{{{
    2414SELECT p.Id, p.Name, p.Surname
    2515FROM Professor p
    26 JOIN Subject s ON p.Faculty_Id = s.Faculty_Id
    27 WHERE s.Id = ?;
     16JOIN Teach t ON p.Id = t.Professor_Id
     17WHERE t.Subject_Id = ?;
    2818}}}
    29 Student selects a specific Professor ID.
    3019
    31 6. System performs an validation check to ensure a duplicate active enrollment does not already exist:
     20[[Image(consultation_form.png, 800px)]]
     21
     223. Student selects the target Subject and Professor from the dropdown options.
     234. Student fills in the topic details, preferred date, and specific questions/notes for the consultation session.
     245. Student submits the form.
     256. System verifies that no conflicting consultation requests exist for the same timeslot:
    3226{{{
    33 SELECT * FROM Student_Subject WHERE Student_Id = ? AND Subject_Id = ?;
     27SELECT * FROM Consultation
     28WHERE Student_Id = ? AND Professor_Id = ? AND Scheduled_Date = ?;
    3429}}}
    35 7. If no prior enrollment is found, the system saves the record using the baseline registration status:
     30
     317. System inserts the new consultation request into the database:
    3632{{{
    37 INSERT INTO Student_Subject (Student_Id, Subject_Id, Professor_Id, Status, Enrollment_Date, Absences_Count)
    38 VALUES (?, ?, ?, 'Enrolled', CURRENT_DATE, 0);
     33INSERT INTO Consultation (Student_Id, Professor_Id, Subject_Id, Request_Date, Scheduled_Date, Topic, Status)
     34VALUES (?, ?, ?, CURRENT_DATE, ?, ?, 'Pending');
    3935}}}
    40 8. System prints a terminal message confirming that course enrollment completed successfully.
    4136
    42 == Implementation Screenshots ==
    43 [[Image(enrollSubject1.png, 800px)]]
    44 [[Image(enrollSubject2.png, 800px)]]
    45 [[Image(enrollSubject3.png, 800px)]]
    46 [[Image(enrollSubject4.png, 800px)]]
     378. System reloads the page and displays a notification confirming that the consultation request has been successfully scheduled.
     38[[Image(consultation_success.png, 800px)]]