Assignment 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 10, 2020 - 23:55 (week 7)Minimum time expectation: 20 hoursAssignment Type: IndividualLearning 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 DetailsAna, the owner of Delicious Pizza and Pasta, is opening a takeaway shop for selling Pizza and Pasta to thecustomers. She wants to offer some packages to the interested customers to promote her business. To do so, sheis offering the following packages:Packages for Pizza1 large Pizza 12 AUD2 large Pizzas 22 AUDN large pizzas(For N>=3)N*10 AUD and the customer will receive 1 garlic bread for every three pizzas[For example, if a customer is interested to buy 10 large pizzas, Ana willprovide 3 complimentary garlic breads for 100 AUD]CRICOS Provider No. 00103D Page 2 of 4Packages for Pasta1 large Pasta 8 AUD2 large Pasta 15 AUDM large Pasta(For M>=3)M*7 AUD and the customer will receive 1.25 Liter soft drinks for every 3Pasta[For example, if a customer is interested to buy 6 large Pasta, Ana will provide2 complimentary 1.25-liter soft drinks for 42 AUD]Special OfferFor every 3 Pizzas AND 3 Pasta, Ana will give a small box of Baklava (a famous dessert item) in additionto garlic bread and 1.5-liter soft drinksYou have agreed to design and develop a small console program for Ana, enabling her to select the appropriate itemand the package, and calculate the corresponding cost. Once an order is processed, the program will return to themenu and ready to commence another order. This payment information should display: total payment amounts received for pizza order total payment amounts received for pasta order total amount of pizzas and pasta sold in that session**A session indicates the duration Ana is using the program after opening it. There is no need for this data to persistonce the program has stopped running.Ana wants the system to be flexible so that she can include additional items and packages at a later date withouthaving to rewrite the entire program. This means you will need to use an interface for processing payments, andpolymorphism for the various food item classes, so that the new and different packages may be added at a later datewith minimal updates to the code. She asked that you provide her with some documentation before you commencecoding so that she is able to verify that the program you intend to code will address her requirements. She wouldlike to see the use cases to summarize the requirements in written format, as well as use case diagrams, classdiagrams and sequence diagrams.SubmissionYou 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 an order a Class Diagram of the intended system a Sequence Diagram for processing an order A short reflection (approximately 200-240 words) of what you have learned, if anything, on thisassignment, particularly relating to requirements design and analysis, UML diagrams and objectorientedprogramming with interfaces and polymorphism. As an example, if you find that youCRICOS Provider No. 00103D Page 3 of 4changed your initial UML diagrams after you had commenced coding, you should explain whatthese changes were and explain what you learnt that led to these changes.o Enterprise Architect file(s) containing your UML Diagrams for the Use Case, Class and Sequence Diagramso Your finished program (in any OOP language), addressing the requirements outlined in the AssignmentDetails.Marking Criteria/RubricTaskAvailableMarksStudent’sMarksRequirements Analysis and Design Use Cases summarizing the requirements of the program 2 A Use Case Diagram for processing an order 2 A Class Diagram of the intended system 2 A Sequence Diagram for processing a customer’s order2Development of CodeA complete Java program addressing the requirements outlined in the AssignmentDetails section of this specification, including: Functionality to process the ordering1 Functionality to process the orders of various amount2 A progressive payments menu option that displays the total income receivedfrom both the items (pizza & pasta) individually and the total income from allorders1 Code demonstrating the use of an interface and polymorphism to handle itemfires and the various item options available6Reflection on Learning A short reflection (approximately 200-300 words) of what you have learned, ifanything, on this assignment, particularly relating to requirements design andanalysis, UML diagrams and object-oriented programming with interfaces andpolymorphism.2Total 20