Assignment title: Information


COIT11134 Object Oriented Programming (T1 2016) Assignment 1

Due date: Friday of Week 6 (22 April, 2016) 11:45pm AEST Weighting: 15% Length: No limit

Objectives This assignment is designed to test the ability in defining superclass, subclasses and creating & using objects in addition to designing Graphical User Interfaces (GUI).

Assignment Task CQ-Pest control (CQPC) has approached you to design a software application for handling the data related to their day to day operations. For this purpose, you need to develop a Java application that uses GUI and GUI-Layout managers of your choice. CQPC is employing three contractors to perform contract works in the premises of their customers. Each contract work is performed by only one contractor in one premise( tiêu đề) of a customer. Each contract work is undertaken in a single day only (commenced and completed on the same day). Under each contract work, the contractor can perform more than one type of pest control jobs. The types of pest control jobs performed in the customer's premises could be any of the following:

• General Pest control • Termite inspection

• Termite control fill Important details related to the pest control jobs and their current charges are shown in the following table. Type of job Current Charges Notes

General Pest control $190.00 Can be done separately Termite inspection $200.00 Can be done separately

Termite control fill $350.00 Can be done only along with Termite inspection

From the above table, it can be seen that if a customer requests for Termite control fill then the total charges for that Termite control fill will be $550 because that job includes the mandatory Termite inspection in addition to Termite control fill. The Java application is expected to display the following data that are related to the contract work:   • Contract work Id

• Date of contract work

• Address of the premises where the contact work was performed • Total charges of the contract work including the type(s) of pest control jobs performed and respective charges

• Name of the contractor performed the contract work

For the software application development, you are expected to create appropriate Java classes and also use the inheritance and/or aggregation concepts of OOD. You need to create your own superclass and sub classes that are relevant to the above mentioned pest control aspects. Please note that extending the available built-in Java classes such as JFrame will not be considered, as inheritance usage, for assignment marking purpose. The GUI layout is left to your choice. In addition to the above requirements, the application should provide the following: • Title showing your Student ID and Full name • Facility to clear the user-inputs • Facility to stop/exit the running application

• The application needs to be user-friendly and should display appropriate error/exit messages

FAQ ( frequently asked question)

• How many Java classes should I create? • I have not used inheritance or aggregation in my application. Can I submit my application?

• Can I use platforms other than TextPad and NetBeans? • Do I have to create Java classes for contractor and customer too? • The charges may need to be changed in the future. How can I change the charges in future?

• Should I take into account that there will be some more type of pest control jobs in the future? • Will there be any difference in charges for the pest control job in terms of the size of the premises? Are the charges the same for small premises and also for large premises? • Can a contractor perform General pest control only in the customer's premises? • Can a contractor perform Termite inspection control only in the customer's premises?

• Can I use more than one GUI Layout Managers in the application? • Can a customer order for more than one type of pest control job in the same request/order?

Some of the above questions can be answered from the details mentioned in this assignment task specification whereas some questions require you to analyse and discuss with your lecturer/tutor and design your application appropriately.  

Note: If you submit an interactive Java application without any GUI controls, you will be given only partial marks.

You should submit the following files:

• A zip file containing all Java source code files including the test driver file (and additional library or jar files used by your application, if any). • Report.docx (a word file containing screen shots showing various inputs, error messages and outputs from your application program run).

Assignment 1- Marking criteria

Item Description Maximum marks

1 Program compiles and runs 1 2 Used Inheritance and/or aggregation concept 1

3 Displays student id, student name (0.5 marks) and necessary controls for inputs needed for a contract work (1.5 marks) 2 4 Creates and displays relevant details of a contract work 2

5 Implemented Clear and Exit/Stop aspects. 1

6 Pest control job input handled properly including the display of error messages 1

7 Class implementation complete and adequate (Constructors, getters & setters and other methods) 4 8 Code quality (meaningful names, indentation, comments, constants etc.,) 2

9 Word file contains actual output screen shots from the application 1 10 Less late penalty (5% per day) 11 Less Plagiarism Total 15