This assignment focuses on programming basics; expressions, variables, constants, static methods and loops.
John runs a cafe in the inner suburbs of Sydney. Due to the growing number of patrons, cafe has decided to take on extra casual employees. In order to manage payroll for his employees, John has decided to develop an employee payroll management system. Details of each employee to be maintained in the system will include; employee id, name, sex (M or F), date of birth, phone number, number of hours worked, hourly rate, gross pay, net pay, and income tax payable.
The gross pay is calculated as the number of hours worked multiplied by pay per hour while net pay is calculated as the difference between gross pay and income tax payable of which income tax payable is calculated by multiplying gross pay by an income tax rate of 20%.
For example, an employee who has worked a total of 30 hours with an hourly rate of $18 will have;
gross pay=30*18=540
income tax payable=20%*540=108
net pay=540-108=432
Task Requirements
Imagine you have been invited to develop this system, familiarise yourself with the problem description and complete the following tasks.
- Develop a UML class diagram based on the problem description. The name of the class should be of the form MITnnnnnEmployee where MITnnnnn is your MIT ID.
- Identify a constructor for the class.
- Identify all the attributes for the Employee class.
- Identify all the set and get methods for each of the attributes identified in 1.b
- Write a Java implementation of the UML diagram defined in 1. In your class, include comments describing the function of the class, the name of the programmer and the date of implementation.
- Write a Java program (driver class) named PayrollCalculator with a main method. Within the main method, you will create(instantiate) an object of your implementation class in 2, and other create methods for calculating wages for the employees. Include comments describing the function of the program, the name of the programmer and the date of implementation.
- Declare all variables required for calculations as class variables.
- Include static methods to calculate the gross pay, income tax payable and the net pay.
- Once you have calculated the gross pay, income tax payable and net pay. Invoke the methods in correct order so that when your program executes, it should be able to produce an output as an employee’s pay slip like the example below.
Employee Pay Slip
John’s Cafe Ltd ABN:55135133
Pay Slip for: Jane Doe Payment Date: 20/05/2018
Pay Period from: 01/05/2018 to 15/05/2018 Gross Pay: $540.00 Net Pay: $432.00
Description Hours Worked Calculated Rate Type Base Hourly @$18.00 30 $540.00 Wages PAYG Withholding $-108 Tax
|
Submission requirements:
- Your assignment should include the following in the .ZIP archive:
- A Word document with the variables identified
- Java source code file for the class (.java file)
- Compiled file for the class (.class file)
- Instructions for archiving and submitting your files:
- Create a folder and name it with your student ID (MITnnnnnn, where nnnnnn are digits of your student number)
- Copy your Word document, .java and .class files into that folder.
- Zip the folder.
- Right-click on the folder
- In the pop-up menu select Send-to, Compressed (zipped)Folder