A sports club currently uses a paper-based system to maintain bookings for its members. You are required to develop a Console application that will allow the receptionist at the sport club to record bookings for Basketball and Badminton courts for the club members.
The club has provided a membership list, a list of the sports played and the courts available for each sport. This data is available in text files. At present only two sports are supported, later they will include other sports.
The system is to have a simple menu as shown below.
1. Show available courts
2. Make booking for member
3. Show member bookings
4. Show court bookings
5. Delete booking
A consultant has previously been engaged to investigate the requirements and has come up with the following details and recommendations.
1. Members may only book up to seven days in advance
2. Members may only make court bookings for the sports in which they have elected to play and must currently be financial members.
3. A Basketball court may be booked for up to 3 hour per day per member
4. A Badminton court may be booked for up to 2 hour per day per member
5. Courts are open seven days a week from 9 am and close at 10 pm.
The current paper based system operates as follows:
1. When a member makes a booking they normally ring or are at the counter.
2. They advise which sport they wish to book for and the day they wish to book.
3. The receptionist looks up available courts and if one is available asks the member for their number.
4. The member’s number is placed in the available slot on the booking sheet.
1. The receptionist is asked to delete a booking and is given the member number for the booking and the day and time of the booking.
2. The receptionist finds the booking and removes the booking from the schedule.
Show Member Bookings
The receptionist must look at booking sheets for each court and see if the member’s number is present. This normally happens when a member forgets their booking time or day.
Show Court Bookings
The receptionist looks through the booking sheets for each court.
The following design classes with Arraylists and inheritance and variables is ready in a BlueJ project with following things
• Classes design; Club, Member, Sport, Court and Booking.
• There are two sport types: Badminton and Basketball. You must have objects to represent them.
• The club includes the name of the club and has a member list and sport list offered
• A member has a name, a number, sports played (if any) and a note as to whether they are financial or not.
• A member may have 0 or many bookings//
• Each sport has a name, a usage fee and an insurance fee.
• In addition to the common fields, Badminton has a field indicating whether rackets are provided.
• In addition to the common fields, Basketball has a net height.
• Each Sport is allocated a number of courts.//
• A court has a court number and 0 or more bookings.
• A booking is always for a court and for a member.
• Each booking has a start time, an end time and a date.
Start with the above but revise and improve your design accordingly to improve usability.
A. Your design must include and effectively demonstrate a good understanding of inheritance.
This is to be done by
• Including a Sport superclass
• Including subtypes for Badminton and Basketball
• Taking advantage of the inheritance relationship to reduce code duplication
B. You are required to persist all object data between each execution.
This is to be done by
• Writing object data to a comma(“.”) delimited file before closing down the application
• Reading object data from file and building all objects before the user interface is displayed
• Handle errors that can be caused by file reading/ writing
C. Demonstrate how to implement an interface by making booking sortable.
12 freelancers are bidding on average $155 for this job
Hi! My name is Ihor, I will be glad to help you with your project I have strong experience in Java Android development for 3+ years. Feel free to contact me any time to discuss details.
I have read your requirements i can develop this project for you i can make you sure if you need any prototype and you can test it and i provide full support in this [login to view URL]