Pre- and Post-conditions for each Use Case
Use case Participating actor instances Preconditions Postconditions
Login Student, TA, Professor, Database The login information (e.g. user names and passwords) exists in the database.
  1. The user is logged in or denied access.
  2. If the login information (e.g. user name and password) is authenticated, the user is presented with appropriate options/display according to access privileges (Student / TA / Professor).
Logout Student, TA, Professor, Database The user is logged in as a Student, TA or Professor.
  1. System saves information.
  2. Program exits.
View grade Student
  1. User logged in as Student.
  2. User can only view own grades.
  3. User must currently have at least one course assigned to him/her.
  4. The course must currently have at least one assignment.
The display is updated.
View Roster TA, Professor
  1. User logged in as TA or Professor.
  2. User can only view the roster for a course he/she teaches.
  3. User must already have at least one course assigned to him/her or else roster is empty
The display is updated.
Add Grade TA, Professor, Database
  1. User logged in as TA or Professor.
  2. User must currently have at least one course assigned to him/her.
  3. The course must currently have at least one Student.
  4. The course must currently have at least one assignment.
  1. The new grade for the Student in that assignment is displayed.
  2. The new grade is stored in the database.
Modify Grade TA, Professor, Database
  1. User logged in as TA or Professor.
  2. User must currently have at least one course assigned to him/her.
  3. The course must currently have at least one Student present in the list.
  4. The course must currently have at least one assignment.
  5. The assignment must currently have a grade present for that Student.
  1. The new grade for the Student in that assignment is displayed.
  2. The new grade is stored in the database.
Add Assignment Professor, Database
  1. User logged in as Professor.
  2. The user must currently have at least one course assigned to him/her.
  3. The course must currently have at least one Student.
  1. The new assignment for the course is displayed on the assignment list.
  2. The new assignment is stored in the database.
Remove Assignment Professor, Database
  1. User logged in as Professor.
  2. The user must currently have at least one course assigned to him/her.
  3. The course must currently have at least one Student.
  4. The course must currently have at least one assignment.
  5. The assignment must have no grades present for any Student.
  1. The assignment for the course is removed from the assignment list.
  2. The database is updated.
Remove Course Synchronization Agent, Database The course has been completed. The completed course is removed from the database.
Remove Grades Synchronization Agent, Database The Student has dropped the course.
  1. The dropped Student's grades are removed from assignments for that specific course in the database.
  2. The Student is removed from the course in the database.