Design a payroll system, JAVA Programming

Assignment Help:

For your project, you will be designing a payroll system for a company. The company will use the system to generate payroll reports based on different kinds of employees in the company.

Accordingly, your system will be built upon a series of classes, all diagrammed in the accompanying UML structure. The first class is an abstract class Employee which has the following attributes:

·         firstName - Stores the first name of the employee
·         lastName - Stores the last name of the employee
·         id - Stores a unique individual identification number for the employee

The Employee class also has the following behaviors:

·         getFirstName() - Returns the first name of the employee
·         getLastName() - Returns the last name of the employee
·         getID() - Returns the identification number of the employee
·         toString() - Formats and returns the employee's personal information
·         getDepartment() - Returns the employee's department as a string (used in subclass toString() implementations)
·         currentPay() - Returns the employee's current pay for the current pay cycle, based on how they are paid

All subclasses of the Employee class are to override the toString() method to individualize the output for the specific type of the employee.

All salaried employees are paid a base salary that is dispensed annually depending on the number of pay cycles. For example, if an employee makes $24,000 annually and is paid in 12 cycles, then their pay per cycle is $2,000. All CEO employees are salaried, and work in the Executive department. 

           All floor staff employees are paid a percentage of their sales based on a commission percentage per cycle. For example, if an employee makes $75,000 in sales and is paid 4.5% commission, then they earn $3,375 this pay cycle. All floor staff employees are commissioned, and work in the Sales department. 

           All help desk employees are paid per cycle based on an hourly rate for each hour worked. For example, if an employee earns $42.50 per hour and works 28 hours, then they earn $1,190 this pay cycle. All help desk employees are hourly, and work in the Support department. 

           You are responsible for creating and implementing all interfaces and implementing classes. They are to function as necessary within the general structure of the larger program, and are to be Employee types, as well. 

           The final class which you will write is a basic driver class. The output must correspond to the given screenshots. Your driver must accept user input in accordance with the screenshots provided. It must also provide the specific output provided in the screenshots.


Related Discussions:- Design a payroll system

Explain difference between method overriding and overloading, What is the d...

What is the difference between method overriding and overloading? Overriding is a method with the same name and arguments as in a parent, whereas overloading is the same met

Event handler, search a file with specific extension

search a file with specific extension

How to integrate your struts application with spring, To integrate your Str...

To integrate your Struts application with Spring, we have two options: ? Configure Spring to manage your Actions as beans, using the ContextLoaderPlugin, and set their dependenc

Explain the term array and scope of variable, Explain the term array and Sc...

Explain the term array and Scope of Variable? Defining the space in that a variable is effective is known as describing the scope of a variable. A variable can be either local

Program a pong game using rmi, Using RMI, program a PONG game that enables ...

Using RMI, program a PONG game that enables two users to play against one another. Pong class: package graphics;/* * Copyright (c) 2006, Your Corporation. All Rights Reserved. */

Which is better to store data as attributes or as elements? , A question ri...

A question rising in the mind of XML/DTD designers is whether to model and encode retain information using an attribute, or alternatively, using an element. 1. Using  an  elemen

Saaa, Write a program to find the area under the curve y = f(x) between x =...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b.

Explain the execute phase of java program development, Explain the Execute ...

Explain the Execute phase of Java Program Development Finally in phase computer, under the control of its CPU, interprets program one bytecode at a time. Hence performing

Explain the member access separator, Explain the Member Access Separator ? ...

Explain the Member Access Separator ? class Car { String licensePlate; // e.g. "New York 543 A23" double speed; // in kilometers per hour double maxSpeed; // in

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd