31-03-2014, 03:58 PM
PROJECT REPORT ON PAYROLL SYSTEM
PAYROLL SYSTEM.pdf (Size: 641.45 KB / Downloads: 82)
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.
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”
Definition of Project Objectives
The purpose of this project is to put into practice what we have learnt so far in our software
engineering class. We spent most of the semester studying extreme programming. With extreme
programming, the client knows how far he or her software is coming and knows what to except at
one particular time or the other. The software is built exactly the way the client wants it to be built.
Project Deliverables
We met with our client on a few occasions to show our progress so far. In the long run, showing the
client part of the finished product in stages helped. There were a few things he brought to our
understanding and we were able to change those things. If we had waited till we finished the coding,
we would have found it really difficult to correct the errors we found in such a short time.
The graphical user interface was acceptable to the client at this stage even though he thought we
could improve on it with a little more time. From our project deliverables, the client was able to
bring to our understanding that the employees should have different pay rates and that it would be
safe (for record purposes) to calculate the employee's year-to-data total salary earnings. These
observations were later incorporated into the final deliverable.
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.