Client Server Computing
Assignment 1
2000
Due date: 7 April, end of week 6
This assigment may be done in groups of two.
Purpose
Students are enrolled in units which are administered by lecturers.
Each unit will have a set of assessment items, and lecturers assign
marks to these. Currently, there is no centralised database for
this, and students do not have easy access to their grades.
This assignment is to produce a client-server system that allows
recording of student enrolments in units, and marks for assignments
within these units.
The server will maintain a database storing enrolment and marks
information.
The lecturer in charge of a unit will be responsible
for updating student lists and marks for that unit. Students will be
able to query the server for their current enrolments, the assessment
items for that unit, and their grades within a unit.
Security
Only a lecturer in charge of a unit can change enrolments or marks.
A student can only get access to information about themselves, not
about others. Suitable authorisation/encryption methods must be
employed to guarantee this.
Implementation
You should implement both a client and a server. They should run on two
different platforms e.g. Unix and DOS, or a Mac and Windows NT.
Implement both using TCP/IP sockets, with your choice of port. In that
case you can assume that each client has a copy of the relevant software
somehow.
This would involve C and Visual Basic or similar programming.
Submission
Please submit a listing of the source code for both client and server,
and the software on a floppy disk.
You should also include relevant documentation describing the protocols
used, in sufficient detail that a new client or server could
be written that will interoperate with the old ones.