Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

BoxMart wants a new payroll application to generate pay checks and pay stubs for its employees. Each employee clocks in at that start of a

image text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed

BoxMart wants a new payroll application to generate pay checks and pay stubs for its employees. Each employee clocks in at that start of a work period and clock outs at the end of the period, this information is recorded in a time entry. BoxMart Pay Report Employee No: 48399 Employee Name: Bill Jones Pay Period: 01/14/2012 to 01/20/2012 Normal Hours Worked: Overtime Hours Worked: Hourly Wage: 40 hrs 8 hrs 12.25/hr $ Normal Pay: Overtime Pay: Gross Pay: Federal Tax: State Tax: Net Day: $ 490.00 147.00 $ 637.00 13.70 $ 19.11 $ 604.19 Hours OT Hrs 83 Date 01/14/2012 01/15/2012 01/16/2012 01/17/2012 01/18/2012 01/19/2012 01/20/2012 Time Log In Out 8:00 17:00 8:00 20:00 12:00 19:00 12:00 19:00 8:00 17:00 11:00 18:00 9:00 12:00 BOOOOO Pay Check 01/27/2012 Pay to: Bill Jones $ 604.19 The computations are as follows: If an employee works more than 6 hours then deduct 1 hour for a lunch period. If an employee, after deducting 1 hour works more than 8 hours in a day then the hours in excess of the 8 are considered to be overtime. Any hours in excess of 40 non-overtime hours are also considered overtime. The normal hours worked will be the total of all the non-overtime hours. This cannot be more than 40 hours. The overtime hours worked will be the total of all hours considered to be overtime. Normal pay will be the normal hours worked times the hourly wage. Overtime pay will be the normal hours worked times the hourly wage times 1 12. Gross pay is the sum of normal pay and overtime pay. Federal tax is 10% of the gross pay in excess of $500.00. State tax is 3% of the gross pay. Net pay is gross pay less federal and state taxes. The end of the pay period will be 6 days after the start of the pay period. The date of the pay check will be 13 days after the start of the pay period. Additional Specifications: You will need 3 classes to represent the business objects for this problem, one for the employee, one for the pay stub (which includes code to print both the pay report and pay check), and one for daily time entry. Note that for the pay stub, there can be many time entries. Provide getter methods for all instance variables. The only setter methods will be the employee's pay rate (yes they can get a raise). You do not need to write a program that accepts user input. Like assignments 1 and 2, just write a test program (this will be a fourth class). Is should instantiate a sufficient set of objects to print pay reports and pay checks for 3 different employees. The test program can hard code the data which is passed to the constructors. (do not hard code other values in the business classes except for federal tax rate, state tax rate, federal tax exemption - 500, 1 hour lunch deduction, 8 hour daily overtime threshold, and 40 hour weekly threshold). Make sure you develop test cases of an employee that receives no overtime pay, an employee that receives overtime pays as a result of exceeding the daily overtime threshold, and an employee that receives overtime pay as a result of exceeding the weekly overtime threshold. Furthermore, the test cases should include an employee that pays not federal tax and one that does. Add time entries to a pay stub one at a time using and add method (do not pass an array as an argument to the constructor). Place the code to print the pay report in one method and the code to print the pay check in another (thus you will need to call both in your test program on each pay stub object). Suggest that the time entry record the number of hours and overtime hours. Both of these are computed values (thus do not pass them in on the constructor). You will also need a method to adjust overtime. This method should have one argument, which is the number over hours to move from normal pay hours to overtime hours. Use this method once the weekly threshold has been reached to move the appropriate number of hours from normal to overtime. Suggest that the pay stub class have a method to compute pay. This method will loop over the pay entries to make appropriate adjustments to overtime hours, total the normal and over time hours, and perform all the computations. Call this method at that start of the print pay stub method. You may assume that an employee clocks in and clocks out on the hour (i.e., no minutes) Use LocalDate for date. For the time (hour), use just an int. Use good programming practices (javadoc, encapsulation, naming conventions, formatting). BoxMart wants a new payroll application to generate pay checks and pay stubs for its employees. Each employee clocks in at that start of a work period and clock outs at the end of the period, this information is recorded in a time entry. BoxMart Pay Report Employee No: 48399 Employee Name: Bill Jones Pay Period: 01/14/2012 to 01/20/2012 Normal Hours Worked: Overtime Hours Worked: Hourly Wage: 40 hrs 8 hrs 12.25/hr $ Normal Pay: Overtime Pay: Gross Pay: Federal Tax: State Tax: Net Day: $ 490.00 147.00 $ 637.00 13.70 $ 19.11 $ 604.19 Hours OT Hrs 83 Date 01/14/2012 01/15/2012 01/16/2012 01/17/2012 01/18/2012 01/19/2012 01/20/2012 Time Log In Out 8:00 17:00 8:00 20:00 12:00 19:00 12:00 19:00 8:00 17:00 11:00 18:00 9:00 12:00 BOOOOO Pay Check 01/27/2012 Pay to: Bill Jones $ 604.19 The computations are as follows: If an employee works more than 6 hours then deduct 1 hour for a lunch period. If an employee, after deducting 1 hour works more than 8 hours in a day then the hours in excess of the 8 are considered to be overtime. Any hours in excess of 40 non-overtime hours are also considered overtime. The normal hours worked will be the total of all the non-overtime hours. This cannot be more than 40 hours. The overtime hours worked will be the total of all hours considered to be overtime. Normal pay will be the normal hours worked times the hourly wage. Overtime pay will be the normal hours worked times the hourly wage times 1 12. Gross pay is the sum of normal pay and overtime pay. Federal tax is 10% of the gross pay in excess of $500.00. State tax is 3% of the gross pay. Net pay is gross pay less federal and state taxes. The end of the pay period will be 6 days after the start of the pay period. The date of the pay check will be 13 days after the start of the pay period. Additional Specifications: You will need 3 classes to represent the business objects for this problem, one for the employee, one for the pay stub (which includes code to print both the pay report and pay check), and one for daily time entry. Note that for the pay stub, there can be many time entries. Provide getter methods for all instance variables. The only setter methods will be the employee's pay rate (yes they can get a raise). You do not need to write a program that accepts user input. Like assignments 1 and 2, just write a test program (this will be a fourth class). Is should instantiate a sufficient set of objects to print pay reports and pay checks for 3 different employees. The test program can hard code the data which is passed to the constructors. (do not hard code other values in the business classes except for federal tax rate, state tax rate, federal tax exemption - 500, 1 hour lunch deduction, 8 hour daily overtime threshold, and 40 hour weekly threshold). Make sure you develop test cases of an employee that receives no overtime pay, an employee that receives overtime pays as a result of exceeding the daily overtime threshold, and an employee that receives overtime pay as a result of exceeding the weekly overtime threshold. Furthermore, the test cases should include an employee that pays not federal tax and one that does. Add time entries to a pay stub one at a time using and add method (do not pass an array as an argument to the constructor). Place the code to print the pay report in one method and the code to print the pay check in another (thus you will need to call both in your test program on each pay stub object). Suggest that the time entry record the number of hours and overtime hours. Both of these are computed values (thus do not pass them in on the constructor). You will also need a method to adjust overtime. This method should have one argument, which is the number over hours to move from normal pay hours to overtime hours. Use this method once the weekly threshold has been reached to move the appropriate number of hours from normal to overtime. Suggest that the pay stub class have a method to compute pay. This method will loop over the pay entries to make appropriate adjustments to overtime hours, total the normal and over time hours, and perform all the computations. Call this method at that start of the print pay stub method. You may assume that an employee clocks in and clocks out on the hour (i.e., no minutes) Use LocalDate for date. For the time (hour), use just an int. Use good programming practices (javadoc, encapsulation, naming conventions, formatting)

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Professional Microsoft SQL Server 2014 Administration

Authors: Adam Jorgensen, Bradley Ball

1st Edition

111885926X, 9781118859261

More Books

Students also viewed these Databases questions

Question

Was the treatment influenced by being novel or disruptive?

Answered: 1 week ago

Question

Describe the importance of employer branding.

Answered: 1 week ago

Question

Explain corporate sustainability.

Answered: 1 week ago