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, enter purchase orders, change employee preferences (such as payment method), and create various reports. The system will run on individual employee desktops throughout the entire company. 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, which 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. Some employees work by the hour and they are paid an hourly rate. They submit 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 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%. 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), total pay received year-to-date, remaining vacation time, etc. 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 Payroll Administrator maintains employee information. The Payroll Administrator is responsible for adding new employees, deleting employees and changing all employee information such as name, address, 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.
Payroll System Supplementary Specification
The purpose of this document is to define requirements of the Payroll System. This Supplementary Specification lists the requirements that are not readily captured in the use cases of the use-case model. The...