Labs 3, 4, 5, 6 Requirements analysis using UML class diagrams

A hotel reservation system

This exercise is in three parts. The first part, Lab 3, is to develop a requirements document when given a vision statement, then to do class design using UML in Lab 4, and finally to implement a prototype with "stub" methods as appropriate for the design in Lab 5.

The vision is of a small hotel reservation system for The Interface Rapids Hotel. The automated system will replace the existing paper system in order to save money and serve guests better. The system will be used to enter reservations as well as check guests in and out of the hotel.

The hotel contains 30 rooms and some rooms have connecting doors to form a suite of two rooms. Each room has a quality level (e.g. better view, larger room etc.) a number and type of beds, a room number and smoking/non-smoking designation. Each quality level has a maximum daily rate; the actual rate could be less.

When making a reservation, the clerk asks the guest for what nights, and what type of room they want. The system must verify a room is available before booking it. The system records basic information about each guest such as name, telephone number and credit card number. A reservation can be cancelled at any time.

When a guest checks in, a room is allocated until the checkout time. The system must keep track of the guest's account and print the bill at check-out time.

Lab 3 - 9/19/07. Write a set of functional requirements for this system. You may find that an informal use case analysis will help. Prepare a Use Case diagram to summarize your analysis. Submit the Use Case diagram and the functional requirements document through the submitter page.

Lab 4 - 9/26/07. Analyze the system using UML class diagrams. Start with a conceptual model, and then refine the diagram to include as much detail as you can. Generate Java code from the diagram, or write the skeleton by hand. Submit a .png of the diagram and the jar file of the skeleton source code through the submitter page.

Lab 5 - 10/3/07. Using Eclipse, flesh out your skeleton code so that the major functions can be executed. Use stubs where necessary (e.g. for swiping the credit card) so that all the parts of the system can be brought into play. Write a main function class to test your system using the following scenario:

James Taylor calls to make a reservation for March 3rd through the 5th (arrive on the 3rd, check out on the 6th) He requests a non-smoking suite with at least six twin beds. The system confirms the dates and the rooms, and makes the reservation. He leaves his telephone number (505-555-1212) and his credit card number (5544-3344-1122-6644) He checks in with five other people on the 3rd, and checks out on the 6th. The system prints his bill and charges his credit card with the amount.

Submit a jar file of the .java source files through the submitter page.

Lab 6 - 10/10/07. Finalize and complete the code; carry out system testing.