21-08-2013, 02:11 PM
PROJECT REPORT ON PAYROLL SYSTEM
PAYROLL SYSTEM.pdf (Size: 641.45 KB / Downloads: 551)
ABSTRACT
Project Objectives
The Software engineering course that we took this semester placed emphasis on the paradigm of
eXtreme Programming (XP) techniques. Extreme programming is a programming technique that
bases its values on simplicity, communication, feedback and courage. It encourages team work and
constant communication with the client. The objective of this project is to put into practice the
teachings that we have learnt about XP.
Approach
When we were first given this project, we met to determine how we were to carry out the task
assigned to us. We drew up a time-line, discussed about the programming language to use to carry
out the task, how the GUI would look like and also to make sure that we understood what was
assigned to us. We finally settled for Visual Basic (VB) as our programming language. We got more
information on what we were to do and set about completing our task, making use of the new ideas
taught in class, and especially spikes.
Achievement
Our task was to develop a payroll system that would keep a record of employee data including their
pension plan, union membership status, and taxes and also to be able to calculate the pay of the
employees taking into consideration employee data. We have been able to achieve these task. The
software we developed calculates the employee net pay from the deductions. The payslip can be
printed out as a receipt. Most of the bugs that we found and those that the clients and beta users
found have been corrected. Any new bugs found will also be corrected and the software will be
updated and released. Because we used object-oriented principles, modifying the software to fix bugs
or add a new feature has been relatively easy.
Definition of Problem
In XP, the user story serves the purpose of the problem statement and the specifications. The user
story provided by the client was as follows:
“You are to design and implement a payroll system that should accept employee hours
worked, compute net pay and record all the payroll data for subsequent processing. The
system should prepare pay cheques and a payroll ledger, and maintain data on a sequential
payroll file. Non-statutory deductions such as union dues and pension plans to be made.
“The payroll data are employee number, employee name, pay rate, and union member flag.
The year-to-date total should contain earnings, federal tax, pension plan, and union dues”
Indication of how the design fulfills the requirements
From the design picture above, it is clear that the software is meant to accept employee data, i.e., the
identification number, name, union membership status and pension plan. It should stores these data
in a XML file. The software computes the employee payroll depending on the rate and deductions
that has been specified for the employee. New employees can always be added to the list of existing
employees. There is no limit to the number of employees that the list holds. An employee's data can
be modified as well as deleted from the list.
Each employee has a link to a pay data in the payroll records module. From the design diagram, we
can see that a new payroll data can be added to the employee's list of existing pay data. The payroll
calculates the employee's pay depending on the hours worked, the employee's rates and deductions
that include pension dues, union membership dues and taxes. Each pay data is stored according to the
month and year is was calculated.
Summary
The main aim of this project was to put what we learnt in our Software engineering class into
practice. The payroll system designated to our team allowed us to fully exercise the techniques of
XP. The final deliverable was a simple payroll calculator and we were able to learn a new
programming language, VB. In addition, we were able to apply the knowledge of OOP learnt in our
Java classes to another language thereby giving us a better understanding of OOP.