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

  Create an application called registrar

Create an application called Registrar that has the following classes: A Student class that minimally stores the following data ?elds for a student and An Instructor class that minimally stores the following data ?elds for an instructor

  Prints out your gradebook entries

Create a new gradebook entry for four different CSCI courses. Must use a constructor to initialize the course name - Prints out your gradebook entries

  Write a method that returns the last digit of an integer

Write a method named lastDigit that returns the last digit of an integer - It should work for negative numbers as well.

  An array of integers and returns the range of values

Write a method called range that accepts an array of integers and returns the range of values in the array. The range is defined as 1 more than the difference between the maximum and minimum values in the array. For example, if an array called list c..

  How would you fix the program

How would you fix the program so it terminates when the user enters a Fahrenheit temperature less than the possible minimum temperature?

  Write a program that reads lines from a file

Write a program that reads lines from a file and prints them out, removing all occurrences of a specified string from the lines.

  Implement elliptic curve encryption - decryption in java

Implement Elliptic Curve encryption - decryption in java. Specifically, your program will read parameters, plaintext and ciphertextfrom a file

  Mutant bacterium-synthesize the amino acid tyrosine

Consider a mutant bacterium you have isolated which is unable to synthesize the amino acid tyrosine. You grow it in the presence of a chemical mutagen and isolate a single revertant, which is now able to grow in the absence of tyrosine

  Design and implement an applet that plays a simple game

Design and implement an Applet that plays a simple game to help teach a child to read. The game displays a picture on the left hand side of the Applet and a word on the right hand side. Below the pictures are two buttons for the child to click--on..

  Using a linked implementation of graph write a method that

using a linked implementation of graph write a method that takes two nodes as input and returns true if joining an edge

  Delete a random element from an arraylist

Elements in an ArrayList and picking one at random to remove. Unfortunately, this slow, since deleting a random element from an ArrayList is slow because of all the shifting. For this question, you should modify the poll()method so that it runs in..

  Write java program prints strings given at command line

Write down the program Average.java which just prints strings which it is given at command line, one per line. If nothing is given at command line, print "No arguments".

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