$29
Objectives:
• Apply an object-oriented approach to the design and development of a small software application.
• Apply the concepts and techniques introduced in lectures, tutorials and labs to the design and development of a small software application.
System Requirements:
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. The reservation system needs to handle reservations, cancellations, hotel stays (check-in, check-out) and billing.
A booking/reservation can be either a standard booking (S) or an advance purchase booking (AP). A 5% discount applies to all AP reservations. The cancellation policy is as follows:
Advance purchase bookings are non-refundable. For a standard booking, the full booking value will be charged if the cancellation is received within 24 hours of arrival or if the booking is a ‘no-show’.
A very simple reservation would allow one room to be reserved. However the contract with L4 states that a single reservation should facilitate many room bookings.
Reservation information should be maintained on the system (i.e. in a comma separated value (csv) file). Reservations can be removed from the system one month after the date of departure, given that the reservation has been processed (this probably means changed to a cancellation or a hotel stay). 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
• Number of nights
• Number of rooms
• For each room
O Room type
O Occupancy (number of adults/children) O Breakfast included
• Total cost
• Deposit
L4 requires that all hotel stay information and cancellation information should also be maintained on the system (again in separate csv files). This information must be stored for at least 7 years for tax and audit purposes.
There will be three types of users for the system: supervisors, hotel desk personnel and customers. A customer will be able to make reservations and cancellations. A hotel desk administrator will also be able to make reservations and cancellations for a customer. They will also be able to handle check-in and check-out services. A supervisor will be able to do all the things that a hotel desk administrator can do but may also be able to apply discounts to bookings as well as requesting any of the data analysis described below.
One of the main reasons that BestSolutions won the tender for this contract was that it proposed to provide some analysis on the hotel stays and billing data for 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. The billing/accounts information should provide a summary of the financial status of the business. Any of this data could be requested for monthly, weekly or daily intervals or for specific days over the period. The requested data should be output to (a) comma separated value (csv) file(s). A project will not be eligible for an A grade if it does not include data analytics.
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 for the system is required. This does not include the use of JOptionPane.
Project Deliverables
This project must be implemented in the Java programming language. As can be seen from the deliverables below this project is not just an implementation project, it also involves design and documentation.
The following are the deliverables for the project:
• A document outlining the Class Responsibility Collaboration (CRC) cards. These can be created in a word document and submitted as a pdf.
• A UML diagram showing the relationships between the classes. This could be created in Word or draw.io and submitted as pdf
• Documentation for the software generated using the javadoc utility and a help file describing how to run the application.
• The source code for the system where each Java class is stored in a separate file.
• Any csv files that are required by the system should also be included.
• A document outlining clearly the contribution of each team member, in terms of the code parts contributed, documentation created etc.
Rules and Regulations
• This is a group based project with teams of 3 or 4.
• You will be required to give a code walkthrough and demo at a selected time from the start of week 12 to the end of the examination period. It is your responsibility to prepare adequately for such a demonstration and to be knowledgeable about the design, implementation and documentation submitted. Failure to satisfactorily demonstrate your project will result in an F grade for the assignment irrespective of the contents of the submitted documentation. Plagiarism will not be tolerated. It is also your responsibility to ensure that other students do not submit any part of your work as part of their project. This will also be deemed as plagiarism.
• The project must be submitted as a single compressed file to Sulis by the stated deadline. Submission deadline is 12h00 Monday Week 12. A penalty of 10% for each day thereafter will be imposed for late submissions. Late submissions must be emailed to Michael.english@ul.ie with the subject “CS4013 late submission”. Submissions will not be accepted after 12h00 Thursday Week 12.
• Accidental loss of work will not be accepted as an excuse.