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. |
- The user is logged in or denied access.
- 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. |
- System saves information.
- Program exits.
|
View grade |
Student |
- User logged in as Student.
- User can only view own grades.
- User must currently have at least one course assigned to him/her.
- The course must currently have at least one assignment.
|
The display is updated.
|
View Roster |
TA, Professor |
- User logged in as TA or Professor.
- User can only view the roster for a course he/she teaches.
- 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 |
- User logged in as TA or Professor.
- User must currently have at least one course assigned to him/her.
- The course must currently have at least one Student.
- The course must currently have at least one assignment.
|
- The new grade for the Student in that assignment is displayed.
- The new grade is stored in the database.
|
Modify Grade |
TA, Professor, Database |
- User logged in as TA or Professor.
- User must currently have at least one course assigned to him/her.
- The course must currently have at least one Student present in the list.
- The course must currently have at least one assignment.
- The assignment must currently have a grade present for that Student.
|
- The new grade for the Student in that assignment is displayed.
- The new grade is stored in the database.
|
Add Assignment |
Professor, Database |
- User logged in as Professor.
- The user must currently have at least one course assigned to him/her.
- The course must currently have at least one Student.
|
- The new assignment for the course is displayed on the assignment list.
- The new assignment is stored in the database.
|
Remove Assignment |
Professor, Database |
- User logged in as Professor.
- The user must currently have at least one course assigned to him/her.
- The course must currently have at least one Student.
- The course must currently have at least one assignment.
- The assignment must have no grades present for any Student.
|
- The assignment for the course is removed from the assignment list.
- 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.
|
- The dropped Student's grades are removed from assignments for that specific course in the database.
- The Student is removed from the course in the database.
|