In
this assignment you will design a protocol for communication between a
client(s) and a server for a grade reporter system. The system has three
classes of users: students, instructors and an administrator.
Students
will provide a client with an id, a password and a course. If the student is
enrolled in the course and the id and password are correct, the server will
return the student's current grades in the course.
Instructors
have an id and a password. Each instructor is authorized to add/change grades
for courses they teach. An instructor can add new grade events (quizzes, exams,
homework, etc). A grade event has a name and a maximum number of points. An
instructor can add grades in a grade event for all students at one time. An
instructor can also modify the grade of any student. An instructor can also
view the grades of all students in all grade events. Instructors can add or
delete students from the record of course kept by the system. Instructors also
provide the list of ids and passwords for students in the course.
The
administrator can add and delete courses. They set the instructor's password.