| | 1 | = UseCase3003 – Request Advice |
| | 2 | |
| | 3 | **Initiating actor:** Student |
| | 4 | |
| | 5 | **Other actors:** Professor |
| | 6 | |
| | 7 | **Description:** |
| | 8 | Student requests academic advising from a professor. |
| | 9 | |
| | 10 | **Scenario:** |
| | 11 | |
| | 12 | 1. Student selects “Request Advisor” |
| | 13 | |
| | 14 | 2. System lists professors available in the student’s faculty: |
| | 15 | {{{ |
| | 16 | SELECT p.Id, p.Name, p.Surname |
| | 17 | FROM Professor p |
| | 18 | JOIN Faculty f ON p.Faculty_Id = f.Id |
| | 19 | JOIN Student st ON st.Faculty_Id = f.Id |
| | 20 | WHERE st.Id = :student_id; |
| | 21 | }}} |
| | 22 | |
| | 23 | 3. Student selects professor and sends request. |
| | 24 | |
| | 25 | 4. System creates advising relationship (pending or immediate): |
| | 26 | {{{ |
| | 27 | INSERT INTO Advice(Student_Id, Professor_Id, Start_Date, End_Date) |
| | 28 | VALUES (:student_id, :professor_id, CURRENT_DATE, NULL); |
| | 29 | }}} |
| | 30 | |
| | 31 | 5. System confirms request submission. |