Apply an object-oriented approach to the design and development of a small
Apply the concepts and techniques introduced in lectures, tutorials and labs to the
design and development of a small software application.
Congratulations! Your software company BestSolutions Ltd has won the contract to
develop a new hotel reservation system for the L4 chain of hotels. At present the chain
consists of a 5-star, 4-star and 3-star hotel but the chain may expand or contract in the
future. Each hotel has a few room types. The hotel and room info, including room rates
are included in the file l4Hotels.csv which is also available online. The reservation
system needs to handle reservations, cancellations, hotel stays and billing/accounts.
The most fundamental functionality that is required in this system is that of making a
room reservation. A hotel will have several rooms available each day. A reservation
enquiry has a check-in date and a check-out date. A reservation can only be successfully
made if the number of room(s) requested are available on all the dates from the check-in
date up to, but not including the check-out date. A successful reservation must be stored
in a comma separated value (csv) file called reservations.csv
A reservation can be either a standard reservation (S) or an advance purchase reservation
(AP). A 5% discount applies to all AP reservations.
The cancellation policy is as follows:
Advance purchase reservations are non-refundable. For a standard reservation, the full
booking value will be charged if the cancellation is received within 48 hours of check-in
or if the booking is a ‘no-show’. A standard reservation is fully refundable if cancelled
more than 48 hours before the check-in date.
The following is the type of information that should be recorded for a reservation:
- Reservation number
- Reservation name
- Reservation type (S/AP)
- Check-in date
- Check-out date
- Number of rooms
- For each room
o Room type
o Occupancy (number of persons)
- Total cost
The L4 hotel group requires that the details of all charged hotel reservations be
maintained on the system (in csv files). This information must be stored for at least 7
years for tax and audit purposes.
One of the main reasons that BestSolutions won the tender for this contract was that it
proposed to provide some analysis on the hotel reservations and billing data for the L4
hotels. This analysis will provide L4 hotels with the ability to better assess their current
offerings, including room prices and to tailor special packages in the future. This data
analysis should provide occupancy figures/rates for each of the hotels and room type over
a specific period of time (i.e. given a start date and end date). In addition, the
billing/accounts data analysis should calculate the income for each of the hotels over a
specific period of time (i.e. given a start date and end date).
The details of the l4 hotels are available in the attached l4Hotels.csv file. This can be
viewed in a text editor or via a spreadsheet application (MS Excel). This file has
information for each hotel, including room type, minimum and maximum occupancy for
each room and the price for each room for each night of the week.
A text-based interface is a minimum requirement for the system. The text-based interface
should use System.out and System.in and does not include the use of JOptionPane.