1) The project involves a program developed in Java that is simply software for a computer terminal reservation system for a computer laboratory of an adult training institute. It has between 2 to 25 students at any time. The user interface should be an automated sign-up sheet for 10 terminals. When placing a request, users should be able to express preferences for a time and book unless a time is already taken. Access to the terminals is between 8:00am and 8:00pm. The software should include facilities for administrators to collect and print statistics on frequency of usage per person, the usage distribution hours of the day, and average duration of sessions. A person may not be able to book more than 20 hours per week. The software should allow people to reserve terminals up to 3 months ahead.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
4)Here are the functional requirements required:
| ***Ref#*** | ***Requirement*** |
| **Sys Feature 1** | |
| FR-01 | The system shall provide functionality enabling a user to create a booking for a previously unbooked terminal. |
| FR-02 | The system shall provide functionality enabling a user to delete a previously made booking for a specific terminal. |
| FR-03 | The system shall ensure that all bookings are for a period of time which is a multiple of an hour and that all bookings begin and end on the hour. |
| FR-04 | The system shall not allow a booking to be made for a terminal in a period of time which overlaps that of an already existing booking for that room. |
| FR-05 | The system shall restrict students to no more than 20 hours per week. |
| FR-06 | The system shall provide the functionality to enable students to book terminals up to 3 months in advance |
| FR-07 | The system shall provide functionality to enable administrators to collect statistics on frequency of usage per student. |
| FR-08 | The system shall provide functionality to enable administrators to collect statistics on the usage distribution during daily hours. |
| FR-09 | The system shall provide functionality to enable administrators to collect statistics on the average duration of sessions. |
The priority is in that specific order.
**5)FR-01 to FR-06** need to be basically implemented by **31 August** latest with code compiling and running sufficiently. It need not have a fancy GUI, in fact at this stage a simply menu at the command prompt will be sufficient, as long as it is simple to use.
**6)Also there need not be a database linked up the system as of yet, student and terminal information can simply be read in and stored in a flat file!!!**
7)The rest of the functional requirements FR-07 to FR-09 can be implemented by 5 October, and updates can be made to the previous requirements if needed or desired. After this a simple GUI if desired and time permits need only be implemented by 19 October 2005.
## Platform
1) The project must run on Windows XP
2) The project must be programmed in Java