Reference no: EM132363317
Programming fundamentals
Purpose of the assessment (with ULO Mapping) This assignment assesses the basic concepts of programming; students should be able to demonstrate their achievements in the following unit learning outcomes:
a. describe the fundamental principles of object-oriented programming;
b. interpret a user's needs while dealing with simple program specifications;
c. design a simple class using UML notation;
d. create a simple application based on UML design and the incremental development process of coding, debugging, and testing;
e. apply basic control structures - sequence, repetition, and selection - to program development;
f. produce simple interactive applications.
Assignment Description
This assignment focuses on programming basics; expressions, variables, constants, methods, selection and loops.
Danny runs anice cream shop in the inner suburbs of Melbourne. Due to the growing number of customers, Danny has decided to take on extra casual employees. In order to manage payroll for his employees, Danny has decided to develop an employee payroll management system. Details of each employee to be maintained in the system will include; employee id, name, gender (M or F), phone number, hours worked, pay per hour, 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 the 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 30%. Any hours over forty (40) is paid as an overtime hour at the rate of (2.5) times the base hourly rate.
For example, an employee who has worked a total of 45hours with an hourly rate of $20 will have;
Regular pay=40*$20=$800
Overtime pay=5 * $20 * 2.5 = $250
Gross pay=$800 + $250 = $1,050
Income tax payable=$1050 * 30%=$315
Net pay=$1050-$315=$735
Task Requirements
Imagine you have been hired to develop this system. Familiarise yourself with the problem description and write a python program named payroll.py with the following functions:
1. Create a main () as a driver function in your payroll progam. Within the main (), you will declare all the required variables, and invoke the other methods described in the next step as required for calculations and displaying the program output.
2. Create additional functions in your payroll program for calculations as follows:
a. Function to calculate the overtime hours
b. Function to calculate the gross pay
c. Function to calculate the income tax payable and
d. Function to calculate thenet pay
These functions needs to be invoked in correct order within your driver function main (), so that when your program executes, it should be able to produce an output as an employee's pay slip like the example below.
Danny's IceCream Parlour ABN: 222 333 145
Employee: Andrew
Payment Date: 24/03/2019
Gross Pay: $1050.00
Net Pay: $735.00
Pay Period from: 21/02/2019 to 20/03/2019
Item Total Hours Calculated Rate Type
Base Hourly @$20.00 45 (5 OT) $1050.00 Wages
PAYG Withholding $-315 Tax
*OT: Over time
Submission requirements:
1. Your assignment should include the following in the .ZIP archive:
• A Word report with sections containing:
1. An overview of the problem description of the assignment
2. Pseudocode as an algorithm for the program
3. Screen shot/capture of the program output
4. Statement of completion
5. Acknowledgment of any help taken for assignment completion
• Python file (payroll.py) that can be executed by your tutor
2. 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 and the python (payroll.py) files into that folder.
• Zip the folder.
i. Right-click on the folder
ii. In the pop-up menu select Send-to, Compressed (zipped)Folder