In: Computer Science
The list of ALL nonfunctional requirements and ALL design constraints for the system?
nonfunctional requirement based on :Performance ,Reliability, Availability, Security,Maintainability and Portability
Payroll Management System
As the head of Information Technology at Mena, Inc., you are tasked with building a new payroll management system to replace the existing system which is hopelessly out of date. Mena needs a new system to allow employees to record timecard 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 and submit timecard information, enter purchase orders, change some 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 auditing, employees can only access and edit their own timecards and purchase orders. The system will retain information on all employees in the company (Mena currently has around 7,000 employees worldwide). The system must pay each employee the correct amount, on time, by the method that they specify (see possible payment methods described later). Mena, 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 (hourly employee) work by the hour, and they are paid an hourly rate. They must submit timecards that record the date and number of hours worked for a particular charge number. If someone works for more than 8 hours, Mena pays them 1.5 times their normal rate for those extra hours. Hourly workers are paid every Friday. Salaried 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 done 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.
Employees can login to the system using their unique IDs’ and passwords and they can only make changes to the timecard for the current pay period and before the timecard has been submitted. The system retrieves and displays the current timecard for the employee. If a timecard does not exist for the employee for the current pay period, the system creates a new one. The start and end dates of the timecard are set by the system and cannot be changed by the employee. If the timecards are submitted, the system makes the timecard read-only. Commissioned employees receive a commission based on their sales. They must be able to maintain purchase orders, which includes adding, changing, and deleting purchase orders. To add an order, Commissioned employees need to submit a purchase order that reflects the date, purchased products, and amount of the sale. It should also contain customer point of contact and customer billing address. The system is responsible for determining the commission rate for each employee, and it is one of 10%, 15%, 25%, or 35%. Also, the system will generate and assign a unique purchase order number to the purchase order, which will be provided to the Commissioned employees as a purchase reference. This unique number can be used later by the Commissioned employees to update their orders’ information, as well as, to delete it. One of the most requested features of the new system is employee reporting. Where employees will be able to request the system for the total hours worked, totals hours worked for a particular project, total pay received year-to-date, or remaining vacation time (vacation / sick leave), etc. In order to create these reports they need to indicate the type of the report, information related to each type, begin and end date of the report and the system will provide the report that satisfies the specified criteria. Employees may then request to print the report. Employees can choose their method of payment. The payment method controls how the Employee will be paid. They can have their paychecks mailed to a postal address of their choice, or they can request direct deposit and have their paycheck deposited into a specific bank account of their choosing. Also, They may choose to directly pick their paychecks up at the office. Mena Payroll Administrator can maintain employee information after he/she logs in to the system. He is responsible for adding new employees, deleting employees and changing all employees’ information such as name, mailing address, social security number, phone number, payment classification (hourly, salaried, commissioned), salary (for salaried and commissioned employees), hourly rate (for hourly employees), commission rate (for commissioned employees), tax deductions and other deductions. Once a new employee is added to the system, a unique ID number will be generated and assigned as an identification reference. Furthermore, the Payroll Administrator can run administrative reports. He can request to create either a “Total Hours Worked” or “Pay Year-to-Date” report. And in order to complete the request for those reports, the administrator must specify the following report criteria: the report type, employee name, begin and end dates for the report. The payroll application will run automatically every Friday and on the last working day of the month to generate the paychecks. It will pay the appropriate employees on those days. The system calculates the pay using entered timecards, purchase orders, employee information and all legal deductions. 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. Moreover, the system shall interface with existing bank systems via an electronic transaction in order to complete the deposit of the generated paychecks. The main system must be running most of the time. It is imperative that the system be up and running during the times the payroll is run (every Friday and the last working day of the month). Also, the system shall simultaneously support a large number of users against the central database at any given time. Additionally, the system should prevent employees from changing any timecards other than their own. Finally, only the Payroll Administrator is allowed to change any employee information with the exception of the payment delivery method.
Payroll Management System Glossary The glossary contains the working definitions for the key concepts in the Mena Payroll Management System:
1. Bank System Any bank(s) to which direct deposit transactions are sent.
2. Employee A person who works for the company that owns and operates the payroll system (Mena, Inc.)
3. Payroll Administrator The person responsible for maintaining employees and employee information in the system.
4. Project Management Database The legacy database that contains all information regarding projects and charge numbers.
5. System Clock The internal system clock that keeps track of time. The internal clock will automatically run the payroll at the appropriate times.
6. Pay Period The amount of time over which an employee is paid.
7. Paycheck A record of how much an employee was paid during a specified Pay Period.
8. Payment Method How the employee is paid, either pick-up, mail, or direct deposit.
9. Timecard A record of hours worked by the employee during a specified pay period.
10. Purchase Order A record of a sale made by an employee.
11. Salaried Employee An employee that receives a salary.
12. Commissioned Employee An employee that receives a salary plus commissions.
13. Hourly Employee An employee that is paid by the hour.
Explanation:
Requirements analysis is very critical process that enables the success of a system or software project to be assessed. Requirements are generally split into two types: Functional and Non-functional requirements.
Functional requirements :
Non-functional requirements :
Design Constraints :
Summary :
In the light of the above discussions, the functional and non functional requirements and design constraints for this system under consideraton are outlined as follows:
The Solution:
Functional requirements :
1. Record timecard information of employees electronically and automatically generate paychecks based on the number of hours worked and sales commission
2. Allow employees to enter and submit timecard information, enter purchase orders, change some employee preferences (such as payment method), and create various reports.
3. Hourly employees need to be paid by the hour they have worked for based on their timecards that record the date and number of hours worked for a particular charge number
4. Hourly employees need to be paid 1.5 times their normal rate for those extra hours beyond 8 hrs
5. Hourly employees need to be paid every Friday
6. Salaried employees need to be paid last working day of the month
7. Salaried employees need to be paid flat salary but after recording their timecards capturing the date and time worked against a particular charge number
8. System should track the hours worked against particular charge numbers
9. Employees can login to the system using their unique IDs’ and passwords
10. Commissioned employees should receive a commission based on their sales.
11. Commissioned employees must be able to maintain purchase orders, which include adding, changing, and deleting purchase orders.
12. To add an order, Commissioned employees need to submit a purchase order that reflects the date, purchased products, amount of the sale and it should also contain customer point of contact and customer billing address.
13. The system is responsible for determining the commission rate for each employee, and it is one of 10%, 15%, 25%, or 35%.
14. The system will generate and assign a unique purchase order number to the purchase order, which will be provided to the Commissioned employees as a purchase reference.
15. This unique number can be used later by the Commissioned employees to update their orders’ information, as well as, to delete it.
16. The system should enable employee reporting, where employees will be able to request the system for the total hours worked, totals hours worked for a particular project, total pay received year-to-date, or remaining vacation time (vacation / sick leave), etc. In order to create these reports they need to indicate the type of the report, information related to each type, begin and end date of the report and the system will provide the report that satisfies the specified criteria.
17. The report should be able to be printed by the employees
18. System should allow for employees to choose their method of payment in order to control how they will be paid
19. The system should be able to arrange for paychecks mailed to a postal address of employee’s choice, or directly deposit the paycheck into a specific bank account of employee’s choosing or allow employees to directly pick the paychecks up at the office.
20. The system should be controlled by the Mena Payroll Administrator who can maintain employee information after he/she logs in to the system, is responsible for adding new employees, deleting employees and changing all employees’ information such as name, mailing address, social security number, phone number, payment classification (hourly, salaried, commissioned), salary (for salaried and commissioned employees), hourly rate (for hourly employees), commission rate (for commissioned employees), tax deductions and other deductions.
21. Additionally the system should enable the Payroll Administrator to run the administrative reports and also either a “Total Hours Worked” or “Pay Year-to-Date” report on receiving from the administrator specified report criteria: the report type, employee name, begin and end dates for the report
22. The system should generate unique ID number once a new employee is added and assign it as an identification reference.
23. The payroll application should run automatically every Friday and on the last working day of the month to generate the paychecks.
24. The system should calculate the pay using entered timecards, purchase orders, employee information and all legal deductions.
25. The system will generate payments for records from the last time the employee was paid to the specified date on receiving input what date the employees are to be paid.
26. 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.
27.
28. The system retrieves and displays the current timecard for the employee
29. The system should create a new timecard if a timecard does not exist for the employee for the current pay period.
30. the system shall interface with existing bank systems via an electronic transaction in order to complete the deposit of the generated paychecks.
31. The system should contain Payroll Management System Glossary
Non-functional requirements :
1. To design and develop a new state of the art Payroll Management system that replaces the old outdated system
2. Have a windows-based desktop interface
3. Run on individual employee desktops throughout the entire company.
4. The system will retain information of all 7000 employees in the company across the world
5. The system must pay each employee the correct amount, on time, by the method that they specify
6. can only make changes to the timecard for the current pay period and before the timecard has been submitted
7. The main system must be running most of the time. It is imperative that the system be up and running during the times the payroll is run (every Friday and the last working day of the month). The system shall simultaneously support a large number of users against the central database at any given time.
8. The system should prevent employees from changing any timecards other than their own. Finally, only the Payroll Administrator is allowed to change any employee information with the exception of the payment delivery method.
9. The payroll application should run automatically every Friday and on the last working day of the month to pay the appropriate employees on those days
10. The glossary should contain the working definitions for the key concepts in the Mena Payroll Management System: 1. Bank System Any bank(s) to which direct deposit transactions are sent. 2. Employee A person who works for the company that owns and operates the payroll system (Mena, Inc.) 3. Payroll Administrator The person responsible for maintaining employees and employee information in the system. 4. Project Management Database The legacy database that contains all information regarding projects and charge numbers. 5. System Clock The internal system clock that keeps track of time. The internal clock will automatically run the payroll at the appropriate times. 6. Pay Period The amount of time over which an employee is paid. 7. Paycheck A record of how much an employee was paid during a specified Pay Period. 8. Payment Method How the employee is paid, either pick-up, mail, or direct deposit. 9. Timecard A record of hours worked by the employee during a specified pay period. 10. Purchase Order A record of a sale made by an employee. 11. Salaried Employee An employee that receives a salary. 12. Commissioned Employee An employee that receives a salary plus commissions. 13. Hourly Employee An employee that is paid by the hour.
Design Constraints :
1. Employees can only access and edit their own timecards and purchase orders
2. For cost reasons, it must work alongside the legacy database management system of Mena, the Project Management Database, which contains all information regarding projects and charge numbers and thus interface with this DB2 database running on an IBM mainframe
3. It will access, but not update, information stored in the Project Management Database
4. The start and end dates of the timecard are set by the system and cannot be changed by the employee
5. The system makes the timecard read-only once they are submitted