0% found this document useful (0 votes)
75 views

Project Ignou

This document provides a project report on a Payroll Management System. It includes an introduction describing the purpose and scope of the payroll system, which is to automate payroll processes like calculating salary and leaves to reduce paperwork and errors. It aims to provide reports to management with employee attendance and leave usage details. The system calculates salary based on attendance and generates pay slips. It allows admin to add, edit, and delete employee details and provides login for employees.

Uploaded by

Abhishek kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
75 views

Project Ignou

This document provides a project report on a Payroll Management System. It includes an introduction describing the purpose and scope of the payroll system, which is to automate payroll processes like calculating salary and leaves to reduce paperwork and errors. It aims to provide reports to management with employee attendance and leave usage details. The system calculates salary based on attendance and generates pay slips. It allows admin to add, edit, and delete employee details and provides login for employees.

Uploaded by

Abhishek kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 54

Payroll Management System

Project Report

ABHISHEK KUMAR
194708894
MCS-044

Under Guidance of

Mr. Jayesh Solanki Associate Professor and Head LD Arts College,


Gujarat University

Submitted to the School of Computer and Information Sciences, IGNOU in


partial fulfillment of the requirements for the award of the degree of

Master of Computer Applications


(MCA)
2024

Indira Gandhi National Open University


Maidan Garhi

Page 1 of 54
CONTENTS

SR.NO CHAPTER PRATICULARS

. 1. - CERTIFICATE

2. - ROLES AND RESPONSIBILITIES

3. - ABSTRACT

4. INTRODUCTION

5. 02 TOOLS AND ENVIRONMENT

6. 03 ANALYSIS DOCUMENT

7. 04 DESIGN DOCUMENT

8. 05 PROGRAM CODE

9. 06 TESTING

10. 07 INPUT AND OUTPUT SCREEN

11. 08 LIMITATION

12. 09 FINDINGS

13. 10 RECOMMENDATIONS

14. 11 CONCLUSION

15. 12 FUTURE APPLICATIONS

16. 13 BIBLIOGRAPHY/REFERENCES

Page 2 of 54
CERTIFICATE OF AUTHENTICATED WORK

This is to certify that the Project report entitled PAYROLL MANAGEMENT


SYSTEM submitted to Indira Gandhi National Open University in partial fulfillment of
the requirement for the award of the degree of MASTER OF COMPUTER
APPLICATIONS (MCA) is an original work carried out by Mr. Abhishek Kumar
enrolment no. 194708894 under my guidance. The matter embodied in this project is
authentic and is genuine work done by the student and has not been submitted whether to this
University or to any other University / Institute for the fulfillment of the requirement of any
course of study.

……………………… ………..……………….

Signature of the Student: Signature of the Counsellor

Date:……………….. Date:……………………

Name and address Name and address


of the student of the Counsellor

Abhishek Kumar Mr. Jayesh Solanki


C2-G007 Spring Meadows IGNOU RC - AHMEDABAD
Tech Zone-IV SARKHEJ-GANDHINAGAR HIGHWAY
Greater Noida-201306 CHHARODI AHMEDABAD – 382481
Enrolment No-194708894

Page 3 of 54
ROLES AND RESPONSIBILITIES FORM

Name of the Project: PAYROLL MANAGEMENT SYSTEM Date: Feb 24

Name of the Team Member Role Tasks and responsibilities

Abhishek Kumar Individual project submission  Planning


 Data Manager
 Quality Manager
 Coding
 Testing

Name and Signature of the Project Team Members:

1. Abhishek Kumar Signature:………..…………

Signature of the Counsellor…………………. Date:………………..

Page 4 of 54
ABSTRACT
In a company, payroll is the sum of all financial records of salaries for an employee, wages and

deductions. In accounting, payroll refers to the amount paid to employees for services

they provided during a certain period of time. Payroll plays very major role in a company for several

reasons Payroll Management System gives you the power to:

 Manage Employee Information Efficiently.

 Monitor the attendance of employee

 Generate Pay-Slip at the convenience of a mouse click.

 Generate and Manage the Payroll Processes according to the Salary Structure assigned to the

employee.

 Generate all the Reports related to employee, attendance, payroll etc. This report is an attempt

to analyse the project with the title Payroll management System.

This system we have developed for solves the problem of paper work, calculation errors, Data

Retrieval, Data Integrity, and Data Security. This software is very flexible and can be developed

overtime based on the requirements that surface overtime. The software integrates four modules

which are the Login Module, Employee Registration, Employee Attendance, and Employee

Payment. Besides the system uses a connection string, Microsoft Access Database, SQL command

and so forth.

Page 5 of 54
1. Introduction:
Payroll system is the heart of any Human Resource System of an organization. The

solution has to take care of the calculation of salary as per rules of the company, income tax

calculation and various deductions to be done from the salary including statutory deductions

like Income tax and provident fund deductions. It has to generate pay-slip, cheque summary

and MIS reports.

It is understood that we are tired of managing thousands of odd papers, pay slips,

payroll reports, and salary details and so on. Imagine that we have a payroll processing

system which will generate our pay slips and payroll reports within seconds. We can help

others automated your payroll system by developing a customized payroll application that

suits your specific requirements.

The “Payroll Management System “is based on the salary activity for each company

staff depending on their attendance. The first activity is based on saving the employees details

where each employee will be given a unique Employee ID. The Admin only has the authority

to enter the number of leaves available for leave type and for each employee. Whenever an

employee wishes to take a leave, he is supposed to enter his employee Id. As soon as this is

done, he has to select the leave type like casual leave, providential leave etc. Depending on

the leave type the number of leaves available will be shown. The employee is supposed to

enter the no of leaves he needed and it will be saved in the database. In the meanwhile, the no

of leaves available will be deducted depending on the no of days he wished to take a leave.

Now based on the no of days an employee attended, salary will be calculated and a separate

salary slip will be provided for reference.

Page 6 of 54
Admin has the authority to add employee details. And he also has the right to edit or

delete employee information to/from the list. Admin provides a unique username and

password for each employee through which he can login and apply for leave. All the

information’s are being saved in the database. Upon completion of Introduction to Payroll

Management, we should be able to:

 Define the role that strategic, operational, human resources and financial management

play in an organization.

 Demonstrate the ability to monitor, analyse, communicate and implement legislative

changes.

 Analyze situations and apply the appropriate decision making tool.

 Participate in an organization’s risk management process by developing payroll con-

tinuity plans.

 Identify and apply the principles of project management.

 Define change management in terms of the forces that lead to organizational change.

 Demonstrate a professional payroll profile by applying privacy principles to the man-

agement of payroll information.

 Analyze ethical situations that may emerge related to compliance and/or human re-

sources situations.

1.1 Purpose

Main aim of developing Employee Payroll Management is to provide an easy way not

only to automate all functionalities involved managing leaves and Payroll for the

employees of Company, but also to provide full functional reports to management of

Page 7 of 54
Company with the details about usage of leave facility. We are committed to bring the

best way of management in the various forms of EPM. We understand that EPM in not a

product to be sold, it is a tool to manage the inner operation of Company related to

employee leave and Payroll.

1.2 Scope

This Application works in Multiple PC’s installed on multiple Computers but sharing

same database by which users of different department can use it sitting at different

locations simultaneously. But in future we can make the Application where the database

will be hosted in order to manage the all departments which will be located in different

places and by keeping domain of Application as Online. This project is helpful in

calculating the salary for each employee and it also focuses on each employee’s

attendance and the no of leaves taken per month/year. There is also a possibility of

checking salary report at any time so that it doesn’t lead to any miscalculation.

1.3 Need of the study:

There are multiple objectives behind the designing and implementation of the Module:

 To prepare the detailed salary record of all the employees in an organization.

 To generate Pay-In-Slip through the calculation of salary

 Proper usage of manpower

 To maintain Allowances, Deductions, Loans, Savings and Arrears details for the em-

ployees to generate reports in user-defined formats

Page 8 of 54
 To generate various important reports that provides valuable information to the top-

level management

1.4 Main Features

The Salary Sheet generated by the payroll system helps the accounts department in

distribution of monthly salaries to the employees in the organization. The Payroll

Application System provides the following features to its users:

 Maintains records of the various components of salary

 Categories the salary components on the basis of allowances/deductions

 Generates Salary Sheet and Salary Slip of all employees

 Generates various important reports reducing paperwork in the organization

 Generation of reports in desired formats.

 Export of reports in various formats such as RTF, HTML, Excel, Lotus, Word Docu-

ment, etc.

 Menu-Driven Programs with user friendly interface

 Emailing of generated reports from the application itself.

 King salary report at any time so that it doesn’t lead to any miscalculation.

1.5 Inputs to the Package

All the Details of the company, departments, and designation are appended using the

package. The Allowance/ deduction form is the form, which helps in generation of the

pay slip.

 Company

Page 9 of 54
 Sub-Department

 Designation

 Employee Type

 Profile

 Basic

 Allowance/Deduction Master

 Provident Fund

 Provident Opening Account

 Provident Number

1.6 Outputs from the Package (Reports)

 Salary Sheet

 Pay Slip

1.7 Objective:

The objective of the “Payroll Management System “is to provide a system which

manages the which manages the Payroll activity i.e. the salary paid for each employee

in a company depending upon their attendance and its calculation which is very huge.

The users will consume less amount of time when compared to manual paper work

through the automated system. The system will take care of all the payroll activities like

managing each employee’s attendance, the number of leaves taken by that particular

employee and calculation in a very quick manner and it avoids Data storing is easier.

Paper work will be reduced and the company staffs spend more time on monitoring the

progress. The system is user friendly and easy to use. All the important data’s will be

stored in the database and it avoids any miscalculation.

Page 10 of 54
1.8 Advantages & Disadvantages of a Payroll Service

(a) Advantages

(i) Control vs. Outsourcing

The decision to use a payroll service could be a personal choice dictated by

how much control we want to have over the different aspects of the company.

If we keep payroll in-house, it is easy to make changes and answer questions

concerning the pay information of employees. The decision to use a payroll

service means giving up some control of that portion of your business.

However, payroll is primarily a repetitive operation, so letting someone else

handle the details can free up time for more productive tasks.

(ii) Costs

A payroll services adds another cost to budget. If we are a small business with

few employees on a tight budget, paying for the service may not fit into the

budget. The cost of a payroll service for a small business will be

proportionately larger than for a bigger business. We need to compare the cost

of the service to the time required to complete the payroll in-house and what

that time would be worth doing other work.

(iii) Access to Data

Using a payroll service means employee pay data will be on some other

company's computer system. This may be an issue if we need to make a

change or if an employee has a problem with her paycheck. How much the

fact that pay information is not kept in business depends on how much access

Page 11 of 54
the service provides. We may want to compare services with this need in mind

as wells comparing costs.

(iv) Compliance

Possibly the biggest benefit of using a payroll service is that the service will

keep the business compliant with payroll tax laws and changes. While we are

an expert at the business, unless the business is a CPA firm, we probably don't

have the time to become a payroll tax expert. The payroll service can

determine what taxes need to be withheld from employees, what we need to

pay and send in the money to the correct agencies.

(b) Disadvantages

The payroll system can be manual, outsourced or in-house computerized. Each system

enables payroll compliance, but each also has its disadvantages.

(i) Manual

The manual payroll system requires payroll processing to be done completely

by hand. Therefore, time card, wages and payroll tax computations; wage

garnishments; and voluntary deductions are done manually. Furthermore,

paychecks and pay stubs are handwritten or printed on a typewriter. The main

disadvantage with this system is its high room for error. The more manual

computations the payroll representative has to make, the more errors

she’s prone to make.

(ii) Outsourced/External

The employer uses the outsourced or external payroll system when it hires a

payroll service provider. The latter has a payroll staff that, for a flat fee,

Page 12 of 54
processes its clients’ payroll. Services vary by provider, but most

payroll service providers perform paycheck and direct deposit processing.

Many also offer payroll tax and benefits administration.

(iii) On-Site Computerized

The in-house computerized system enables the employer to use an on-site

payroll staff and payroll software to process its payroll. The employer must

invest in and maintain the software, which can be expensive. Depending on the

complexity of the software, the employer may have to pay for training for the

payroll staff. Furthermore, depending on the size of the payroll, the employer

may have to employ a full payroll staff. This system can prove expensive in

that may require the employer to pay salaries and benefits to the payroll staff,

plus pay for technical support when software glitches occur. The employer has

to also pay overtime (if worked) to payroll personnel who qualify for it.

2. Tools/Environment Used
(i) Software Requirements

 Turbo C++

 MS dos

 Windows XP

 Microsoft

 Office access 2003

(ii) Hardware Requirements

Page 13 of 54
 CPU - Intel core 2 duo e7300

 Ram - 1 GB (min)

 Hard disk - 160 GB

 Operating system - windows XP with service pack 3

3. Analysis Document

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.

When we discovered that we were behind schedule, we met to create a new time-line.

We were behind schedule mostly because of our different engagements in school work and

other personal issues. Fortunately for the team, we were able to stick to the new time-line and

the project was completed in due time. After the major part of the code was completed, we

went ahead to lace the code, that is, adding exception handlers which will make the software

more robust. We avoided this at the beginning because we did not want to get confused with

Page 14 of 54
too many lines of code. The version of the software that has been released can still be improved

depending on user response. So far, we have succeeded in completing the desired goal of from

the user stories given to us. The beta software has been released about three times and we have

been able to get good ideas from the various users on how to improve the functionality,

reliability and robustness of the software.

3.1 Methodology

The methodology used is the cyclical methodology. The cyclical methodology informally

known as the spiral methodology is an incremental improvement on a sequential methodology.

It allows for feedback from the user. There are stages where mistakes in the requirements can

be corrected. The user gets a peek at the results and can feed back information. With this

methodology, the implementation team can feed performance and viability information back to

the requirement team and the design team.

Page 15 of 54
In the process of developing the Payroll Management System, we were faced with short

cyclical iterations which were sort of think a little, Plan a little and Design A Little. This

process went on and on until the finished product was achieved. In the analysis phase we drew

a mockup of what we wanted the software to do and also gathered requirements from the

human resource department.

In the design phase, wemapped out a conceptual model of what my database will contain. We

also designed the user interface and included various tools and controls. We thereafter

implemented it with a .net language and tested it. However; the phases were imperfect and

iterative so I had to go through the process all over again until the finished product was

achieved.

3.2 Software requirement specification

 Functional Requirements

Requirements analysis is usually the first phase of large-scale software development

project. It is undertaken after a feasibility study has been performed to define the

precise costs and benefits of a software system. The purpose of this phase is to

identify and document the exact requirements for the system. The customer, the

developer, a marketing organization or any combination of the three may perform

such study. In cases where the requirements are not clear e.g., for a system that is

never been defined, more interaction is required between the user and the developer.

 The requirements at this stage are in end-user terms

Page 16 of 54
 Administrator module

1. Test case: Login

Input: ID, Password.

Process: Click on the login link.

If administrator enters ID and password correct it goes to the admin services otherwise

displays the same page with an error message.

Output: Displays the admin services page

2. Test case: Add new employee

Input: Name, Id, designation, Date of joining.

Process: A new employee can be added into the system and admin can update his details.

Output: The employee can be credited salary based upon his details.

3. Test case: Salary details

Input: Id, designation, basic salary, PF, DA, HRA.

Process: The admin can update his salary details

Output: Employee salary details will be updated to the database.

4. Test case: Loan details

Input: Id, Loan number, EMI, Repaid amount, Balance amount.

Process: Administrator can update a particular employee’s loan details.

Output: Employee Loan details will be updated to the database.

Page 17 of 54
5. Test case: Leave details

Input: Id, Type of leave, Number of Leaves.

Process: Administrator updates the leave details.

Output: Employee Leave details will be updated to the database.

6. Test case: Tax details

Input: Id, Basic salary,

T ax percentage, income tax.

Process: The tax details of an employee can be updated by the administrator.

Output: Employee Tax details will be updated to the database.

7. Test case: Salary slip

Input: Id, Basic salary, Designation, Net pay.

Process: Based on the leave, loan, tax details the slip will be generated

Output: Salary slip will be generated.

8. Test case: Bank details

Input: Id, Designation, salary

Process: The employee’s salary is credited to bank.

Output: Employee can View and receive the salary.

 Employee modules

1. Test case: Login

Page 18 of 54
Input: ID, Password.

Process: Click on the login link. If Employee enters ID and password correct it goes to

the other page otherwise displays the same page with an error message.

Output: Displays the Information to be viewed by an employee.

2. Test case: Update profile

Input: Id, Name, Designation, Email-id, Mobile number, Address, key skills,

qualification

Process: The employee can update his profile if any modifications occur in his details

Output: The details of an employee can be updated.

3. Test case: Change password

Input: Id, Old password, new password

Process: Employee can be able to change his password by using this test case

Output: Employee new password will be updated.

4. Test case: View earnings

Input: ID, Month, Year.

Process: The earnings can be displayed by this test case

Output: The total earnings of an employee for the specified month and year can be

viewed.

5. Test case: View deductions

Input: Id, Month, Year

Page 19 of 54
Process: The deductions can be known by using this test case

Output: The total deductions of an employee for the specified month and year can be

viewed.

6. Test case: View salary slip

Input: Id, Month, Year.

Process: The employee can view the salary slip.

Output: The salary slip of an employee for the specified month and year can be viewed.

 External Interface Requirements

User Interfaces

1. Login Screen

2. Menu selection Screen

3. Employee Salary Details

4. Employee Loan Details

5. Employee Leave Details

6. Employee Tax Details

7. Generate Salary Slip8. Employee Bank Details

3.3 Communications Interfaces

Communications interfaces can be provided through e-mail, web browser, network

server communications protocols, electronic forms, and so on. For this we can use

Page 20 of 54
communication standards such as FTP or HTTP to provide security using encryption

algorithms and synchronization mechanisms.

3.4 Performance Requirements

System can withstand even though many number of users requested desired service. As

we are keeping office level server of the automated payroll system. And access is given

to the only registered users of office who requires the services of viewing, Updating etc.

It can withstand the load.

3.5 Safety & Reliability Requirements

By incorporating a robust and proven SQL into the system, reliable performance and

integrity of data is ensured. There must be a power backup for server system.

3.6 Security Requirements

Sensitive data is protected from unwanted access by user’s appropriate technology and

implementing strict user- access criteria.

Page 21 of 54
3.7 Er – diagram

3.8 State-transition diagrams

State-transition diagrams (STD) show how the system behaves as a consequence of some

external event. For this purpose the STD represents the state of the system and the transitions

into different states when an external event happens. The structure of the data items within

these models may be described in more detail within the data dictionary. Similarly, the models

will contain a more detailed description of the key processes taking place.

Page 22 of 54
3.9 Data dictionary

The Payroll Data Element Dictionary contains all the elements found in the U-M Data

Warehouse Payroll. Tables, ordered alphabetically by element name. Here is a description of

the information that the dictionary provides for each element.

 Physical Element Name: Name for the element you can use in SQL queries.

 Logical Element Name: Descriptive name of the element.

 Format Type: Type of value of the element (for example: character, number, or date).

 Data Sets: The names of the data sets that contain the element.

 Table Locations: The names of the tables in which the element is located.

 Security Code: The level of security imposed on the element.

 Values are: Public data: Data with no access restriction that may be released to the

general public.

 Private/Confidential data: Data available to University employees who need to access

these data to perform their official University duties. Unless otherwise noted, all insti-

tutional data is designated as Private/Confidential.

 Sensitive data: Data available only to University employees who have specific author-

ization for access. Never release sensitive data in a manner that enables identify-

ing data element values with a specific person or persons.

 Element Definition: Description of the element.

Page 23 of 54
3.10 Data flow diagram:

Level 0 for all Payroll System

Example DFD- Level 1 for all Payroll System

Page 24 of 54
3.11 Class Diagram

A class diagram describes the types of objects in the system and the various kinds of static

relationships that exist among them.i.e.A graphical representation of a static view on

declarative static elements. A class is the description of a set of objects having similar

attributes, operations, relationships and behavior.

employee database
emp id empid
name system name
department age
age show details() designation
designation validity check()

view()

administrator
empid
name
department
age
payroll basic pay
processing HRA
PF
basic pay
net pay
HRA
PF
insert()
net pay
delete()
update()
calculation()

Page 25 of 54
4. Design Document

4.1 Standard compliance

All Organizations who pay employees.

 Payroll Practitioners - Payroll Managers, Payroll Supervisors, Payroll Officers and

Payroll System Administrators.

 Payroll Accountants and Finance / Accounting staff responsible for the management

of Payroll.

 Human Resources staff responsible for the management of Payroll.

 Payroll Management - Consultants and Compliance Professionals.

 Payroll Management Auditors (internal and external)

 Hardware limitations

 The other big problem associated with in sourcing payroll is that it forces companies

to take on the burdens associated with hardware upgrades as well as the personnel

costs linked to system maintenance.

 Hardware must be purchased for data storage and processing.

4.2 Security

Sensitive data is protected from unwanted access by users appropriate technology and

implementing strict user- access criteria. Companies in this situation also struggle to

secure data, growing concern given some of the high profile cases reported in the media

involving lost, breached and stolen data.

Page 26 of 54
4.3 Maintainability

Backup mechanisms are considered for maintainability of software as well as database.

As it is object oriented reusability exists. As project is based on MVC architecture,

testability exists.

4.4 Database design

The payroll database has four tables namely:

 Employee Table

 Department Table

 Project Table

 Salary Table

Page 27 of 54
Employee Table

 Employee Number - primary key

 Employee Name

 Salary

 Tax percent withheld

 Medical withheld

 Other deductions withheld

 Department Number

Now we have the following data left to deal with:

Department Name

 Projects the person is worked on (note there can be more than one project)

 Project Number (each project should have a number)

 Name of the project (each project should have a name)

 Manager of the project (each project is assigned a manager)

 Hours the employee worked on the project.

Department Table

 Department Number - primary key

 Department Name

Page 28 of 54
Employee Table Department Table

Employee Number - Department Number - primary key

primary key Department Name

Employee Name

Salary

Tax percent withheld

Medical withheld

Other deductions

withheld

Department Number

Project Table

 Project Number - primary key

 Project Name

 Project Manager

This looks a lot like the department table. We have a project number that uniquely

identifies the project, and then we have a project name that has a one to one relationship

with the project number and a project manager that has a one to one relationship with the

project number.

Page 29 of 54
4.5 User Characteristics

End Users

 No specific knowledge or skills are required from the end user.

 End user should have basic idea about computer operations and database.

Administrator

 Administrator must be having good knowledge of database management system.

 Administrator must be capable to manage user rights.

 If the network connection does not work properly than our system should not work as

intended.

 Also that is assumed that the product is installed properly at web server.

 This system will not take care of any virus problem, which might occur either on the

client or the server system. Avoiding the use of pirated software and ensuring that flop-

pies and other removable media are scanned for viruses before use could minimize the

possibility of viral infection.

 Recovery of data after a system crash will be possible only if backups are taken at reg-

ular intervals.

 Manual interfaces cannot be fully avoided. Documented proofs like data entry of em-

ployees etc. will have to be verified by the concerned management staff before enter-

ing it into the computerized system.

Page 30 of 54
4.6 Assumptions and Dependencies

Assumptions:

 The code should be free with compilation errors/syntax errors.

 The product must have an interface which is simple enough to understand.

Dependencies:

 All necessary hardware and software are available for implementing and use of

the tool.

 The proposed system would be designed, developed and implemented based on

the software requirements specifications document.

 End users should have basic knowledge of computer and we also assure that the

users will be given software training documentation and reference material.

 The system is not required to save generated reports.

4.7 Module Description

Account Configuration:

Employee: When a new employee joins the company, his record is saved in the database.

Leave entry: Here Admin enters the number of leaves available per month/year for each

employee.

Salary Calculation: Here salary is calculated for each employee based on their attendance.

As soon as the salary is paid to an employee, a salary slip will be generated.

Salary Report: Here the user can look through the salary given to an employee for a

particular month and year.

Page 31 of 54
Registration: As soon as the employee joins the company, the admin provides unique

username and password to him.

Display: A user can view information regarding employees working in that company,

products, dealers and a demand sheet to be submitted to the manufacturers.

Leave Apply: Here an employee can apply for leave.

Logout: This module allows the user to

Logout the application: Further operations cannot be performed after user exit

Page 32 of 54
4.8 UML Diagram

4.8.1 Use case Diagram

Use Case diagrams show the various activities the users can perform on the system. The

System is something that performs a function. They model the dynamic aspects of the

system. It provides a user’s perspective of the system.

Actor:

An actor is a user of the system playing a particular role.

Use case:

Use case is a particular activity a user can do on the system.

Relationship:

Relationships are simply illustrated with a line connecting actors to use cases.

4.8.2 Use case description

A. Login

 Brief Description

This use case describes how a user logs into the Payroll Management System.

Actors Payroll administrator, Accountants, Employer, Head of Department

 Pre-condition

Prior to executing the use case, all users must have a User Account (i.e. User

ID, Password) created for them in the system (through the Database

Administrator).

 Post condition

Page 33 of 54
If the use case was successful, the actor is logged into the system. If not, the

system state is unchanged. If the actor is Payroll Administrator‘, he/she will

have access to all screens. If the actor is ‘accountant or employer‖, he/she will

only be able to view or print the payment report generated by the system.

 Flow of Events

Basic Flow

This use case starts when the actor wishes to login to the payroll

management system. The basic flow includes:

 The system request that the actor enter his/her username, password.

 The system validates the entered username, password.

 The user will be logged into the system.

 The use case ends.

Alternate Flow

 Invalid username/password

If the system receives an invalid username/password, an error message

is displayed. The user can choose to either return to the beginning of

the Basic Flow or cancel Login, at which point the use case ends.

B. Employee registration

 Brief Description

Page 34 of 54
This use case allows the payroll admin register new and existing employees.

This stores the bio data and necessary information of the employees into the

database.

 Actor

Payroll Administrator

 Pre-condition

The actor must have been logged into the system.

 Post – condition

If the use case was successful, the employee becomes registered.

 Flow of Events

Basic Flow

 This use case begins when an employee is to be registered

 When an employee data is to be updated

 When an employee data is to be deleted

a) Register Employee

 The system request that the actor enter the employee data. This include

I. Employee ID

II. Employee Name

III. Address

IV. Contact No.

V. Email

VI. Blood Group

VII. Department

Page 35 of 54
VIII. Designation

IX. Basic Salary

X. Basic Working Time

 Once the actor provides the requested information, the employee is re-

gistered to the system and an appropriate message is displayed.

(b) Delete Employee

I. The system requests that the Payroll admin enters the employee

id.

II. The payroll admin enters the employee id. The system retrieves

and displays the employee information.

III. The system prompts the payroll admin to confirm the deletion

of the employee.

IV. The payroll admin confirms the deletion.

V. The system deletes the employee record.

(c) Update Info

I. The system retrieves and displays the employee information.

II. The actor makes the desired change to his/her information.

III. Once the actor updates the necessary information, the system

updates the employee record with the updated information.

Page 36 of 54
4.10 Sequence Diagram

A sequence diagram in Unified Modeling Language (UML) is a kind of interaction

diagram that shows how processes operate with one another and in what order. It is a

construct of a Message Sequence Chart. Sequence diagrams are sometimes called

event diagrams, event scenarios, and timing diagrams

employee administrator system database payroll


processing

provide ID
Enter ID
Validation check
Provide details
Processing

Send details
Give details

View details

Page 37 of 54
4.11 Collaboration Diagram

A Collaboration diagram is very similar to a Sequence diagram in the purpose it

achieves; in other words, it shows the dynamic interaction of the objects in a system.

A distinguishing feature of a Collaboration diagram is that it shows the objects and

their association with other objects in the system apart from how they interact with

each other. The association between objects is not represented in a Sequence diagram.

A Collaboration diagram is easily represented by modeling objects in a system and

representing the associations between the objects as links. The interaction between the

objects is denoted by arrows. To identify the sequence of invocation of these objects,

a number is placed next to each of these arrows.

2: Enter ID
1: provide ID administrat
or system
employee
7: Give details
8: View details

6: Send details
5: Processing

3: Validation check

4: Provide details
database payroll
processing

Page 38 of 54
5. Program code

"http://localhost:2840", "{B424C570-B48E-44A9-A4BF-9270FD4931F3}"

ProjectSection(WebsiteProperties) = preProject

UseIISExpress = "true"

TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.5"

Debug.AspNetCompiler.VirtualPath = "/localhost_2840"

Debug.AspNetCompiler.PhysicalPath = "WebApplication4\"

Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_2840\"

Debug.AspNetCompiler.Updateable = "true"

Debug.AspNetCompiler.ForceOverwrite = "true"

Debug.AspNetCompiler.FixedNames = "false"

Debug.AspNetCompiler.Debug = "True"

Release.AspNetCompiler.VirtualPath = "/localhost_2840"

Release.AspNetCompiler.PhysicalPath = "WebApplication4\"

Release.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_2840\"

Release.AspNetCompiler.Updateable = "true"

Release.AspNetCompiler.ForceOverwrite = "true"

Release.AspNetCompiler.FixedNames = "false"

Release.AspNetCompiler.Debug = "False"

SlnRelativePath = "WebApplication4\"

EndProjectSection

EndProject

Global

Page 39 of 54
GlobalSection(SolutionConfigurationPlatforms) = preSolution

Debug|Any CPU = Debug|Any CPU

Release|Any CPU = Release|Any CPU

EndGlobalSection

GlobalSection(ProjectConfigurationPlatforms) = postSolution

{B424C570-B48E-44A9-A4BF-9270FD4931F3}.Debug|Any CPU.ActiveCfg = Debug|Any

CPU

{B424C570-B48E-44A9-A4BF-9270FD4931F3}.Debug|Any CPU.Build.0 = Debug|Any CPU

{B424C570-B48E-44A9-A4BF-9270FD4931F3}.Release|Any CPU.ActiveCfg = Debug|Any

CPU

{B424C570-B48E-44A9-A4BF-9270FD4931F3}.Release|Any CPU.Build.0 = Debug|Any

CPU

EndGlobalSection

GlobalSection(SolutionProperties) = preSolution

HideSolutionNode = FALSE

EndGlobalSection

EndGlobal

Employee Registration class

Imports System.Data.OleDb

Public Class frmEmployee_registration

Dim rdrAs OleDbDataReader =Nothing

Dim conAs OleDbConnection =Nothing

Dim cmdAs OleDbCommand =Nothing

Page 40 of 54
Dim adpAs OleDbDataAdapter

Dim dsAs DataSet

Dim dtAs New DataTable

Dim csAs String ="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=c:\

payroll.accdb;Persist Security Info=False;"

con =New OleDbConnection(cs)

con.Open()

Dim cbAs String ="insertinto

employeeregistration(employeeid,employeename,address,mobileno,email,bloodgroup,departm

ent,designation,dateofjoining,salary,basicworkingtime) VALUES(@d1,@d2,@d3,@d4,@d5,

@d6,@d7,@d8,@d9,@d10,@d11)"

cmd =New OleDbCommand (cb, con)

cmd.Parameters.Add (New OleDbParameter ("@d1", OleDbType.VarChar, 30,"employeeid"))

cmd.Parameters.Add(New OleDbParameter("@d2",OleDbType.VarChar,100,"employeename"

))

cmd.Parameters.Add (New OleDbParameter ("@d3", OleDbType.VarChar, 200,"address"))

cmd.Parameters.Add (New OleDbParameter ("@d4", OleDbType.VarChar, 10,"mobileno"))

cmd.Parameters.Add (New OleDbParameter ("@d5", OleDbType.VarChar, 60,"email"))

cmd.Parameters.Add (New OleDbParameter ("@d6", OleDbType.VarChar, 10,"bloodgroup"))

cmd.Parameters.Add (New OleDbParameter ("@d7", OleDbType.VarChar, 60,"department"))

cmd.Parameters.Add (New OleDbParameter ("@d8", OleDbType.VarChar, 60,"designation"))

cmd.Parameters.Add (New OleDbParameter ("@d9", OleDbType.Date, 30,"dateofjoining"))

cmd.Parameters.Add (New OleDbParameter ("@d10", OleDbType.VarChar, 10,"salary"))

Page 41 of 54
cmd.Parameters.Add(New OleDbParameter("@d11",

OleDbType.VarChar,10,"basicworkingtime"))

cmd.Parameters ("@d1").Value = EmployeeID.Text

cmd.Parameters ("@d2").Value = EmployeeName.Text

cmd.Parameters ("@d3").Value = Address.Text

cmd.Parameters("@d4").Value = MobileNo.Text

cmd.Parameters("@d5").Value = Email.Text

cmd.Parameters("@d6").Value = BloodGroup.Text

cmd.Parameters("@d7").Value = Department.Text

cmd.Parameters("@d8").Value = Designation.Text

cmd.Parameters("@d9").Value = DateTimePicker1.Text

cmd.Parameters ("@d10").Value = Salary. Text

cmd.Parameters ("@d11").Value= BasicWorkingTime.Text

cmd.ExecuteReader ()

MessageBox.Show("Successfully saved","Employee

Profile",MessageBoxButtons.OK, MessageBoxIcon.Information)

GroupBox1.Enabled =False

Save.Enabled =False

EmployeeID.Focus()

con.Close()

Employee Attendance Class

Page 42 of 54
Private Sub Save_Click (ByVal sender As System. Object, ByVal e

AsSystem.EventArgs) Handles Save.Click

If EmployeeID.Text = "" Then

MessageBox.Show("Please select an employee id", "Input Error",

MessageBoxButtons.OK, MessageBoxIcon.Error)

EmployeeID.Focus()

Exit Sub

End If

If Status.Text = "" Then

MessageBox.Show("Please select Status", "Input

Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

Status.Focus()

Exit Sub

End If

Try

con = New OleDbConnection(cs)

con.Open()

Dim ct As String = "select employeeid,workingdate from

employeeattendance where employeeid='" & EmployeeID.Text & "' and

workingdate= #" & WorkingDate.Text & "#"

cmd = New OleDbCommand(ct)

cmd.Connection = conrdr = cmd.ExecuteReader()If

rdr.Read Then

Page 43 of 54
MessageBox.Show("Employee today's attendance is alreadysaved", "Input Error",

MessageBoxButtons.OK, MessageBoxIcon.Error)

EmployeeID.Focus()

If Not rdr Is Nothing Then

rdr.Close()

End If

Else

con = New OleDbConnection(cs)

con.Open()

Dim cb As String = "insert into

employeeAttendance(Workingdate,employeeid,status,intime,outtime,overtime,basicworkingti

me) VALUES (@d1,@d2,@d4,@d5,@d6,@d7,@d8)"

cmd = New OleDbCommand(cb)

cmd.Connection = con

cmd.Parameters.Add(New OleDbParameter("@d1",OleDbType.VarChar, 30, "Workingdate"))

cmd.Parameters.Add(New OleDbParameter("@d2",OleDbType.VarChar, 30, "employeeid"))

cmd.Parameters.Add(New OleDbParameter("@d4",OleDbType.VarChar, 10, "status"))

cmd.Parameters.Add(New OleDbParameter("@d5",OleDbType.VarChar, 30, "intime"))

cmd.Parameters.Add(New OleDbParameter("@d6",OleDbType.VarChar, 30, "outtime"))

cmd.Parameters.Add(New OleDbParameter("@d7",OleDbType.VarChar, 10, "overtime"))

cmd.Parameters.Add(New

OleDbParameter("@d8",OleDbType.VarChar, 10, "basicworkingtime"))

cmd.Parameters("@d1").Value = WorkingDate.Text

cmd.Parameters("@d2").Value = EmployeeID.Text

Page 44 of 54
cmd.Parameters("@d4").Value = Status.Text

If Status.Text = "P" Then

cmd.Parameters("@d5").Value = InTime.Text

cmd.Parameters("@d6").Value = OutTime.Text

ElseIf Status.Text = "A" Then

cmd.Parameters ("@d5").Value = txtInTime.Text

cmd.Parameters ("@d6").Value = txtOutTime.Text

End If

cmd.Parameters ("@d7").Value = Overtime. Text

cmd.Parameters ("@d8").Value = BasicWorkingTime.Text

cmd.ExecuteReader ()

MessageBox.Show ("Successfully saved", "Employee Attendance",

MessageBoxButtons.OK, MessageBoxIcon.Information)

If con.State = ConnectionState.Open Then

con.Close ()

End If

con.Close ()

Save.Enabled = False

End If

Catch ex As Exception

MessageBox.Show (ex.Message, "Error", MessageBoxButtons.OK,MessageBoxIcon.Error)

End Try End Sub

Page 45 of 54
6. Testing

Test cases are developed using various test techniques to achieve more effective testing. By

this, software completeness is provided and conditions of testing which get the greatest

probability of finding errors are chosen. So, testers do not guess which test cases to choose,

and test techniques enable them to design testing conditions in a systematic way. Also, if one

combines all sorts of existing test techniques, one will obtain better results rather if one uses

just one test technique.

6.1 Unit Testing

Unit testing, also known as component testing refers to tests that verify the

functionality of a specific section of code, usually at the function level. In an object-

oriented environment, this is usually at the class level, and the minimal unit tests

include the constructors and destructors. These types of tests are usually written by

developers as they work on code (white-box style), to ensure that the specific function

is working as expected. One function might have multiple tests, to catch corner

cases or other branches in the code. Unit testing alone cannot verify the functionality

of a piece of software, but rather is used to assure that the building blocks the software

uses work independently of each other. Unit testing is a software development process

that involves synchronized application of a broad spectrum of defect prevention and

detection strategies in order to reduce software development risks, time, and costs. It

is performed by the software developer or engineer during the construction phase of

the software development lifecycle. Rather than replace traditional Focuses, it

augments it. Unit testing aims to eliminate construction errors before code is

promoted to QA; this strategy is intended to increase the quality of the resulting

Page 46 of 54
software as well as the efficiency of the overall development and QA process.

Depending on the organization's expectations for software development, unit testing

might include static code analysis, data flow analysis metrics analysis, peer code

reviews, code coverage analysis and other software verification practices.

6.2 Integration Testing

Integration testing is any type of software testing that seeks to verify the interfaces

between components against a software design. Software components may be

integrated in an iterative way or all together ("big bang"). Normally the former is

considered a better practice since it allows interface issues to be located more quickly

and fixed .Integration testing works to expose defects in the interfaces and interaction

between integrated components (modules).

6.3 System Testing

System testing, or end-to-end testing, tests a completely integrated system to verify

that it meets its requirements. For example, a system test might involve testing a logon

interface, then creating and editing an entry, plus sending or printing results, followed

by summary processing or deletion (or archiving) of entries, then logoff.

Page 47 of 54
6.4 Alpha/ Beta Testing

Alpha testing.

Alpha testing is simulated or actual operational testing by potential users/customers or

an independent test team at the developers' site. Alpha testing is often employed for

off-the-shelf software as a form of internal acceptance testing, before the software

goes to beta testing.

Beta testing

Beta testing comes after alpha testing and can be considered a form of external

acceptance testing Versions of the software, known as beta versions, are released to a

limited audience outside of the programming team. The software is released to groups

of people so that further testing can ensure the product has few faults

or bugs. Sometimes, beta versions are made available to the open public to increase

the feedback field to a maximal number of future users.

6.5 White Box Black Box Testing

White box testing is highly effective in detecting and resolving problems, because

bugs (bug or fault is a manifestation of an error in a software) can often be found

before they cause trouble. We can shortly define this method as testing software with

the knowledge of the internal structure and coding inside the program .White box

testing is also called white box analysis, clear box testing or clear box analysis. It is a

strategy for software debugging (it is the process of locating and fixing bugs in

computer program code or the engineering of a hardware device) in which the tester

has excellent knowledge of how the program components interact. This method can

Page 48 of 54
be used for Web services applications, and is rarely practical for debugging in large

systems and networks). Besides white box testing is considered as a security testing

method that can be used to validate whether code implementation follows intended

design, to validate implemented security functionality, and to uncover exploitable

vulnerabilities Black box testing is testing software based on output requirements and

without any knowledge of the internal structure or coding in the program. In another

words, a black box is any device whose workings are not understood by or accessible

to its user. For example, in telecommunications, it is a resistor connected to a phone

line that makes it impossible le for the telephone company’s equipment to detect when

a call has been answered. In addition, the software testing should ensure that the

program, as well as working as expected, does not also destroy or partially corrupt its

operating environment or cause other processes within that environment to become

inoperative (this includes not corrupting shared memory, not consuming or locking up

excessive resources and leaving any parallel processes unharmed by its presence).

Page 49 of 54
7. Input and output screen

In this phase we will enter the details of an employee and we will save the record in the

database.in this we will do the things stepwise and these are as follows:

Step1:

 First of all we go to the main menu frame into which we can see the modules.

 For entering the employee details we will enter into the employee modules and go

the new option.

Step 2:

 We will now enter all the details required to create a new employee record.

 First of all we will enter the name, age, address, contact number, department,

grade, basic salary and many more.

 In this we do not need to enter the employee id as it will come by its own.

Step 3:

In this after entering all the details we will get the the record saved by pressing the s

save button and this can be seen below.

Step 4:

 If we want to see all the details we just go to the view option in the employee

module and can select all in that

 We can see the entered record in this table.

Page 50 of 54
Page 51 of 54
8. Limitations of the Project

 In the present system we cannot search for the report of an employee by enter-

ing the name of that employee. Search is based on the employee id.

 If the payroll company is understaffed and has an abundance of clients, it may

become difficult to reach someone when you need it immediately such as when

paycheck discrepancies arise.

 Because the payroll company is located off-site, it is difficult to always know

what’s going on with payroll until the actual pay date arrives.

9. Finding of the Study

We were able to attain our set objectives, and this helped us gain confidence in writing our

own code and our own applications. In addition, the use of serialization was an

experimentation to cut down the time taken in designing the front-ends and back-ends of

applications separately. With our OOP approach and serialization, we only concentrated on

designing the objects/ classes, and then just serialized them on disk. So we did not spend any

time on designing how to store data. We also worked as a team, and gained some experience

on how professional programmers work in the industry.

10. Recommendations

There is always room for improvement, and the software we created can also be improved.

This is especially because we had to create it within a limited time. With more time, the

software can be improved to include security and different types of users. This would be the

Page 52 of 54
first step in making the software network-enabled, and eventually web-enabled. This was our

original after-thought to programming the software, and we had chosen XML. In addition, the

software can also be improved in terms of the calculations it can do, and more flexibility in

the rates used in calculations per employee.

11. Conclusion

“Payroll Management System” software developed for a company has been designed to

achieve maximum efficiency and reduce the time taken to handle the Payroll activity. It is

designed to replace an existing manual record system thereby reducing time taken for

calculations and for storing data. The system uses Asp .Net as front end and Microsoft SQL

as a backend for the database. The system is strong enough to withstand regressive daily

operations under conditions where the database is maintained and cleared over a certain time

of span. The implementation of the system in the organization will considerably reduce data

entry, time and also provide readily calculated reports.

12. Future Application of the Project

This project has many future applications like it can be used in any of the Retail Outlet of

Any Type companies. This project was build keeping in mind all the requirements of these

outlets and they can be implemented in any such type of organization with very few

modification. With modifications it can be possible for Employee Attendance to control all

retail outlets by connecting them through a network. Because of this software all they need is

a Server application and any type of connectivity to that server.

Page 53 of 54
REFERENCES:

1. http://en.wikipedia.org/

2. http://www.scipub.org/fulltext/jcs/jcs65585-

3. Ahmad, N., N. Khan, A.N.A. Alla and A.H. Beg, 2010. A novel database design for

student information system. J. Comput. Sci., 6: 43-46. DOI: 10.3844/jcssp.2010.43.46

4. Connolly, T.M. and C.E. Begg, 2004. Database System: A Practical Approach to

Design, Implementation and Management. 4rd Edn., Addison Wesley, USA., ISBN:

10: 0321210255, pp: 1236.

5. Date, C.J., 2003. An Introduction to Database System. 8th Edn., Addison Wesley,

USA., ISBN: 10: 0321197844, pp: 1024.

6. Muslih, O.K. and I.H. Saleh, 2010. Increasing database performance through optimiz-

ing structure query language join statement. J. Comput. Sci., 6: 585-590.

7. Noraziah, A., R. Norhayati, A.N. Abdalla, A.H. Roslina and M.A. Noorlin et al.,

2008. A novel database system model design for tender management system. J. Com-

put. Sci., 4: 463-466. DOI: 10.3844/jcssp.2008.463.466

8. Schildt, H., 2002. Java 2: The Complete Reference. 5th Edn., McGraw-Hill Osborne

Media, USA., ISBN: 0070495432, pp: 1184.

Page 54 of 54

You might also like