4100COMP Introduction to Computer Programming- Assignment
Added on - 20 Sep 2019
FacultyofEngineering & TechnologyDepartmentofComputer ScienceCoursework Title:Room Booking SystemModule Name:IntroductiontoComputer ProgrammingModule Code:4100COMPLevel:4Credit Rating:20Weighting:60%Maximum Mark Available:100Lecturer:Dr. Denis ReillyContact:If you have any issues with this coursework you may contact your lecturer (theacademic who delivers your lectures), if there are any outstanding issues you maycontact the module co-ordinator whose contact details are:eMail:firstname.lastname@example.orgRoom:731Hand-Out Date:21stNov 2016Hand-In Date:16thDec 2016Hand-In Method:BlackBoardFeedBack Date:27thJan 2017FeedBack Method:eMailProgramme(s):CS, CSc, SE, MC, CF, CSeIntroduction:This coursework is to be attemptedindividually.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 taughtthroughout the module to develop robust programming code that utilizes appropriate datastructures and storage. The coursework is supported by tutorial sessions up to the submissiondate.
Learning Outcome(s) Being Assessed:1.<not assessed in this coursework>2.<not assessed in this coursework>3.Evaluate alternatives and make sound judgements regarding programming solutions.4.Investigate integrated development environments & application programming interfaces.5.Demonstrate basic knowledge of the object oriented programming paradigm.DetailsofTask:A new room booking system is required to help managers reserve a room based on thefollowing 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 reservethe room. Room reservations may also be cancelled. The room data should be modelled in a fileM:\data\rooms.txtwhich will contain the room data and any reservations, though initiallyevery room should be unreserved. Upon application launch, the data should be loaded intoappropriate data structures and upon application exit, the data should be saved back to thefiles.NOTE : Therooms.txtfile (i.e. Appendix A) is provided onBlackBoardin theAssignmentssection.You should download the file to a new folder calleddataon yourM:drive.It contains seventeen sample rooms. The format of each room’s data is as follows :roomNum roomType roomPrice hasBalcony hasLoungeYou are thusly required to produce a design including an analysis of the specification, UML(Unified Modelling Language) class diagrams. You should provide justifications for thedesign decisions you make.You are then required to produce a console application (using Java) that is driven by arepeating main menu (i.e. Appendix B) with appropriate instructions and guidance throughout.Menu options should include reserving a room, cancelling a room and viewing roomreservations.
Additional credit may be gained by implementing extra functionality :Performing Validation (i.e. fallacious input should berejected).Before rejecting a reservation(i.e. no rooms match theguest’s room requirements)the application offers the “nextbest 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. thecontents of yourM:\data\directory).Marking Scheme/Assessment Criteria:AssessmentAssessment Criteria% weightingforpart1Design102Solution’s FunctionalityRoom Reserving, Cancelling &ViewingData Structures & StorageUse of MethodsUse of Objects30201010703Best Practice104Commenting10Guidelines:A best practice solution should employ robust OO programming code. In the event that youstruggle with OO, you should still produce a design, but based around proceduralprogramming in which you decompose the complete task into sub tasks. Your programmingcode should then be based on this design, which might use static methods in Java. As a lastresort, functionality could reside the “main” method / function only. Note that while a best