find the attached file
Page 1 of 4 CRICOS Provider No. 00103D ITECH7201 Assignment 1 SEM 2 2020 Assignment 1 – Federation Car Rental (FedCR) Overview You are required to design and develop a small Java console application. Completion of this assignment requires an understanding of: Analysis and design techniques, including development of use cases and UML diagrams – specifically, use case diagrams, class diagrams and sequence diagrams Object-oriented programming, focusing on polymorphism and the use of interfaces Timelines and Expectations Percentage Value of Task: 20% Due: Sunday, September 13, 2020 @ 23:55 (Week 7) Minimum time expectation: 20 hours Learning Outcomes Assessed The following course learning outcomes are assessed by completing this assessment: Understand the significance of detailed project planning and control, good communication and documentation and the use of appropriate tools in order to provide a quality product Understand the distinction between software engineering and programming, and thus the distinction between a software configuration and a program Understand the methods and techniques involved in designing, implementing and maintaining an information system, in particular using an object-oriented approach Demonstrate skills in designing and implementing an information system Assessment Details FedCR is a car hire company that offers vehicle rentals to its clients. Clients are able to hire vehicles according to availability and preference. FedCR offers 10% loyalty discount on the rental fees to members of its loyalty club. No discount is offered to standard clients who are not members of the loyalty club. A special discount of 20%, is offered to clients who are also employees of the company. You have been hired to design and develop a Java application for FedCR employees to manage the car rental system. The application should have an interactive menu, allowing the user to select the type of client (standard, loyalty member or staff member) making the booking and determine and track the appropriate discounts. Page 2 of 4 CRICOS Provider No. 00103D ITECH7201 Assignment 1 SEM 2 2020 The menu should also provide different other options, such as, displaying clients list, generating a report to display the current payments received, and quitting the execution. In the report the payments should be broken down into different categories of bookings such as standard, loyalty and staff, and the total discounts given in each category (using the discounted values where appropriate). At this stage there is no need for data to persist once the program finishes execution. FedCR wants the system to be flexible so that users can include additional functionality at a later date without having to rewrite the entire program. This means you will need to use an interface for processing payments, and polymorphism for the various payment classes, so that new, different payment types may be added at a later date with minimal updates to the code. FedCR asked that you provide it with some documentation before you commence coding, so that the manager is able to verify that the program you intend to code will address the business requirements. The manager would like to see use cases that summarizes the requirements in written format, as well as use case diagrams, class diagrams and sequence diagrams. Start-up code (A1_BaseCode.zip) is provided for your convenience. You are free to use, update and build your program on this. A sample expected output of an execution of a complete program is also attached. Notice in the sample output clients 1, 2, and 3 are hard coded in the program; clients 4, 5, and 6 are entered at execution. Similarly, your program should include hard coded clients, at least one client in each category. Submission You are required to submit the assignment before the due date consisting of: A Zip file containing the following (submitted via Moodle under the Assignment 1 link) The zip file should be labelled using the format:
_ _Student_ID.zip For example : Nicola_Tesla_30331856.zip o A written report comprising: Use Cases summarizing the requirements Copy of UML Diagrams, created in Enterprise Architect, comprising: a Use Case Diagram for processing a car rental booking a Class Diagram of the intended system a Sequence Diagram showing how a new car rental booking is processed o With descriptions of each diagram. The description should include: an clear explanation of the diagram in your own words any issues and challenges faced in developing the diagram how you overcame these challenges anything related to the diagram that you feel is important A short reflection (approximately 200-300 words) of what you have learned, if anything, on this assignment, particularly relating to requirements design and analysis, UML diagrams and object- oriented programming with interfaces and polymorphism. As an example, if you found that you would change your initial UML diagrams after you had commenced coding, you should explain what these changes would be and explain what you learnt that led to these changes. o Enterprise Architect file(s) containing your UML Diagrams for the Use Case, Class Diagrams and Sequence Diagrams o Your complete Java program, addressing the requirements outlined in the Assignment Details. Page 3 of 4 CRICOS Provider No. 00103D ITECH7201 Assignment 1 SEM 2 2020 Marking Criteria/Rubric Task Max Marks Obtained Marks Requirements Analysis and Design Use Cases summarizing the requirements of the program 10 A Use Case Diagram for processing a car rental booking 10 A Class Diagram of the intended system 10 A Sequence Diagram for processing a loyalty client’s car rental booking. 10 Descriptions for each diagram 20 Development of Code A complete Java program addressing the requirements outlined in the Assignment Details section of this specification, including: Functionality to process standard (non-member) client’s payments 5 Functionality to process loyalty and employee payments, including display of the total sales amount with a 10% or 20% discount removed. 10 A payments received option that displays the total standard booking amount, the total loyalty booking amount, the total employee booking amount, the total discounts given and the total amount (all types of booking taking discounts into account where appropriate) 5 Code demonstrating the use of an interface and polymorphism to handle payments and the various payment options available 25 Code validating all inputs and adhering to Java conventions 5 Reflection on Learning A short reflection (approximately 200-300 words) of what you have learned, if anything, on this assignment, particularly relating to requirements design and analysis, UML diagrams and object- oriented programming with interfaces and polymorphism. 10 Total 120 Final Mark /20 CRICOS Provider No. 00103D Page 4 of 4 Feedback Feedback is available in labs and by arrangement of consultation times. Marks will be uploaded in fdlGrades and a complete marking sheet will be provided in Moodle. Plagiarism: This is an individual assignment. You are not to attempt this assignment (or any part thereof) in conjunction with any other parties. All work handed in for marking should be your own and any help received should be explicitly acknowledged. It is important to learn from the work of others and you are encouraged to explore the library, World Wide Web resources and have discussions with other students. However, work for assessment must be entirely your own work. Plagiarism is the presentation of the expressed thought or work of another person as though it is one's own without properly acknowledging that person. You must not allow other students to copy your work and must take care to safeguard against this happening. More information about the plagiarism policy and procedure for the university can be found at http://federation.edu.au/students/learning-and- study/online-help-with/plagiarism. http://federation.edu.au/students/learning-and-study/online-help-with/plagiarism http://federation.edu.au/students/learning-and-study/online-help-with/plagiarism CRICOS Provider No. 00103D Page 5 of 4 CRICOS Provider No. 00103D Page 6 of 4 CRICOS Provider No. 00103D Page 7 of 4 CRICOS Provider No. 00103D Majo Heading Second Heading Sub Heading Body Body Small Body Bullet point