ODP101 Type of Assessment: Task 4 –Solution to programming problem

Unit: Object Oriented Design and Programming
Unit Code: OODP101
Type of Assessment:
Task 4 –Solution to programming problem
An individual programming solution with emphasis on object oriented
programing principles discussed in lectures
Length/Duration: N/A
Course Learning
Outcomes addressed:
Systems development and User experience
a) To act as an ethical practitioner while demonstrating skills in data
analysis, database design, system design, web design and software
development & testing.
Teamwork and self-management skills
b) To take responsibility for their own time management delivering
quality required material on time in dynamically changing technological
and communication contexts whether as an individual or member of a
small team.
Unit Learning
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: 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.
Kent Institute Australia Pty. Ltd.
Assessment Brief ABN 49 003 577 302 CRICOS Code: 00161E RTO Code: 90458
Version 1: 22nd December, 2016 TEQSA Provider Number: PRV12051
More information, please refer to (Documents > Student Policies and Forms > POLICY –
Assessment Policy & Procedures – Login Required)
ASSESSMENT DESCRIPTION:
You have been approached to design a java application for a local retailer The Merplier Crazy Lolly
Shop. It is envisioned that this java application will track the details of employees, customers, and
suppliers. The CEO wants a design, documentation, and code of a simple version of the java
application.
1. Design and Documentation
Purpose of system
Explain in simpler words what the following application will do after implementation.
Class Diagrams
In this section, you are to provide a class diagram for every user-authored class of the
system. You are expected to use inheritance so that you have parent class and child
classes.
2. Coding
Create a new project in Eclipse called Assessment 2. Within this project create a package called
lollyShopSystem. You then must design the classes and include the following:
1. Author the following classes within your newly created package:
a. LollyShopDriver – which will be used to run the application. This class will have a
main method.
b. Person – this is an parent class and includes the following attributes
i. firstName (String)
ii. surname (String)
iii. phoneNumber (String)
iv. discount (int)
c. Customer – which will inherit from Person and includes the following attributes
i. emailAddress (String)
ii. And an additional attribute of your choice.
d. Employee – which will inherit from Person and includes the following attributes
i. hourlyWorked (double)
ii. And an additional attribute of your choice.
e. Supplier – which will inherit from Person and includes the following attributes
i. companyName(double)
ii. supplierStatus (String)
iii. And an additional attribute of your choice.
2. Provide at least two constructors for the Employee, Supplier and Customer classes:
i. A default constructor which assigns each instance variable a default value
ii. A constructor with parameters which assign values to each instance variable.
3. Write get and set methods for your classes for all instance variables.
Kent Institute Australia Pty. Ltd.
Assessment Brief ABN 49 003 577 302 CRICOS Code: 00161E RTO Code: 90458
Version 1: 22nd December, 2016 TEQSA Provider Number: PRV12051
4. Write a toString() method in each class that will return a String containing all the relevant
data for each of your objects. Use get methods to write toString() method. Use the format
below in screenshot to display the details.
5. In the Customer, Employee and Supplier classes, create setDiscount() methods. Every group
of people have different discount amounts and they are:
a. Employees get a discount based on their hours worked. If an employee works less
than 20 hours, they get 5% discount, if they work between 21-30hours they get a
10% discount and if they work more than 30 hours they get a 15% discount
b. Customers do not get any discount.
c. Suppliers get discount according to their status. If status is “Active”, then 15%
discount and if status is “past supplier” then 5% discount and if status is “Future
supplier” then 10% discount.
6. In lollySHopDriver class, provide a main method that will do the following:
a. Create two objects of Employee with different details. One object using
parametrised constructor and one using setMethods().
b. Create two objects of Customer with different details. One object using
parametrised constructor and one using setMethods().
c. Create two objects of Supplier with different details. One object using parametrised
constructor and one using setMethods().
d. Display the details of all objects and amount of discount they receive from lolly shop
in the following format

Kent Institute Australia Pty. Ltd.
Assessment Brief ABN 49 003 577 302 CRICOS Code: 00161E RTO Code: 90458
Version 1: 22nd December, 2016 TEQSA Provider Number: PRV12051
ASSESSMENT SUBMISSION:
Java files and word document having class diagrams and explanation in week 11.
MARKING GUIDE (RUBRIC):
Marking Criteria Max Marks Marks
awarded
Purpose of System 2
Class diagrams with proper relationship 4
Person class
i. Two constructors(Constructor
Overloading)
ii. Getter method
iii. Setter method
iv. toString method
5
Customer
i. Two constructors (Constructor
Overloading)
ii. Getter method
iii. Setter method (override SetDiscount() as
per requirement)
iv. Overridden toString() method
5
Employee
i. Two constructors (Constructor
Overloading)
ii. Getter method
iii. Setter method (override SetDiscount() as
per requirement)
iv. Overridden toString method
5
Supplier
i. Two constructors (Constructor
Overloading)
ii. Getter method
iii. Setter method (override SetDiscount() as
per requirement)
iv. Overridden toString method
5
DriverClass
i. Creation of two objects of Employee,
Customer and Suppleir classes as per
requirements.
ii. Display the details and discount in format
given above
4
Total 30
GENERAL NOTES FOR ASSIGNMENTS
Kent Institute Australia Pty. Ltd.
Assessment Brief ABN 49 003 577 302 CRICOS Code: 00161E RTO Code: 90458
Version 1: 22nd December, 2016 TEQSA Provider Number: PRV12051
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).