RE: PAYROLL SYSTEM full report
PAYROLL.doc (Size: 944.5 KB / Downloads: 114)
Expert Software Consultants Ltd. is a Software Development, System Integration and Consultancy Services Organization. Providing efficient and cost-effective solutions to the complex information management requirements of its customers through innovative applications of the latest technology.
Our areas of expertise include Multi-Lingual Web and Desktop Applications, Data Communication, Fax, Data Entry, E-Mailing System in Indian Languages, Portals to Support Data Collection and Data Delivery, Multimedia, Voice, Data Warehousing, Mining and Analysis, and Analytical Transaction Processing.
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 atone particular time or the other. The software is built exactly the way the client wants it to be built.
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.
At the beginning of the project, we scheduled meeting time for the group to discuss on the design and implementation of the software and what language to use in writing the software. We had several meetings to this effect. When then developed a time-line for the project–when we would be releasing the first version for scrutiny and the estimated time we thought we would use for refactoring. We also pondered on a suitable name to give the project. We came up with the name “Piccolo” but it was later changed to “Payroll System” after our meeting with our client. The group was then divided into two pairs that would work on parts of the code. We kept in touch with each other and whenever we had difficulties, we asked each other questions. On some occasions, we had to pretend we were the customer so as to try to figure out some of the things that user would desire, such as the friendliness of the user interface and ease of navigation through the software. We also created a blog so that we could communicate with each other, and also so that our client could track our progress http://TASystem.com
An Introduction to the methods and techniques adopted within the design
The software was built using Visual Basic and it can run on computers that have the PHP Framework installed. We divided the whole project into five main modules: employee data, payroll records, rates, ledger and help.
When a data is saved, the data gets written into an XML file. Keeping in line with making the software platform-independent, XML is also a highly platform-independent format for storing data.
This is where all the data of the employee is stored, along with each month’s payroll data for the employee. There is also a separate XML file for storing current rates. For an employee data or payroll data to be saved to the file, it has to be serialized. Getting any data from the file will require the data to first be deserialized before it can be used. Serialization and deserialization helped make the data storage very simple.
We also used the object-oriented paradigm to code and organize our program. This ensured code reuse, and efficient updating of the code later on.