Scenario A family-run café, serves freshly cooked hot meals, hot/cold sandwiches, daily starters and desserts, including hot/cold drinks from the menu. There are 2 waiters serving 8 tables for dine in
and staff are allocated to tables to serve dine in customers as shown in Table 1. Customers can order collections and takeaways, and these are allocated to Table 0 for easy identification. All prices include VAT. Typical orders taken are as shown in Table 2. The owner would like a computer program to manage the orders and payments effectively. Please use sample values provided in Table 1, Table 2, and Table 3. Typical menu items used for orders are provided in Table 4. Requirements: You are being asked to create a working Java programme in stages (Design, Code and Test) to meet the following requirements: 1) The programme should have the following three options as part of the menu. a) Place order. b) Display invoice. c) Exit 2) The menu should be displayed after each option is executed to enable suitable user choice (looped menu). a) Only valid entry choice for Exit should end the program. 3) The programme should take user input from keyboard for the choices and data entry. Validate user inputs to avoid errors. 4) The programme should employ only fixed arrays where necessary - dynamic arrays (i.e. ArrayList, vector, HashMap, etc.) are not to be used. 5) Additional suitable entries to be created for Table 2 as indicated. 6) The program should display the final invoice as displayed in 7) Table 3. 8) The menu data does not need to be stored in the program. However, values for creating an order entry should be taken from menu items provided in Table 4. Table 1. Table allocation. Table# Staff 0 Kiran 1 Sam 2 Jill Jill Sam 5 Jill 6 Sam 7 Sam 8 Jill 3 4 Table 2. Typical items ordered. Order# Table# Item# 1 95 101 102 103 103 103 104 105 101 101 102 104 105 2 0 0 0 3 4 1 1 2 3 4 21 55 61 81 91 92 33 49 95 51 45 Name Pop drink 2 Qty Price Comment 2.35 Pepsi, No ice 3.20 1 6.95 1 with beans with cheese Jacket potato Lasagne Mac&cheese Choc brownie Tea (pot) 1 1 2.20 2.55 2.99 1 Coffee 3 2.50 3.75 Bacon Egg Cheese 1 4.95 Veg burger Pop drink Steak Ale pie Egg Mayo baguette 1 1 1 1 2 empty cups White, no sugar 2.35 Lemonade 6.95 2.95/nTable 3. Sample receipt for Order# 101 Order# 101 Date: Item# 95 33 49 1-Oct-2023 Name Pop drink Pepsi (no ice) Bacon Egg Cheese sandwich Veg Burger Table# Staff: VAT amount = 13.4 Qty 2 1 1 VAT amount = Total| 2 Jill Price 2.35 3.75 4.95 Total VAT (20%) Net amount VAT rate [(1 + VAT rate)] 0.2 [(1 +0.2)] = 2.233 Sub-total 5.98 3.75 4.95 13.4 2.23 11.17/nTable 4. Typical menu items Soup of the day (11) Sweet com 1.99 (12) w/ chicken 2.35 (13) Cream of Tomato/Mushroom 2.10 (14) Veg soup 2.25 Baked Potato w/ filling (21) Baked Beans 3.20 (22) Cheese 2.50 (23) Tuna 3.75 (24) Coleslaw 2.75 Toasties (31) Cheese 2.25 (32) Ham & Cheese 3.20 (33) Bacon Egg Cheese 3.75 (34) Sausage Egg cheese 3.55 Menu Baguette (41) Ham&Brie 3.75 (42) Grilled Chicken Mayo 3.25 (43) Prawn salad 3.95 (45) Egg May 2.95 (46) Tuna sweetcorn 3.29 Burger (47) Chicken 5.65 (48) Hamburger 5.75 (49) Veggie 4.95 Main Courses (51) Steak & Ale Pie 6.95 (52) Fish & chips 7.95 (53) Breaded Scampi w/ fries 6.95 (54) Chicken pasta 6.79 (55) Lasagne 6.95 veg 5.25 (56) Spaghetti Bolognese 5.99 (57) Hotdog w/ fries 3.50 Kids Menu (60) Chicken nuggets 2.55 (61) Macaroni Cheese 2.20 (62) Pigs in a blanket 2.95 Sides (71) French fries S 2.50 L 3.50 (72) Onion rings S 2.99 L 3.99 (73) Garlic bread 2.99 (74) Nachos cheese/guac/salsa 2.25 Desserts (81) Chocolate cookie 2.10 brownie 2.55 (82) Cheesecake (Vanila/Lemon) 3.99 (83) Pie (Apple/Cherry) 2.25 (84) Pancakes (2) 2.99 Drinks (91) Tea cup 2.10 pot 2.99 (92) Coffee 2.50 (93) Cappuccino 2.75 (94) Hot Chocolate 2.95 (95) Pop Fanta/Pepsi/Cola/Lemonade 2.35 (96) Sparkling Water 1.75/nAssignment Task Include additional 5-8 corresponding entries to Table 2 with appropriate values from Table 4 and using the information in the scenario to complete the following tasks. Task 1 Provide an algorithm (flowchart, pseudo-code) for the programme to meet the following requirements. Provide elaboration and explain how you have addressed logical errors, validated user input, while justifying the structures you have used. Requirements for algorithm: 1) Should demonstrate all the scenario requirements. 2) should be legible, modular, and use standard conventions and format. 3) Should test and validate user input. 4) Should make use of sample data provided in tables 1-4 and additional entries. (40 marks) (LOS: 2) Task 2 Create java code for the algorithm you have created in Task 1. Provide the different methods and include the packages you will need to import. Comment the code suitably to elaborate the algorithm. Elaborate the methods for any parameters and/or any values being returned. Requirements for the code: 1) should be provided in text so it can be verified. 2) should include comments to indicate the algorithm. 3) Should make use of sample data provided in tables 1-4 and additional entries. (30 marks) (LOs: 3) Task 3 Test the Java code that you have developed in Task 2. Elaborate the amendments you may make to the code and/or algorithm to make it functional and meet the requirements. Use sample data from tables 1-4 and additional entries with appropriate values entered by you. Provide legible screenshot evidence of code being functional, and screenshots for sample output for all menu options and test entries. Provide the final version of the full functional code as text in the appendix. (30 marks) (LOS: 1,4)