= UseCase2001Implementation – Assign Grade to Student **Initiating actor:** Professor **Other actors:** None **Description:** Professor assigns final grades to students enrolled in their course instances. **Scenario:** 1. System displays Professor Menu. 2. Professor selects Assign Grade. 3. System prompts the professor to enter their Professor ID. 4. System lists all unique subjects where this professor is assigned to students: {{{ SELECT DISTINCT s.Id, s.Name FROM Subject s JOIN Student_Subject ss ON s.Id = ss.Subject_Id WHERE ss.Professor_Id = ?; }}} Professor selects a Subject ID. 5. System lists students enrolled in that specific subject under this professor: {{{ SELECT st.Id, st.Name, st.Surname FROM Student st JOIN Student_Subject ss ON st.Id = ss.Student_Id WHERE ss.Subject_Id = ? AND ss.Professor_Id = ?; }}} Professor selects a Student ID. 6. System prompts for the final grade (6–10). 7. System executes SQL to update the student's grade and status: {{{ UPDATE Student_Subject SET Final_Grade = ?, Status = 'PASSED' WHERE Student_Id = ? AND Subject_Id = ? AND Professor_Id = ?; }}} 8. System confirms grade assignment successfully. [[Image(assignGrade1.png, 800px)]] [[Image(assignGrade2.png, 800px)]] [[Image(assignGrade3.png, 800px)]] [[Image(assignGrade4.png, 800px)]]