You are required to apply basic problem solving skills in the design of a computing solution. Once a suitable design has been produced, you will employ the programming skills taught throughout the module to develop robust programming code that utilizes appropriate data structures and storage. The coursework is supported by tutorial sessions up to the submission date.
Learning Outcome(s) Being Assessed:
- <not assessed in this coursework>
- <not assessed in this coursework>
- Evaluate alternatives and make sound judgements regarding programming solutions.
- Investigate integrated development environments & application programming interfaces.
- Demonstrate basic knowledge of the object oriented programming paradigm.
Details of Task:
A new room booking system is required to help managers reserve a room based on the following requirements :
- Single, Double or Suite.
- Room Price.
- With or Without Balcony.
- With or Without Lounge.
When a suitable match is found, the guests (identified by their eMail) should be able to reserve the room. Room reservations may also be cancelled. The room data should be modelled in a file M:datarooms.txt which will contain the room data and any reservations, though initially every room should be unreserved. Upon application launch, the data should be loaded into appropriate data structures and upon application exit, the data should be saved back to the files.
NOTE : The rooms.txt file (i.e. Appendix A) is provided on BlackBoard in the Assignments section.
You should download the file to a new folder called data on your M: drive.
It contains seventeen sample rooms. The format of each room’s data is as follows :
roomNum roomType roomPrice hasBalcony hasLounge
You are thusly required to produce a design including an analysis of the specification, UML (Unified Modelling Language) class diagrams. You should provide justifications for the design decisions you make.
You are then required to produce a console application (using Java) that is driven by a repeating main menu (i.e. Appendix B) with appropriate instructions and guidance throughout. Menu options should include reserving a room, cancelling a room and viewing room reservations.
Additional credit may be gained by implementing extra functionality :
- Performing Validation (e. fallacious input should be rejected).
- Before rejecting a reservation (i.e. no rooms match the guest’s room requirements) the application offers the “next best match”
(i.e. we can match 2 of your 4 room requirements).
What you should hand in:
A word processed report (not exceeding 5 pages) containing your design materials.
The properly formatted & commented code in a ZIP file. Specifically, a single Eclipse (Neon) project directory complete with all Java (.java) source code.
You should also submit any files required for your programming code’s data storage (i.e. the contents of your M:data directory).
Marking Scheme/Assessment Criteria:
| Assessment | Assessment Criteria | % weighting for part | |
| 1 | Design | 10 | |
| 2 | Solution’s Functionality
· Room Reserving, Cancelling & Viewing · Data Structures & Storage · Use of Methods · Use of Objects |
30 20 10 10 |
70 |
| 3 | Best Practice | 10 | |
| 4 | Commenting | 10 | |
Guidelines:
- A best practice solution should employ robust OO programming code. In the event that you struggle with OO, you should still produce a design, but based around procedural programming in which you decompose the complete task into sub tasks. Your programming code should then be based on this design, which might use static methods in Java. As a last resort, functionality could reside the “main” method / function only. Note that while a best practice solution is necessary for maximum marks, some marks are still available for partial solutions and you should attempt as much as you can, even if you do not get your programming code functioning fully.
- It is not necessary to develop your system outside the specification above, marks are available for answering the question, the whole question and nothing but the question, that said see below regarding best practice.
- The code should employ best practice (e. indentation, spacing & camelCase).
- The code should also be suitably commented (e. non self-explanatory).
Resources Required:
You may use the computing labs on the 6th & 7th floors of the Byrom Street Campus as well as the 1st floor of the Henry Cotton Campus.
You should make use of these specific tools & resources:
- Eclipse (Neon).
- Microsoft Visio 2013 / 2016.
- Lecture Materials.
- The Internet.
- Malik’s Java Book.
Extenuating Circumstances:
If something serious happens that means that you will not be able to complete this assignment, you need to contact the module leader as soon as possible. There are a number of things that can be done to help, such as extensions, waivers and alternative assessments, but we can only arrange this if you tell us. To ensure that the system is not abused, you will need to provide some evidence of the problem.
More guidance is available at:
https://www.ljmu.ac.uk/about-us/public-information/student-regulations/guidance-policy-and-process
Any coursework submitted late without the prior agreement of the module leader will receive 0 marks.
Academic Misconduct:
The University defines Academic Misconduct as ‘any case of deliberate, premeditated cheating, collusion, plagiarism or falsification of information, in an attempt to deceive and gain an unfair advantage in assessment’.
This includes attempting to gain marks as part of a team without making a contribution. The Faculty takes Academic Misconduct very seriously and any suspected cases will be investigated through the University’s standard policy (https://www.ljmu.ac.uk/about-us/public-information/student-regulations/appeals-and-complaints).
If you are found guilty, you may be expelled from the University with no award.
It is your responsibility to ensure that you understand what constitutes Academic Misconduct and to ensure that you do not break the rules. If you are unclear about what is required, please ask.
Appendix A
101 Single 23.50 false false
102 Single 23.50 false false
103 Double 27.50 false false
104 Double 27.50 false false
105 Double 27.50 false false
201 Single 23.50 true false
202 Single 23.50 true false
203 Double 27.50 true false
204 Double 27.50 true false
205 Double 27.50 true false
301 Single 33.50 true true
302 Single 33.50 true true
303 Suite 60.00 true true
304 Suite 60.00 true true
305 Suite 60.00 true true
306 Double 37.50 true true
307 Double 37.50 true true
Appendix B
– – Room Booking System – –
– – MAIN MENU – –
1 – Reserve Room
2 – Cancel Room
3 – View Room Reservations
Q – Quit
Pick :
This question first appeared on Write My Essay

