ASSESSMENT BRIEF
COURSE: Bachelor of Information Technology/ bachelor of Information Technology with a specialisation in Cyber Security |
|
---|---|
Unit: |
Object Oriented Design and Programming |
Unit Code: |
OODP101 |
Type of Assessment: |
Assessment 3 – Solution to programming problem by group of 3-4 students |
Length/Duration: |
20 Hours |
Unit Learning Outcomes addressed: |
Upon successful completion of this unit students should be able to: 1. Demonstrate basic knowledge of object-oriented programming concepts and programming problems 2. Analyse and dissect simple design and programming problem 3. Implement a well-designed modularized solution to small programming problems 4. Develop and/or implement testing schedules |
Submission Date: |
Week 11 and 12 |
Assessment Task: |
A group of 3-4 students will work together to provide a quality solution to programming problem using JAVA programming language, |
Total Mark: |
Assignment and Demonstration 30 Marks |
Weighting: |
30% of the unit total marks |
Students are advised that submission of an Assessment Task past the due date without a formally signed approved Assignment Extension Form (Kent Website MyKent Student Link> FORM – Assignment Extension Application Form – Student Login Required) or previously approved application for other extenuating circumstances impacting course of study, incurs a 5% penalty per calendar day, calculated by deduction from the total mark. For example. An Assessment Task marked out of 40 will incur a 2 mark penalty for each calendar day. More information, please refer to (Kent Website MyKent Student Link> POLICY – Assessment Policy & Procedures – Student Login Required) |
Kent Institute Australia Pty. Ltd. Assessment Brief ABN 49 003 577 302 CRICOS Code: 00161E RTO Code: 90458 Version 2: 18th March 2024 TEQSA Provider Number: PRV12051
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, purpose 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 5% 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 10% 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 15% 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.
Kent Institute Australia Pty. Ltd. Assessment Brief ABN 49 003 577 302 CRICOS Code: 00161E RTO Code: 90458 Version 2: 18th March 2024 TEQSA Provider Number: PRV12051
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. 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.
Kent Institute Australia Pty. Ltd. Assessment Brief ABN 49 003 577 302 CRICOS Code: 00161E RTO Code: 90458 Version 2: 18th March 2024 TEQSA Provider Number: PRV12051
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 two different menus for take-away and dine-in menu.
b) Create 10 standard menu items, 10 premium menu items, 10 discounted menu items and 10 drinks menu items.
c) Populate each menu with 5-7 menu items from each category.
d) Display a welcome message to screen to show the name of system and details of students who have developed this system.
e) Ask user if they want to place order. If yes, ask the name and status of customer. f) Once user make a choice, display the two different menu and ask user to select one menu and then show 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.
g) When user wish to finish order, program should calculate the total of all items and deducting customer discount according to the status they entered and add 2.5% service charge on dine-in orders.
h) Display the total amount due with all the details of order.
2.5 Document all methods in your code using comments and by following proper coding standards.
Requirement 3: Code and group work demonstration
Your group will be required to do demonstration in week 12 in class to your tutor/lecturer. Lecturer can ask any question from your group about your work submitted.
ASSESSMENT SUBMISSION:
Group leader will submit java project (coding), class diagram using a word file and individual contribution statement. All these should be put inside a zip/compressed file for submission. Java project (coding) should be exported from eclipse.
All other members will submit their own individual contribution statement.
This assignment must be submitted online in Moodle.
For assistance please speak to our Academic Learning Skills Coordinators, in Sydney ([email protected]) or in Melbourne ([email protected]). They can help you with understanding the task, draft checking, structure, referencing and other assignment-related matters.
GENERAL NOTES FOR ASSESSMENT TASKS
Content for Assessment Task papers should incorporate a formal introduction, main points and conclusion.
Kent Institute Australia Pty. Ltd. Assessment Brief ABN 49 003 577 302 CRICOS Code: 00161E RTO Code: 90458 Version 2: 18th March 2024 TEQSA Provider Number: PRV12051
Appropriate academic writing and referencing are inevitable academic skills that you must develop and demonstrate in work being presented for assessment. The content of high quality work presented by a student must be fully referenced within-text citations and a Reference List at the end. Kent strongly recommends you refer to the Academic Learning Support Workshop materials available on the Kent Learning Management System (Moodle). For details please click the link http://moodle.kent.edu.au/kentmoodle/mod/folder/view.php?id=3606 and download the file titled “Harvard Referencing Workbook”. This Moodle Site is the location for Workbooks and information that are presented to Kent Students in the ALS Workshops conducted at the beginning of each Trimester.
Kent recommends a minimum of FIVE (5) references in work being presented for assessment. Unless otherwise specifically instructed by your Lecturer or as detailed in the Unit Outline for the specific Assessment Task, any paper with less than five (5) references may be deemed not meeting a satisfactory standard and possibly be failed.
Content in Assessment tasks that includes sources that are not properly referenced according to the “Harvard Referencing Workbook” will be penalised.
Marks will be deducted for failure to adhere to the word count if this is specifically stated for the Assessment Task in the Unit Outline. As a general rule there is an allowable discretionary variance to the word count in that it is generally accepted that a student may go over or under by 10% than the stated length.
Students are not allowed to use AI tools for the preparation of their submissions.
GENERAL NOTES FOR REFERENCING
References are assessed for their quality. Students should draw on quality academic sources, such as books, chapters from edited books, journals etc. The textbook for the Unit of study can be used as a reference, but not the Lecturer Notes. The Assessor will want to see evidence that a student is capable of conducting their own research. Also, in order to help Assessors determine a student’s understanding of the work they cite, all in-text references (not just direct quotes) must include the specific page number(s) if shown in the original. Before preparing your Assessment Task or own contribution, please review this ‘YouTube’ video (Avoiding Plagiarism through Referencing) by clicking on the following link: link: http://moodle.kent.edu.au/kentmoodle/mod/folder/view.php?id=3606
A search for peer-reviewed journal articles may also assist students. These type of journal articles can be located in the online journal databases and can be accessed from the Kent Library homepage. Wikipedia, online dictionaries and online encyclopaedias are acceptable as a starting point to gain knowledge about a topic, but should not be over-used – these should constitute no more than 10% of your total list of references/sources. Additional information and literature can be used where these are produced by legitimate sources, such as government departments, research institutes such as the National Health and Medical Research Council (NHMRC), or international organisations such as the World Health Organisation (WHO). Legitimate organisations and government departments produce peer reviewed reports and articles and are therefore very useful and mostly very current. The content of the following link explains why it is not acceptable to use non-peer reviewed websites (Why can’t I just Google?): https://www.youtube.com/watch?v=N39mnu1Pkgw (Thank
you to La Trobe University for access to this video).
Kent Institute Australia Pty. Ltd. Assessment Brief ABN 49 003 577 302 CRICOS Code: 00161E RTO Code: 90458 Version 2: 18th March 2024 TEQSA Provider Number: PRV12051
MARKING GUIDE (RUBRIC):
Please read carefully each section/level and marks weightage.
Marking Criteria |
Marks |
---|---|
Requirement 1- Class Diagram |
2.5 |
Requirement 2- Coding 2.1 Menu Class and its sub classes Menu Class has: – All mentioned attributes (0.5 Mark) – Default constructor (0.25 Mark) – Parametrized constructor (0.25 Mark) – Getters and Setters (0.5 Mark) – toString()(0.5 Mark) – Method to add, retrieve and remove the elements of array (0.5 Mark) 2.2 MenuItem Class and its sub classes MenuItem Class has: – All mentioned attributes (0.5 Mark) – Default constructor (0.5 Mark) – Parametrized constructor (0.5 Mark) – Getters and Setters (0.5 Mark) – toString()(0.5 Mark) All sub classes have: – All mentioned attributes (1 Mark- 0.25 per class) – Default constructor (1 Mark- 0.25 per class) – Parametrized constructor (1 Mark- 0.25 per class) – Getters and Setters including overridden setPrice() according to condition (4 Mark- 1 per class) |
2.5 2.5 8 |
Kent Institute Australia Pty. Ltd. Assessment Brief ABN 49 003 577 302 CRICOS Code: 00161E RTO Code: 90458 Version 2: 18th March 2024 TEQSA Provider Number: PRV12051
– Overridden toString() Method (1 Mark) 2.3 Customer Class Customer Class has: – All mentioned attributes (0.25 Mark) – Default constructor (0.5 Mark) – Parametrized constructor (0.5 Mark) – Getters and Setters (0.5 Mark) – toString()(0.25 Mark) 2.4 RestaurantDriver Class – Creation of all menu items as per requirements (3 Mark) – Population of each menu (3 Mark) – Welcome message and option to ask for placing order (1Mark) – Complete order and proper invoice as per requirements (3 Mark) |
2 10 |
---|---|
Requirement 3- Code and group work demonstration – Clearly and accurately answered all questions and group cohesion is evident from demonstration |
2.5 |
Total |
30 |
Kent Institute Australia Pty. Ltd. Assessment Brief ABN 49 003 577 302 CRICOS Code: 00161E RTO Code: 90458 Version 2: 18th March 2024 TEQSA Provider Number: PRV12051