BMIS 208 Course Project Timekeeping Payroll system for CMS
General Background Information:
CMS Systems, Inc. is a company that provides information systems consulting services to companies in the telecom industry in the United States and the United Kingdom. Due to its success, CMS is hoping to expand its operations into other parts of Europe. Despite its large size, CMS currently uses a manual/spreadsheet-based process for maintaining employee and client data. Management has now decided to implement a company-wide application that will keep track of all of its employees’ hours, calculate employee payroll, and produce invoices for clients based on hours worked by employees.
CMS currently employs 1,500 individuals (900 in the US and 600 in the UK) who serve as systems analysts, developers, managers, testers, maintenance engineers, accountants, lawyers, and sales representatives.
The company also has more than 200 clients in the US and UK. Clients can have one or more contracts with CMS to provide a variety of consulting services. For example, a single client might have 1 contract for maintenance of an existing system and also have another contract (sometimes called a work order by the sales force) for the development of a new system.
All CMS employees must keep a record of the time they spend working for each client on a weekly basis. Because employees can work for more than one client and perform different functions for each client, CMS utilizes “project management” to keep track of employee assignments to client contracts. Employees can be assigned to work on more than one project at a given time. In fact, it is not unusual for an employee to spend time on two or more different projects within the same day.
Just as a client can have more than one contract with CMS, a contract can consist of more than one project. For example, a contract for the development of a new system could be fulfilled in multiple phases. Phase I could include implementation at one client site using a group of consultants in close proximity to that site. Phase II could include implementation at a different site with a potentially different set of consultants. Both of these phases are considered separate projects, even though they are governed by the same contract.
The number of hours worked for each employee on each project must be recorded on a weekly basis. Employees currently log their time using an Excel worksheet. An example of this worksheet is presented below. Notice that the employee’s supervisor is listed on the worksheet. A supervisor is currently required to approve his/her employees’ timesheets by placing his/her initials beside his/her name.
For this project, you are required to create the GUI for a timekeeping/payroll system for CMS.
The system should first allow an employee to enter his/her name and record the time he worked on each project for a given week. Using the spreadsheet above as a guideline, the system must allow the user to enter his/her name and the name of his/her supervisor. Next, the user must enter the number of the week for which he is entering time. Assume a maximum of 52 weeks in a year. Make sure the employee enters only a valid week number.
To record an employee’s hours, the user must enter the name of a client, a client’s contract and a project. For each of the 7 days in a week, the user must enter hours worked or check a box that indicates the day is a weekend, a holiday, or a vacation day. If the employee fails to enter any hours for a day and fails to check the weekend/holiday/vacation box for that day, the system should warn the user that the given day is missing information. The system should also ensure that if any work hours are entered for a day, the checkbox for that day should NOT be checked. Finally, the system should ensure that a user cannot enter more than 24 hours in a single day. Once the hours are entered, the user should be able to “Submit” his/her hours by clicking a button that will calculate his/her payroll information for the week and display it on the same screen.
This assignment is due by 11:59 p.m. (ET) on Monday of Module/Week 7.
Payroll information is calculated as follows:
All employees are paid for hours worked at a rate of $15 US per hour. If the number of hours worked in the week exceeds 40, the employee is paid time and a half for his/her overtime hours. For example, assume an employee works 50 hours during a week, he will receive (40 X $15) + (10 overtime hours X (1.5 X $15)) = $825.00. If an employee works less than 40 hours in a week, the system should make note of this fact in a label beside the supervisor’s name. An example payroll calculation is shown below:
Payroll information for John Doe for the week ending Week 1:
Total Hours Worked: 42.00
Regular Hours Worked: 40.00
Rate per regular work hour: $15.00
Regular Hourly Pay: $600.00
OverTime Hours Worked: 2.00
Rate per overtime work hour: $22.50
Overtime Hourly Pay: $45.00
Gross Pay: $645.00
Number of Weekend/Holiday/Vacation days claimed: 2