CS 4773 Object Oriented Systems, Spring 2005 Assignment 5
Due Wednesday, April 13, 2005
For this assignment you will design the server to go along with your
client of Assignment 3.
Here are the requirements:
- It should take one command line parameter, the port number.
- It must be able to concurrently interface with multiple clients from
Assignment 3.
- It must have a user interface that allows the user to start a new
vote at any time.
- It should be able to handle multiple votes going on simultaneously.
- There should be a way to send the results of the vote on a given question
to all of the clients.
- It should accept only one vote from a given client on each question.
- There should be a way to close off a vote on a particular question
so that no additional voting is allowed on that question.
- For each question, it must be able to display the current vote total and
update this automatically as votes come in.
It should also display the total number
of votes and the number of clients who have not yet voted on this question.
- There should be a way of displaying how each client voted on each question.
The client should be identified by the name sent when the connection
was initiated.
- It should automatically close off the voting on a question and send
the results to the clients when all of the connected clients have voted.
This assignment will require multiple threads and care in handling
synchronization.
Information added 4/13/05: Turning in the assignment
For now, I would like you to turn in by Monday, April 18 in class
a list of the major classes you created, the responsibilities of each class,
a description of how these classes are related (e.g.a UML diagram) and a
statement about how well your project is working and how well it was designed.
I will be discussing this project in class.