COURSE: Bachelor of IT
Unit: Object Oriented Design and Programming
Unit Code: OODP101
Type of Assessment: Assessment Task 4 - Individual Programming Solution to a Problem
Outcomes addressed: Upon successful completion of this unit students should be able to: a. Analyse and dissect simple design and programming problems
b. Demonstrate basic knowledge of object oriented programming concepts and syntax
c. Implement a well-designed modularised solution to small programming problems
d. Develop and/or implement testing schedules
Submission Date: Week 11
Assessment Task: Individual Programming Solution to a Problem
Total Mark: 30
Weighting: 30% of the unit total marks
Students are advised that any submissions past the due date without an approved extension or without approved extenuating circumstances incurs a 5% penalty per calendar day, calculated from the total mark
E.g. a task marked out of 40 will incur a 2 mark penalty per calendar day.
More information, please refer to (Documents Student Policies and Forms POLICY – Assessment Policy
& Procedures – Login Required)
After completing this assessment, you should have developed skills to demonstrate that you are able to:
Write classes that are subclasses of other classes
Write code that overrides behaviour of inherited methods.
Write code that exploits the benefits of polymorphism
Observe/apply principles of good object-oriented design
1. Individual understanding of Object Oriented Programming principles
Write about 500 words to explain what you have learnt in week 9 and week 10. Use appropriate examples to illustrate your understanding.
The classes you write will be to represent a variety of product types available at a supermarket. They will all have a common method to produce a line of output suitable to be included in a docket. However, depending on what type of product it is, this output will contain different sort of information.
For all products, the output line should include:
The name of the item he ID of product
The price of the item
The amount of the price which is a tax-component (explained below)
Depending on the type of product, the following additional information should be output:
If it is a Fresh Fruit item, the weight of the item (e.g. the Apple is 100 grams, the watermelon is 1200 grams).
If it is a Packaged item, the quantity of units in the package (e.g. 4 eggs in the package,
20 chocolate bars in the bag), and a use-by date.
The tax-component is calculated from the price of the item, and the following rates are used:
For Fresh Fruit items, 0%
For Packaged items, 10% of the price
1. Create a class named Product to be the superclass of all products. It should have suitable constructors to aid with polymorphic behaviour, and contain suitable attributes to store the information that is common to all product types (but whose values vary for each instance of that product type), and appropriate accessors. For all products, the toString method should return only the name and ID of the product.
2. Create a class to represent Fresh Fruit items. It should be a subclass of the class made in task 1. Ensure that it contains appropriate attributes to store additional information specific to fresh fruit. Ensure that there is a suitable constructors, mutators to set all values appropriately, and that there are appropriate accessors to obtain all information relevant to fresh fruit. Override toString() method so that it return all relevant information related to the fresh fruit.
3. Create a class to represent Packaged items. It should be a subclass of the class made in task 1. Ensure that it contains appropriate attributes to store additional information specific to packaged items. Ensure that there is a suitable constructors, mutators to set all values appropriately, and that there are appropriate accessors to obtain all information relevant to packaged items. Override toString() method so that it return all relevant information related to the Packaged items.
4. Create a driver class which will have main method and following functionalities.
Create 5 Fresh Fruits items and 5 packaged items and display them on console.
Ask user to select the products that they want to buy by selecting the IDs.
User can buy multiple products in one purchase.
Use proper get methods to find total amount and total tax component.
Display the docket which will have information about total amount due and total tax value in purchase.
5. Create a class diagram for above mentioned classes. Show all attributes, methods and proper relationships between classes.
ASSESSMENT SUBMISSION: Week 11
MARKING GUIDE (RUBRIC):
There’s a total of 30 marks available
Marking criteria Maximum
Explanation of concepts covered in week 9 and week 10 with examples 3
Creation of Product class with all attributes, constructor and methods. 4
Constructor overloading in product class to show polymorphic behaviour 1.5
Creation of Fresh Fruit class with all attributes, constructor and methods. 4
Method overriding in Fresh fruit class to show polymorphic behaviour 1.5
Creation of Packaged class with all attributes, constructor and methods 4
Method overriding in Packaged class to show polymorphic behaviour 1.5
Creation of ten different products in driver class 2
Display all created products 2
Program allow user to buy more than one product 2
Display the total amount due and tax component 2
Proper class diagram 2.5
A one or two page design + test data document, your .java and .class files
GENERAL NOTES FOR ASSIGNMENTS
Assignments should usually incorporate a formal introduction, main points and conclusion, and will be fully referenced including a reference list.
The work must be fully referenced with in-text citations and a reference list at the end. We strongly recommend you to refer to the Academic Learning Skills materials available in the Moodle. For details please click the link http://moodle.kent.edu.au/kentmoodle/course/view.php?id=5 and download the file “Harvard Referencing Workbook”. Appropriate academic writing and referencing are inevitable academic skills that you must develop and demonstrate.
We recommend a minimum of FIVE references, unless instructed differently by your lecturer. Unless specifically instructed otherwise by your lecturer, any paper with less than FIVE references may be failed. Work 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 – as a general rule you may go over or under by 10% than the stated length.
GENERAL NOTES FOR REFERENCING
High quality work must be fully referenced with in-text citations and a reference list at the end. We recommend you work with your Academic Learning Support (ALS) site (http://moodle.kent.edu.au/kentmoodle/course/view.php?id=5) available in Moodle to ensure that you reference correctly.
References are assessed for their quality. You should draw on quality academic sources, such as books, chapters from edited books, journals etc. Your textbook can be used as a reference, but not the lecturer notes. We want to see evidence that you are capable of conducting your own research. Also, in order to help markers determine students’ 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 assignment or own contribution, please review this ‘YouTube’ video by clicking on the following link: Plagiarism: How to avoid it
PLAGIARISM: HOW TO AVOID IT
You can search for peer-reviewed journal articles, which you can find in the online journal databases and which can be accessed from the library homepage. Wikipedia, online dictionaries and online encyclopaedias are acceptable as a starting point to gain knowledge about a topic, but should not be overused – 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 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 nonpeer reviewed websites: Why can't I just Google? (thanks to La Trobe University for this video).