As the head of Information Technology at Acme, Inc., you are tasked with building a new payroll system to replace the existing system which is hopelessly out of date. Acme needs a new system to allow employees to record time card information electronically and automatically generate paychecks based on the number of hours worked and total amount of sales (for commissioned employees).
The new system will be state of the art and will have a Windows-based desktop interface to allow employees to enter timecard information, change employee preferences (such as payment method), enter purchase orders, and create various reports. The desktop version will run on individual employee desktops throughout the entire company, and the web interface will be accessible from any web browser running on Acme’s intra-net. For reasons of security and auditing, employees can only access and edit their own time cards and purchase orders .
The system will retain information on all employees in the company (Acme currently has around 5,000 employees world-wide). The system must pay each employee the correct amount, on time, by the method that they specify (see possible payment methods described later). Acme, for cost reasons, does not want to replace one of their legacy databases (the Project Management Database) that contains all information regarding projects and charge numbers. The new system must work with the existing Project Management Database, which is a DB2 database running on an IBM mainframe. The Payroll System will access but not update information stored in the Project Management Database. Acme also wishes to utilize existing hardware and software as much as possible, so the new system should take advantage of the company’s Oracle server (running on a Sun Sparc/Ultra), the intra-net web server, and the existing set of desktop machines (running a variety of Windows versions).
Some employees work by the hour and they are paid an hourly rate. They submit daily timecards that record the date and number of hours worked for a particular charge number. If someone works for more than 8 hours, Acme pays them 1.5 times their normal rate for those extra hours. Hourly workers are paid every Friday.
Some employees are paid a flat salary. Even though they are paid a flat salary, they submit daily timecards that record the date and hours worked. This is so the system can keep track of the hours worked against particular charge numbers. They are paid on the last working day of the month.
Some of the salaried employees also receive a commission based on their sales. They submit purchase orders that reflect the date and amount of the sale. The commission rate is determined for each employee, and is one of 10%, 15%, 25%, or 35%. Sales people are paid every other Friday.
One of the most requested features of the new system is employee reporting. Employees will be able to query the system for number of hours worked, totals of all hours billed to a project (i.e., charge number), remaining vacation time, etc. The reporting feature will be available either through the desktop or the web interface.
Employees can choose their method of payment. They can have their paychecks mailed to the postal address of their choice, or they can request direct deposit and have their paycheck deposited into a bank account of their choosing. The employee may also choose to pick their paychecks up at the office. The employees can select their desired payment method on-line, but for security reasons, initially only through the desktop and not the web browser interface.
Employee information is maintained by the Payroll Administrator. The Payroll Administrator is responsible for adding new employees, deleting employees and changing all employee information such as name, address, payment method and payment classification (hourly, salaried, commissioned), as well as running administrative reports.
The payroll application will run automatically every Friday and on the last working day of the month. It will pay the appropriate employees on those days. The system will be told what date the employees are to be paid, so it will generate payments for records from the last time the employee was paid to the specified date. The new system is being designed so that the payroll will always be generated automatically and there will be no need for any manual intervention.