Changes between Version 7 and Version 8 of UseCase3003Implementation
- Timestamp:
- 09/10/26 12:34:44 (7 hours ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
UseCase3003Implementation
v7 v8 1 = UC3001 – Enroll in Subject Implementation1 == UC3001 – Request Consultation and Advice Implementation == 2 2 3 3 '''Initiating actor:''' Student 4 '''Other actors:''' None 4 5 '''Other actors:''' Professor 5 6 6 7 '''Description:''' 7 Student registers for an available course module matching their faculty division and selects an associated professor who oversees that course instance.8 Student submits a request for dynamic academic consultations and expert advice from a designated professor through the web portal interface. 8 9 9 10 '''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: 11 1. Student navigates to the "Consultations & Advice" section from the Student Dashboard. 12 2. System displays the advice request form and queries available professors associated with the student's subjects: 23 13 {{{ 24 14 SELECT p.Id, p.Name, p.Surname 25 15 FROM Professor p 26 JOIN Subject s ON p.Faculty_Id = s.Faculty_Id27 WHERE s.Id = ?;16 JOIN Teach t ON p.Id = t.Professor_Id 17 WHERE t.Subject_Id = ?; 28 18 }}} 29 Student selects a specific Professor ID.30 19 31 6. System performs an validation check to ensure a duplicate active enrollment does not already exist: 20 [[Image(consultation_form.png, 800px)]] 21 22 3. Student selects the target Subject and Professor from the dropdown options. 23 4. Student fills in the topic details, preferred date, and specific questions/notes for the consultation session. 24 5. Student submits the form. 25 6. System verifies that no conflicting consultation requests exist for the same timeslot: 32 26 {{{ 33 SELECT * FROM Student_Subject WHERE Student_Id = ? AND Subject_Id = ?; 27 SELECT * FROM Consultation 28 WHERE Student_Id = ? AND Professor_Id = ? AND Scheduled_Date = ?; 34 29 }}} 35 7. If no prior enrollment is found, the system saves the record using the baseline registration status: 30 31 7. System inserts the new consultation request into the database: 36 32 {{{ 37 INSERT INTO Student_Subject (Student_Id, Subject_Id, Professor_Id, Status, Enrollment_Date, Absences_Count)38 VALUES (?, ?, ?, 'Enrolled', CURRENT_DATE, 0);33 INSERT INTO Consultation (Student_Id, Professor_Id, Subject_Id, Request_Date, Scheduled_Date, Topic, Status) 34 VALUES (?, ?, ?, CURRENT_DATE, ?, ?, 'Pending'); 39 35 }}} 40 8. System prints a terminal message confirming that course enrollment completed successfully.41 36 42 == Implementation Screenshots == 43 [[Image(enrollSubject1.png, 800px)]] 44 [[Image(enrollSubject2.png, 800px)]] 45 [[Image(enrollSubject3.png, 800px)]] 46 [[Image(enrollSubject4.png, 800px)]] 37 8. System reloads the page and displays a notification confirming that the consultation request has been successfully scheduled. 38 [[Image(consultation_success.png, 800px)]]
