Payroll System Use-Case Model
Version
2000
Revision History
Date |
Issue |
Description |
Author |
9/5/2000 |
V2000 |
Generation for beta |
Shawn Siemers |
10/2/2000 |
V2000 |
Final release |
Shawn Siemers |
|
|
|
|
|
|
|
|
Table of Contents
1.
Payroll System Use-Case Model Main Diagram
5
2.
Create Administrative Report
7
2.1
Brief Description
7
2.2
Flow of Events
7
2.2.1
Basic Flow
7
2.2.2
Alternative Flows
7
2.3
Special Requirements
7
2.4
Pre-Conditions
7
2.5
Post-Conditions
7
2.6
Extension Points
7
3.
Create Employee Report
8
3.1
Brief Description
8
3.2
Flow of Events
8
3.2.1
Basic Flow
8
3.2.2
Alternative Flows
8
3.3
Special Requirements
8
3.4
Pre-Conditions
8
3.5
Post-Conditions
8
3.6
Extension Points
9
4.
Login
10
4.1
Brief Description
10
4.2
Flow of Events
10
4.2.1
Basic Flow
10
4.2.2
Alternative Flows
10
4.3
Special Requirements
10
4.4
Pre-Conditions
10
4.5
Post-Conditions
10
4.6
Extension Points
10
5.
Maintain Employee Information
11
5.1
Brief Description
11
5.2
Flow of Events
11
5.2.1
Basic Flow
11
5.2.2
Alternative Flows
12
5.3
Special Requirements
12
5.4
Pre-Conditions
12
5.5
Post-Conditions
12
5.6
Extension Points
12
6.
Maintain Purchase Order
13
6.1
Brief Description
13
6.2
Flow of Events
13
6.2.1
Basic Flow
13
6.2.2
Alternative Flows
14
6.3
Special Requirements
14
6.4
Pre-Conditions
14
6.5
Post-Conditions
14
6.6
Extension Points
15
7.
Maintain Timecard
16
7.1
Brief Description
16
7.2
Flow of Events
16
7.2.1
Basic Flow
16
7.2.2
Alternative Flows
16
7.3
Special Requirements
17
7.4
Pre-Conditions
17
7.5
Post-Conditions
17
7.6
Extension Points
17
8.
Run Payroll 18
8.1
Brief Description
18
8.2
Flow of Events
18
8.2.1
Basic Flow
18
8.2.2
Alternative Flows
18
8.3
Special Requirements
18
8.4
Pre-Conditions
18
8.5
Post-Conditions
18
8.6
Extension Points
18
9.
Select Payment Method
19
9.1
Brief Description
19
9.2
Flow of Events
19
9.2.1
Basic Flow
19
9.2.2
Alternative Flows
19
9.3
Special Requirements
19
9.4
Pre-Conditions
19
9.5
Post-Conditions
19
9.6
Extension Points
19
The use case allows the Payroll Administrator to create either a “Total Hours Worked” or “Pay Year-to-Date” report.
The use case begins when the Payroll Administrator requests that the system create an administrative report.
1. The system requests that the Payroll Administrator specify the following report criteria:
- Report Type (either total hours worked
or pay year-to-date),
- Begin and end dates for the report,
- Employee
name(s)
2. Once the Payroll Administrator provides the requested information, the system provides the Payroll Administrator with a report satisfying the report criteria.
3. The Payroll Administrator may then request that the system save the report. At which time, the system requests the Payroll Administrator to provide the name and location for saving the report.
4. Once the Payroll Administrator provides the requested information and confirms the decision to save the report, the system saves the report to the specified name and location.
5. If the Payroll Administrator did not elect to save the report, the report is discarded.
If in the Basic Flow, the requested information is unavailable, the system will display an error message. The Payroll Administrator can choose to either return to the beginning of the Basic Flow, or cancel the operation, at which point the use case ends.
If, in the Basic Flow, the Payroll Administrator has not specified sufficient information to create the selected report, the system will prompt the actor for the missing information. The Payroll Administrator can either enter the missing information or choose to cancel the operation, at which point the use case ends.
None.
The Payroll Administrator must be logged onto the system in order for this use case to begin.
The system state is unchanged by this use case.
None.
The use case allows the Employee to create a “Total Hours Worked,” “Total Hours Worked for a Project”, “Vacation/Sick Leave,” or “Total Pay Year-to-Date” report.
This use case starts when the Employee wishes to create a “Total Hours Worked,” “Total Hours Worked for a Project”, “Vacation/Sick Leave,” or “Total Pay Year-to-Date” report.
1. The system requests that the Employee specify the following report criteria:
- Report Type
(either “Total Hours Worked,” “Total Hours Worked for a Project”, “Vacation/Sick
Leave,” or “Total Pay Year-to-Date”)
- Begin and end dates for the
report
2. If the Employee selected the “Total Hours Worked for a Project” report, the system retrieves and displays a list of the available charge numbers from the Project Management Database. The system then requests that the Employee select a charge number.
3. Once the Employee provides the requested information, the system provides the Employee with a report satisfying the report criteria.
4. The Employee may then request that the system save the report. At which time, the system requests the Employee to provide the name and location for saving the report.
5. Once the Employee provides the requested information and confirms the decision to save the report, the system saves the report to the specified name and location.
6. If the Employee did not elect to save the report, the report is discarded.
If, in the Basic Flow, the requested information is unavailable, the system will display an error message. The Employee can choose to either return to the beginning of the Basic Flow, or cancel the operation, at which point the use case ends.
If, in the Basic Flow, the Employee has not specified sufficient information to create the selected report, the system will prompt the actor for the missing information. The Employee can either enter the missing information or choose to cancel the operation, at which point the use case ends.
None.
The Employee must be logged onto the system before this use case begins.
The system state is unchanged by this use case.
None.
This use case describes how a user logs into the Payroll System.
This use case starts when the actor wishes to Login to the Payroll System.
1. The system requests that the actor enter his/her name and password
2. The actor enters his/her name and password.
3. The system validates the entered name and password and logs the actor into the system.
If, in the Basic Flow, the actor enters an invalid name and/or password, the system displays an error message. The actor can choose to either return to the beginning of the Basic Flow or cancel the login, at which point the use case ends.
None.
None.
If the use case was successful, the actor is now logged into the system. If not, the system state is unchanged.
None.
This use case allows the Payroll Administrator to maintain employee information. This includes adding, changing, and deleting employee information from the system.
This use case starts when the Payroll Administrator wishes to add, change, and/or delete employee information from the system.
1. The system requests that the Payroll Administrator specify the function he/she would like to perform (either Add an Employee, Update an Employee, or Delete an Employee)
2.
Once the Payroll Administrator provides
the requested information, one of the subflows is executed.
If the Payroll
Administrator selected “Add an Employee“, the Add an Employee subflow is
executed.
If the Payroll Administrator selected “Update an Employee“, the Update an Employee subflow is
executed.
If the Payroll Administrator selected “Delete an Employee“, the Delete an Employee subflow is
executed.
1. The system requests that the Payroll Administrator enter the employee information. This includes:
- name
-
employee type (hour, salaried, commissioned)
- mailing address
- social
security number
- standard tax deductions
- other deductions (401k,
medical)
- phone number
- hourly rate (for hourly employees)
- salary
(for salaried and commissioned employees)
- commission rate (for commissioned
employees)
- hour limit (some employees may not be able to work
overtime)
2. Once the Payroll Administrator provides the requested information, the system generates and assigns a unique employee id number to the employee and sets the paycheck delivery method to default of “pickup”. The employee is added to the system.
3. The system provides the Payroll Administrator with the new employee id.
1. The system requests that the Payroll Administrator enter the employee id.
2. The Payroll Administrator enters the employee id. The system retrieves and displays the employee information.
3. The Payroll Administrator makes the desired changes to the employee information. This includes any of the information specified in the Add an Employee sub-flow.
4. Once the Payroll Administrator updates the necessary information, the system updates the employee record with the updated information.
1. The system requests that the Payroll Administrator specify the employee id.
2. The Payroll Administrator enters the employee id. The system retrieves and displays the employee information.
3. The system prompts the Payroll Administrator to confirm the deletion of the employee.
4. The Payroll Administrator verifies the deletion.
5. The system marks the employee record for deletion. The next time the payroll is run, the system will generate a final paycheck for the deleted employee and remove the employee from the system.
If in the Update an Employee or Delete an Employee sub-flows, an employee with the specified id number does not exist, the system displays an error message. The Payroll Administrator can then enter a different id number or cancel the operation, at which point the use case ends.
If in the Delete An Employee sub-flow, the Payroll Administrator decides not to delete the employee, the delete is cancelled and the Basic Flow is re-started at the beginning.
None.
The Payroll Administrator must be logged onto the system before this use case begins.
If the use case was successful, the employee information is added, updated, or deleted from the system. Otherwise, the system state is unchanged.
None.
This use case allows a Commissioned Employee to record and maintain purchase orders. This includes adding, changing, and deleting purchase orders. Commissioned employees must record each of their purchase orders in order to receive commissions.
This use case starts when the Commissioned Employee wishes to add, change, and/or delete purchase order information from the system.
1. The system requests that the Commissioned Employee specify the function he/she would like to perform (either Create a Purchase Order, Update a Purchase Order, or Delete a Purchase Order)
2.
Once the Commissioned Employee provides
the requested information, one of the subflows is executed.
If the
Commissioned Employee selected “Create a Purchase Order “, the Create a Purchase Order subflow is
executed.
If the Commissioned Employee selected “Update a Purchase Order “,
the Update a Purchase Order subflow
is executed.
If the Commissioned Employee selected “Delete a Purchase Order
“, the Delete a Purchase Order
subflow is executed.
1. The system requests that the Commissioned Employee enter the purchase order information. This includes:
- customer point
of contact
- customer billing address
- product(s) purchased
-
date
2. Once the Commissioned Employee provides the requested information, the system generates and assigns a unique purchase order number to the purchase order. The purchase order is added to the system for the Commissioned Employee.
3. The system provides the Commissioned Employee with the new purchase order id.
1. The system requests that the Commissioned Employee enter the purchase order id.
2. The Commissioned Employee enters the purchase order id.
3. The system retrieves the purchase order associated with the purchase order id.
4. The system verifies that the purchase order is a purchase order for the Commissioned Employee, and that the purchase order is open.
5. The system displays the purchase order.
6. The Commissioned Employee makes the desired changes to the purchase order information. This includes any of the information specified in the Create a Purchase Order sub-flow.
7. Once the Commissioned Employee updates the necessary information, the system updates the purchase order with the updated information.
1. The system requests that the Commissioned Employee specify the purchase order id.
2. The Commissioned Employee enters the purchase order id.
3. The system retrieves the purchase order associated with the purchase order id.
4. The system verifies that the purchase order is a purchase order for the Commissioned Employee, and that the purchase order is open.
5. The system displays the purchase order.
6. The system prompts the Commissioned Employee to confirm the deletion of the purchase order.
7. The Commissioned Employee verifies the deletion.
8. The system removes the purchase order from the system.
If, in the Update a Purchase Order or Delete an Purchase Order sub-flows, an purchase order with the specified id number does not exist, the system displays an error message. The Commissioned Employee can then enter a different id number or cancel the operation, at which point the use case ends.
If, in the Update a Purchase Order or Delete a Purchase Order sub-flows, the Commissioned Employee attempts to access a purchase order that is not his, the system displays an error message. The Commissioned Employee can then enter a different id number or cancel the operation, at which point the use case ends.
If, in the Update a Purchase Order or Delete a Purchase Order sub-flows, the Commissioned Employee attempts to access a purchase order that is closed, the system displays an error message. The Commissioned Employee can then enter a different id number or cancel the operation, at which point the use case ends.
If, in the Delete A Purchase Order sub-flow, the Commissioned Employee decides not to delete the purchase order, the delete is cancelled and the Basic Flow is re-started at the beginning.
None.
The Commissioned Employee must be logged onto the system before this use case begins.
If the use case was successful, the purchase order information is added, updated, or deleted from the system. Otherwise, the system state is unchanged.
None.
This use case allows the Employee to update and submit timecard information. Hourly and salaried employees must submit weekly timecards recording all hours worked that week and which projects the hours are billed to. An Employee can only make changes to the timecard for the current pay period and before the timecard has been submitted.
This use case starts when the Employee wishes to enter hours worked into his current timecard.
1. 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.
2. The system retrieves and displays the list of available charge numbers from the Project Management Database.
3. The Employee selects the appropriate charge numbers and enters the hours worked for any desired date (within the date range of the timecard).
4. Once the Employee has entered the information, the system saves the timecard.
1. At any time, the Employee may request that the system submit the timecard.
2. At that time, the system assigns the current date to the timecard as the submitted date and changes the status of the timecard to “submitted.” No changes are permitted to the timecard once it has been submitted.
3. The system validates the timecard by checking the number of hours worked against each charge number. The total number of hours worked against all charge numbers must not exceed any limit established for the Employee (for example, the Employee may not be allowed to work overtime).
4. The system retains the number of hours worked for each charge number in the timecard.
5. The system saves the timecard.
6. The system makes the timecard read-only, and no further changes are allowed once the timecard is submitted.
If, in the Basic Flow, an invalid number of hours is entered for a single day (>24), or the number entered exceeds the maximum allowable for the Employee, the system will display an error message and prompt for a valid number of hours. The Employee must enter a valid number, or cancel the operation, in which case the use case ends.
If, in the Basic Flow, the Employee’s current timecard has already been submitted, the system displays a read-only copy of the timecard and informs the Employee that the timecard has already been submitted, so no changes can be made to it. The Employee acknowledges the message and the use case ends.
If, in the Basic Flow, the Project Management
Database is not available, the system will display an error message stating that
the list of available charge numbers is not available. The Employee acknowledges the error and
may either choose to continue (without selectable charge numbers), or to cancel
(any timecard changes are discarded and the use case ends).
Note: Without
selectable charge numbers, the Employee may change hours for a charge number
already listed on the timecard, but he/she may not add hours for a charge number
that is not already listed.
None.
The Employee must be logged onto the system before this use case begins.
If the use case was successful, the Employee timecard information is saved to the system. Otherwise, the system state is unchanged.
None.
The use case describes how the payroll is run every Friday and the last working day of the month.
The use case begins when it’s time to run the payroll. The payroll is run automatically every Friday and the last working day of the month.
1. The system retrieves all employees who should be paid on the current date.
2. The system calculates the pay using entered timecards, purchase orders, employee information (e.g., salary, benefits, etc.) and all legal deductions.
3. If the payment delivery method is mail or pick-up, the system prints a paycheck.
4. If the payment delivery method is direct deposit, the system creates a bank transaction and sends it to the Bank System for processing.
5. The use case ends when all employees receiving pay for the desired date have been processed.
If the Bank System is down, the system will attempt to send the bank transaction again after a specified period. The system will continue to attempt to re-transmit until the Bank System becomes available.
After the payroll for an Employee has been processed, if the employee has been marked for deletion (see the Maintain Employee use case), then the system will delete the employee.
None.
None.
Payments for each employee eligible to be paid on the current date have been processed.
None.
This use case allows an Employee to select a payment method. The payment method controls how the Employee will be paid. The Employee may choose to either: pick up his check directly, receive it in the mail, or have it deposited directly into a specified bank account.
This use case starts when the Employee wishes to select a payment method.
1. The system requests that the Employee specify the payment method he would like (either : “pick up”, “mail”, or “direct deposit”).
2. The Employee selects the desired payment method.
3.
If the Employee selects the “pick-up”
payment method, no additional information is required.
If the Employee selects the “mail”
payment method, the system requests that the Employee specify the address that
the paycheck will be mailed to.
If the Employee selects the “direct deposit”
method, the system requests that the Employee specify the bank name and account
number.
4. Once the Employee provides the requested information, the system updates the Employee information to reflect the chosen payment method.
If, in the Basic Flow, information for the employee could not be located, the system displays an error message, and the use case ends.
None.
The Employee must be logged onto the system before this use case begins.
If the use case was successful, the payment method for the Employee is updated in the system. Otherwise, the system state is unchanged.
None.