OODP101 Object Oriented Design and Programming Assignment

Assignment Help JAVA Programming
Reference no: EM132643827

OODP101 Object Oriented Design and Programming - Kent Institute

Learning Outcome 1: Demonstrate basic knowledge of object-oriented programming concepts and programming problems

Learning Outcome 2: Analyse and dissect simple design and programming problem

Learning Outcome 3: Implement a well-designed modularized solution to small programming problems

Learning Outcome 4: Develop and/or implement testing schedules

ASSESSMENT DESCRIPTION:
Your task will be to design and develop a programming solution to a problem using JAVA programming language.

Background

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
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.

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.

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.

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.

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.

Attachment:- Object Oriented Design and Programming.rar

Reference no: EM132643827

Questions Cloud

Compute the aftertax cost of preferred stock : The treasurer of Riley Coal Co. is asked to compute the cost of fixed income securities for her corporation. Even before making the calculations
What are exceptions to the general rule : What are 3 exceptions to the general rule that assumes revenue is recognized at the point of sale. what is the justification for those assumptions?
Outside of overall protection from cyber-attacks : From your research, discuss whether or not your organization has ISO 27001 certification. Outside of overall protection from cyber-attacks, describe,
What methods might be used to combat the crimes : Why are transnational corporations in such a good position to commit corporate crimes and transgressions? What methods might be used to combat these crimes?
OODP101 Object Oriented Design and Programming Assignment : OODP101 Object Oriented Design and Programming Assignment Help and Solution, Kent Institute - Assessment Writing Service
Which the collection of cash from customer on account would : Which the collection of cash from customer on account would?? have no effect on net income or? shareholders' equity. / increase assets and decrease liabilities
Communicating diverse : Why might art be preferable to speech in raising awareness of these issues?
Examine events in which police supervisors were held : Examine two current events in which police supervisors were held criminally liable for their officers' misconduct and explain the reasons why.
Compute the aftertax cost of debt : The treasurer of Riley Coal Co. is asked to compute the cost of fixed income securities for her corporation. Even before making the calculations

Reviews

Write a Review

JAVA Programming Questions & Answers

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

These 14 questions covers java class, Array, link list , generic class.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd