analyze a problem in an object-oriented manner, and then
analyze a problem in an object-oriented manner, and then
Assessment: This Part 2 of the assignment is worth 15% of the final mark for thissubject.Due Date: Wednesday 29 May 2019, at 10.00 amDelays caused by computer downtime cannot be accepted as a valid reason for a latesubmission without penalty. Students must plan their work to allow for both scheduledand unscheduled downtime. Penalties are applied to late assignments (accepted up to 5days after the due date only). See the university policy for details.Individual Assignment: This is an individual assignment. You are not permitted towork as a group when writing this assignment.Copying, Plagiarism: Plagiarism is the submission of somebody else’s work in a mannerthat gives the impression that the work is your own. The Department of ComputerScience and Information Technology treats academic misconduct seriously. When it isdetected, penalties are strictly imposed. Refer to the unit guide for further informationand strategies you can use to avoid a charge of academic misconduct. All submissions willbe electronically checked for plagiarism.Objectives: The general aims of this assignment are:• To analyze a problem in an object-oriented manner, and then design and implementan object-oriented solution that conforms to given specifications• To practise using inheritance in Java• To practise file input and output in Java• To make implementations more robust through mechanisms such as exception handling.Submission Details: Instructions on how to submit electronic copies of your source codefiles from your latcs8 account and a marking scheme overview are given at the end. Ifyou have not been able to complete a program that compiles and executes containing allfunctionality, then you should submit a program that compiles and executes with as muchfunctionality as you have completed. (You may comment out code that does not compile.)Deployment Platform: While you are free to develop the code for this assignment onany operating system, your solution must run on the latcs8 system. We should be able tocompile your classes with the simple command javac *.java, and execute your programswith a simple command, e.g. java QuizMenu.For students at Sydney and Dandenong campuses: Please follow your lecturer’sinstructions regarding assignment submission and deployment platform.1BackgroundAs described in the handout for Part 1, the overall aim of the assignment is to develop amenu-driven program to administer a quiz test.In Part 1, you have implemented the classes to represent the quiz questions and answers.You have also written programs to test these classes. In particular, you have written aprogram to read a number of questions from a text file, administer the questions, obtainthe answers, and print out the answers.Building on the work that you have done for Part 1, in this Part 2, you are required to dothe tasks described below.Besides the information given in the tasks below, please refer to Part 1 of the Assignmentfor any other information you may need.Task 1Modify the classes QuizQuestion and QuizAnswer and their subclasses to use ArrayListinstead of array whenever you need to maintain a collection.Test your classes with the provided BasicTester program.Task 2(For Tasks 2, 3 and 4, you must also use ArrayList whenever you need to maintaincollections.)This task does not required you to do any exception handling. (That will done in Tasks3 and 4).Write a menu program called QuizMenu. The program displays the menu with the optionsshown below:========Options:========R: Read question details from a text fileA: Administer the quiz testF: Administer the quiz test with option to quitD: Display the answers on the screenW: Write the answers to a text fileQ: QuitPlease select an option:Other than the minimum required for the program to compile, no exception handling isrequired for this task.