Client Server Computing
Due date: 7 April, end of week 6
This assigment may be done in groups of two.
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
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.
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.
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
This would involve C and Visual Basic or similar programming.
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.