The system that you will create is a Restaurant Menu Management System (RMMS). The RMMS is a tool used by a restaurant that manages menu and for ordering meals. The menus may be used potentially at different venues and for different purposes like breakfast, lunch, dinner and take away. Menu has a unique ID, name and is associated with a particular venue and session time. For each Restaurant menu, there are a number of available meals (menu items) available for ordering by guests. This IT system, RMMS, will enable the manager to customise and save menus to the system as well as view the stored list of menus. It will be possible to inspect details for each menu. The details will include specifics of the menu as well as specific details regarding discounts that may apply to certain meals. It will also be possible to categorise particular meals on each menu. The menu item categorisation will determine the way that prices are calculated for display on the menu. Each menu item will have a number, name, description and basic price associated with it, when the price for display on the menu is calculated, this calculation may involve increasing the price with surcharges (e.g. some special meals might have a surcharge due to the difficulty in sourcing their ingredients locally); or decreasing the price due to a special discount. There can be a number of possible types of menu items incorporated into your system. Example menu item types are as follows: 1. A standard menu item will have the price calculated based exactly on the price entered into the system. 2. A premium menu item can be created with a mechanism to indicate that it is to have a surcharge added to the price. The surcharge will increase the price of the meal based on a constant percentage mark up value specified by the manager; 3. It is possible to create a discount menu item meal to apply a discount to the given price; 4. Drinks menu item whose price will not have any surcharge and discounts. Customer can order menu items from any one menu at one time. The RMMS will give discount to customers according to their status. When customer place order, system will ask the status of customer and discounts will be given according to following information. 1. Active customers are the one who visits restaurant at least once a week and will get 5% discount on every order they made. 2. VIP customers are the one who have been visiting restaurant from more than one year and will get 10% discount on all orders. 3. New Customers will not get any discounts. Once an order is placed, RMMS will calculate the total of order and will issue invoice to customer. Requirement 1: Class Diagram This section expects you to create a class diagram after reading the coding requirements. Your class diagram should have proper relationships between classes, all possible attributes, constructors and methods that your class files will have. You need to use correct notation which is discussed in class. Requirement 2: Coding 2.1 Create Menu class which will have basic attributes as given in background information. a) This class has array of menu Items so you need to add proper methods to add the items into the array, remove the items and retrieve the item from the array. b) You need to write proper toString() method to display the details of menu and menu items in it. c) A default constructor which assigns each instance variable a default value. Kent Institute Australia Pty. Ltd. Assessment Brief ABN 49 003 577 302 CRICOS Code: 00161E RTO Code: 90458 Version 2: 11th October, 2019 TEQSA Provider Number: PRV12051 d) A constructor with parameters which assign values to each instance variable. Note that the values to initialise in the objects should be passed in using arguments when the constructor is called. e) Author get and set methods for your classes for instance variables where appropriate. 2.2 Create menu Item class which will have attributes mentioned in background information. As there are different types of menu Items to create sub classes to represent menu Items which are Standard, Premium, Discounted and Drinks. You must provide the following in each particular specialised menu type class. a. All MenuItems have (at least) the following attributes: itemNumber (int), itemName (String), Description (String), itemPrice(double) which will be inherited from super class and one additional attribute of your own choice. b. A default constructor which assigns each instance variable a default value. The String variables (e.g. itemName) should be initialised to “unknown”, the price should be initialised to a minimum default price and any object fields initialised to null. c. A constructor with parameters which assign values to each instance variable. Note that the values to initialise in objects should be passed in using arguments when the constructor is called. d. Author get and set methods for your classes for instance variables where appropriate. e. Write a toString() method in each class that will return a String containing all the relevant data for each of your objects. f. In each of your specialised menu item classes, override the setPrice method to perform an appropriate price calculation based on the data in the object. 2.3 Create a customer class which will have name (String) , discount (double) and status (String) as its attributes. a. A default constructor which assigns a instance variable a default value. Note: You do not want customer to do any manipulations with the discount value. It will be calculated according to the status. b. A constructor with parameters which assign values to each instance variable c. Write get and set methods for your classes for instance variables where appropriate. d. Write a toString() method in each class that will return a String containing all the relevant data for each of your objects e. setDiscount() method will calculate and set the discount according to status of customer. 2.4 In Restaurantdriver class, create a main method and do as follows: a) Create 10 standard menu items, 10 premium menu items, 10 discounted menu items and 10 drinks menu items. b) Populate menu with different types of menu items. c) Display a welcome message to screen to show the name of system and details of students who have developed this system. d) Ask user if they want to place order. If yes, ask the name and status of customer e) Once user make a choice, display the items available in that menu and ask user to enter the items they want in their order. User will use the number to add the items and can add one item more than once. Keep asking the user until they wish to finish the order. f) When user wish to finish order, program should calculate the total of all items and deducting customer discount according to the status they entered. g) Display the total amount due with all the details of order.
The post Create a Restaurant Menu Management System (RMMS). appeared first on Best Custom Essay Writing Services | EssayBureau.com.