Provider No. 00103D Page 1 of 5Assignment 1OverviewYou are required to design and develop a small console application in any Object Oriented ProgrammingLanguage. Completion of this assignment requires an understanding of: Analysis and design techniques, including the 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 interfacesTimelines and ExpectationsPercentage Value of Task: 20%Due: Sun, May 5, 2019 - 23:55 (week 7)Minimum time expectation: 20 hoursLearning Outcomes AssessedThe following course learning outcomes are assessed by completing this assessment: Understand the significance of detailed project planning and control, good communication anddocumentation and the use of appropriate tools in order to provide a quality product Understand the distinction between software engineering and programming, and thus thedistinction between a software configuration and a program Understand the methods and techniques involved in designing, implementing and maintainingan information system, in particular using an object-oriented approach Demonstrate skills in designing and implementing an information system.Assessment DetailsA new city “Ballymanus” has been announced in a state in Australia and the state government has planned toextend the public transport where the fares will be calculated according to the existing fare rule of the state.As per the existing fare system, everyone must have to buy the “Move Card” in order to travel on trains, tram,and buses in different parts of the state, including the new city.There are 2 options in “Move Card” “Move Money”: When you travel occasionally, you can use a “Move Money”. You need to load anamount onto your “Move Card” and it will automatically calculate the lowest fare possible as you touchon and touch off. The fare for the Move Money is given in the following table:CRICOS Provider No. 00103D Page 2 of 5Table 1 Move Money Daily FareFare Type Weekdays (Daily) Weekends (Daily)Full fare $8.80 $6.40Concession $4.40 $3.20 “Move Pass”: If you travel often, you can use a “Move Pass” and you’ll need to select the number ofconsecutive days you travel when you buy it. You can buy a Move Pass for 7 days or anywherebetween 28 and 365 days. The fare for the Move Pass is given in the following table:Table 2 Move Pass FareFare Type Weekly rate(7 days pass)Daily ratefor 28-365 daysFull fare $44.00 $5.30Concession $22.00 $2.65Travelers might need a calculator to work out how much their journey will cost and to find the most costeffectiveway for them to travel using “Move Card”. You have been assigned to design and develop a smallconsole CALCULATOR program to help the travelers, enabling them to find the appropriate option (“MovePass”/”Move Money”) and to calculate the traveling cost. Once a calculation is processed, the program willreturn to the initial condition and will be ready to commence another calculation. The CALCULATOR programshould be able to input the following options: Fare type: 1 OR 2 (1= Full fare, 2= Concession) Number of days to travel on weekdays: a number between 0 and 5 Number of days to travel on weekends: a number between 0 and 2 Number of weeks you are planning to travel: a number between 1 and 52The CALCULATOR will display the following output based on the input provided by the user: The amount in “Move Money” The amount in “Move Pass” And a Recommendation on which option should be cost effective for the userCRICOS Provider No. 00103D Page 3 of 5The system should be flexible so that the state government can include new fare types (e.g., student pass)and the concept of varying fares for different zones (e.g., Zone 1, Zone 2, a combination of multiple zones)at a later date without having to rewrite the entire program. This means you will need to use an interface forprocessing total fares, and polymorphism for the various fare type classes, so that new and different faretypes may be added at a later date with minimal updates to the code. You are asked to provide with somedocumentation before you commence coding so that the client (the state government) is able to verify thatthe program you intend to code will address their requirements. The client would like to see the use casesto summarize the requirements in written format, as well as use case diagrams, class diagrams, andsequence diagrams.* For verifying the program, two sample input-outputs are given at the Appendix sectionSubmissionYou 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)o A written report comprising: Use Cases summarizing the requirements UML Diagrams, created in Enterprise Architect, comprising: a Use Case Diagram for processing the calculation a Class Diagram of the intended system a Sequence Diagram for processing the calculation A short reflection (approximately 200-300 words) of what you have learned, if anything, onthis assignment, particularly relating to requirements design and analysis, UML diagramsand object-oriented programming with interfaces and polymorphism. As an example, if youfound that you changed your initial UML diagrams after you had commenced coding, youshould explain what these changes were and explain what you learned that led to thesechanges.o Enterprise Architect file(s) containing your UML Diagrams for the Use Case, Class and SequenceDiagramso Your finished program (in any OOP language), addressing the requirements outlined in theAssignment Details.CRICOS Provider No. 00103D Page 4 of 5Marking Criteria/RubricTaskAvailableMarksStudentMarkRequirements Analysis and Design Use Cases summarizing the requirements of the program 2 A Use Case Diagram for processing a calculation 2 A Class Diagram of the intended system 2 A Sequence Diagram for processing a client’s query order2Development of CodeA complete program (in any OOP language) addressing the requirementsoutlined in the Assignment Details section of this specification, including: Functionality to process the Calculation for each Fare type2 Functionality to process the Final Recommendation1 Validation of input values for each field1 Code demonstrating the use of an interface and polymorphism tohandle Fare types and the various options in each fare type6Reflection on Learning A short reflection (approximately 200-300 words) of what you havelearned, if anything, on this assignment, particularly relating torequirements design and analysis, UML diagrams and object-orientedprogramming with interfaces and polymorphism.2Total 20FeedbackMarks will be uploaded in fdlGrades and a completed marking guide provided in Moodle within 2 weeksof assignment submission.PlagiarismPlagiarism is the presentation of the expressed thought or work of another person as though it is one'sown without properly acknowledging that person. You must not allow other students to copy your workand must take care to safeguard against this happening. More information about the plagiarism policyand procedure for the university can be found at http://federation.edu.au/students/learning-andstudy/online-help-with/plagiarism.CRICOS Provider No. 00103D Page 5 of 5AppendixSample Input and OutputCase 1:INPUT: Fare Type (Enter “1” for Full Fare and “2” for Concession): 1 Number of days to travel on weekdays: 3 Number of days to travel on weekends: 2 Number of weeks: 6OUTPUT: The amount in “Move Money”: $235.20 The amount in “Move Pass”: $222.60 Recommendation: “Move Pass”Case 2:INPUT: Fare Type (Enter “1” for Full Fare and “2” for Concession): 2 Number of days to travel on weekdays: 2 Number of days to travel on weekends: 0 Number of weeks: 6OUTPUT: The amount in “Move Money”: $52.8 The amount in “Move Pass”: $111.3 Recommendation: “Move Money”