You are on page 1of 53

Network based Payroll System Application

Submitted in partial fulfillment of the requirements of the degree of

Bachelor OF ENGINEERING
In

Information Technology
By

Hinet Rajendra Patil (840)

Under the guidance of

Prof. Nilesh M Patil

Juhu-Versova Link Road Versova, Andheri (W), Mumbai-53


University of Mumbai
April - 2016

DEPARTMENT OF INFORMATION TECHNOLOGY


This is to certify that
1. Hinet Rajendra Patil. (840)
Have satisfactorily completed this dissertation entitled

(Network based Payroll System Application)


Towards the partial fulfillment of the

BACHELOR OF ENGINEERING
IN
(INFORMATION TECHNOLOGY)
As laid by University of Mumbai.

Guide

H.O.D.

Prof. Nilesh M Patil

Prof. D.M.Dalgade

Principal
Dr. Udhav Bhosle

Internal Examiner

External Examiner

Project Report Approval for Bachelor of


Engineering
This dissertation entitled Network based Payroll System Application by Hinet Patil is
approved for the degree of Bachelor of Engineering in Information Technology.

Prof.
(Examiner)

Prof. Nilesh.M. Patil


(Supervisor /Guide)

Prof.D.M. Dalgade
(Head of Department)

Prof. U.V. Bhosle

(Principal)

Date:
Place: Mumbai

DECLARATION

I declare that this written submission represents my ideas in my own words and where others'
ideas or words have been included, I have adequately cited and referenced the original sources.
I also declare that I have adhered to all principles of academic honesty and integrity and have
not misrepresented or fabricated or falsified any idea/data/fact/source in my submission. I
understand that any violation of the above will be cause for disciplinary action by the Institute
and can also evoke penal action from the sources which have thus not been properly cited or
from whom proper permission has not been taken when needed.

Hinet Rajendra Patil (840)

Date:

Abstract
Industry employs full-time and casual (contractual) academics. Employees in the Personnel
Department will use the system to maintain employee information, manage leave, and make
payments to the academics every fortnight.
The Payroll system can add new employees and delete employees. It can manage annual
and long-service leave as well as record any sick leave. The system must pay each academic
the correct amount, on time, and by the payment method requested by an academic.
In existing system employees in the Account Department will access system via Windowsbased desktop interface. The Payroll system stores basic information about employee, in
particular days attended by them. It deducts standard tax rates from payments made to full-time
academics. Total salaries received year-to-date, tax and other deductions, leave balances, etc.,
also can be used to modify personal details and payment method.

TABLE OF CONTENTS
ABSTRACT ......................................................................................................................... i
TABLE OF CONTENTS .................................................................................................... ii
LIST OF FIGURES ........................................................................................................... iv
LIST OF TABLES .............................................................................................................. v
ACKNOWLEDGEMENT ................................................................................................. vi
Chapter 1 Introduction ........................................................................................................ 1
1.1 Problem Defination ................................................................................................. 3
1.2 Overview of the Proposed System ...........................................................................3
1.3 Scope and Limitations..............................................................................................4
1.4 Document Overview ................................................................................................5
Chapter 2 Literature Review ................................................................................................6
2.1 Literature Survey ......................................................................................................7
Chapter 3 Design of system ................................................................................................ 9
3.1 Block diagram of system ........................................................................................ 10
3.2 Data design of system ............................................................................................. 10
3.2.1 Data flow diagram.......................................................................................... 11
3.3 Architecture of system ............................................................................................ 12
3.4 Modular design of system ....................................................................................... 13
3.4.1 Module1 .......................................................................................................... 13
3.4.2 Module2 .......................................................................................................... 14
3.4.3 Module3 ......................................................................................................... 15
3.4.4 Module4 ......................................................................................................... 15
3.4.5 Module5 ......................................................................................................... 16
3.5 User Interface design of system .............................................................................. 17
3.6 Test design of system ............................................................................................... 17
Chapter 4 Implementation of System ................................................................................ 19
4.1 System requirement ................................................................................................. 20
4.1.1 Hardware Requirements ................................................................................ 20
4.1.2 Software Requirements .................................................................................. 20
4.2 System implementation ........................................................................................... 20
4.3 Module implementation of system......................................................................... 22
4.3.1 Module1 ........................................................................................................ 22
4.3.2 Module2 ......................................................................................................... 24
ii

4.3.3 Module3 ......................................................................................................... 26


4.3.4 Module4 ......................................................................................................... 27
4.3.5 Module5 ......................................................................................................... 29
4.3.6 Module6 ......................................................................................................... 30
4.3.7 Module7 ......................................................................................................... 31
4.4 Testing of system .................................................................................................... 33
Chapter 5 Result of System............................................................................................... 37
5.1 System survey .......................................................................................................... 38
5.2 System in Action ..................................................................................................... 39
Chapter 6 Conclusion and Future Work ............................................................................ 41
6.1 Conclusion ............................................................................................................... 42
6.2 Future Work ............................................................................................................. 43
REFERENCES .................................................................................................................. 44
Appendix List of Publication ............................................................................................ 45

iii

LIST OF FIGURES
Figure 3.1 Block diagram of system ................................................................................ 10
Figure 3.2.1(a) DFD level 0 .............................................................................................. 11
Figure 3.2.1(b) DFD level 1 .............................................................................................. 12
Figure 3.3 Architecture of System ..................................................................................... 12
Figure 3.4.1 Module 1 ........................................................................................................13
Figure 3.4.2 Module 2 .......................................................................................................14
Figure 3.4.3 Module 3 ........................................................................................................15
Figure 3.4.4 Module 4 ...................................................................................................... 15
Figure 3.4.5 Module 5 ....................................................................................................... 16
Figure 3.5 UI example of System ..................................................................................... 17
Figure 4.2.1 Network based Payroll System ..................................................................... 21
Figure 4.3.1 Home Screen Module ................................................................................... 22
Figure 4.3.2 Employee Registration ................................................................................. 24
Figure 4.3.3 Employee Search .......................................................................................... 26
Figure 4.3.4 Salary Generation ......................................................................................... 28
Figure 4.3.5 Report Generation ........................................................................................ 29
Figure 4.3.6 Income Tax Module ..................................................................................... 30
Figure 4.3.7 Income tax form Entry.................................................................................. 30
Figure 4.3.8 Default Setting .............................................................................................. 32
Figure 5.2.1 User Interface of System .............................................................................. 39
Figure 5.2.2 Employee Search in Action ........................................................................... 40
Figure 5.2.3 Salary slip generation in Action .................................................................... 40

iv

LIST OF TABLES
Table 2.1 Comparison of Exsisting application and praposed application .........................7
Table 4.1 Unit Testing ....................................................................................................... 34
Table 4.2 Integration Testing ............................................................................................. 36

ACKNOWLEDGEMENT
We wish to express our sincere gratitude to Dr. U. V. Bhosle, Principal and Prof.
D.M.Dalgade, H.O.D of Information Technology Department of RGIT for providing us an
opportunity to do our project work on Network Based Payroll System Application.
This project bears on imprint of many people. We sincerely thank our project guide Mr. Nilesh
M. Patil for his guidance and encouragement in successful completion of our project synopsis.
We would also like to thank our staff members for their help in carrying out this project
work. Finally, we would like to thank our colleagues and friends who helped us in completing
the project synopsis successfully.

Hinet Rajendra Patil (840)

vi

Chapter 1

Introduction
Payroll Management system is to provide an option to generate the
salary automatically every month. This software also equipped with to enter the attendance of
each employee in the organization, it helps them to track each employee attendance, based on
this we can generate the salary. The software built to generate individual pay slip and summary
of the payroll. It also has option to generate the report for yearly salary and bank statement of
an individual and they can take the print out of the salary slip.
Proposed system overcome the problems of existing system. Where the payroll is
managed by only one desktop system and every time new database is generated therefore data
redundancy occurred in system. In existing system, there is no proper way to store the newly
updated data.
Proposed system is using web based interface and it allow employees of the Account
Department to access and update payroll from different desktop system. Addition to this it can
send email to every employee which contain salary slip and also bank statements if needed.
All the personal information of the employee will be updated once in the year, so that
they dont need to fill the information at every time while salary slip is generated. The system
only take employee ID as input to calculate pay of an individual, if there is any leave taken by
him/her, the accountant only need to enter the total present days of his/her to calculate the
salary of that month.
The system provides very easy and user friendly interface, even if the user doesnt have
any technical knowledge about computer system. This system will operate on windows
desktop, built in visual studio 2013, has introduce to make newly updated version of existing
payroll system therefore the old database is used as backend of the proposed application
system.

1.1

Problem Definition

A problem definition is the description of an issue currently existing which needs to be


addressed. It provides the context for the research study and generates the questions which the
research aims to answer. The statement of the problem is the focal point of any research
As mentioned in existing system all the complex calculations are done automatically. But the
real problem with this system is it is very time consuming. Accountant need to enter all the
required information manually every time when salary slip going to generate.
There is no proper way to save the changes made by them, the new data is created and
overwrite the actual data and create new database entries for changes. Therefore, data
redundancy is occurred and it is not reliable.

1.2

Overview of the Proposed System


Proposed system is introduced to overcome the problems occurred in existing system.

Here this system reduces the complexity of existing system, where Automation is an important
feature of the proposed system.
It provides the Web based interface such that the payroll application can manage from different
desktop systems to reduce time complexity and increase efficiency. It is developed in Visual
Studio 2013 and uses the previous systems database MS Access up gradation with MySQL as
backend.
An Accountant who manages this system only need to enter the information such as year and
starting month. Once the data is filled then he/she doesnt need to fill this data again and again
for next month of that year. It only takes Employee ID of the particular employee as an input,
the year will automatically update from previous information. The basic salary and total present
days can automatically fill from the database and salary slip will generate. Crystal Report is
created for monthly or yearly salary respectively.
This system uses web interface, such that when the salary slip is generated the required report
and salary slip will send to the employees using their email IDs when demanded.
Accountant can add new employees, delete and update the information of employees using its
user friendly environment. He/she can see the list of all employees data stored in database
according to the filters such as designation or employee ID, designation and staff type. All the
3

calculation and deduction will have done automatically. It also provides auto fill feature,
whether the employee id is entered the other information like employee name, basic salary,
staff type, department name will fill automatically.
Benefits:

To improve the efficiency and reduce time complexity.

Quickly find out information of an employee details.

To provide easy and faster access to information.

To provide user friendly environment.

To provide web based interface.

To provide security using login feature.

Reliable.

1.3

Scope and Limitations


The Scope Statement is an essential element of any project. Project managers use the

Scope Statement as a written confirmation of the results your project will produce and the
constraints and assumptions under which you will work. Both the people who requested the
project and the project team should agree to all terms in the Scope Statement before actual
project work begins.
Scope of project:

To make efficient and reliable system.

To make it web based such as it can operate on different PCs.

To reduce time complexity adding auto fill feature.

Limitations:

The limitation of payroll system is that it will be hosted on a local host instead of being
hosted on an online server.

1.4

Document Overview
The project report consists of six chapters. Chapter 1 is the Introduction; it gives a basic

idea as to why the respective project has been selected. Following is the 2nd chapter; it provides
information on the literature surveyed. Chapter 3 contains a detailed description of the design
of the system. Under the next chapter, the Implementation of the system is laid out and the
functions of various modules are explained. Chapter 5 describes System in action. Chapter 6
provides the Conclusion and options for Future Work for implemented system. In the last
chapter, the various references are mentioned.

Chapter 2

Literature Review
A literature review is a text of a scholarly paper, which includes the current knowledge
including substantive findings, as well as theoretical and methodological contributions to a
particular topic. It usually precedes the methodology and results section although this is not
always the case. Its main goals are to situate the current study within the body of literature and
to provide context for the particular reader. In writing the literature review, the purpose is to
convey to the reader what knowledge and ideas have been established on a topic, and what
their strengths and weaknesses are.

2.1 Literature Survey


Table 2.1. Comparison of Existing application with Proposed application

This chapter is discussing about the literature survey of the project that will be carried out. This
chapter also study and explains about the technique, method, equipment or technology that can
be used in the project. This project is project is carried out to produce a payroll system for Rajiv
Gandhi Institute of Technology. System vary in design and functionality often depending
7

directly on their intended use and application. In this section, we briefly describe the hardware
and software specification of the most common systems found in the literature.

Chapter 3

Design of Network based Payroll System Application


System design is the process of defining the architecture, components, modules, interfaces, and
data for a system to satisfy specified requirements. System design could be seen as the
application of systems theory to product development.

3.1 Block diagram of Network based Payroll System Application

Figure 3.1(a): Block diagram

3.2 Data Design of Network based Payroll System Application


Data design is the process of producing a detailed data model of a system. This logical data
model contains all the needed logical and physical design choices and physical storage
parameters needed to generate a design in a data definition language, which can then be used
to create a system design. A fully attributed data model contains detailed attributes for each
entity. The term data design can be used to describe many different parts of the design of an
overall system.

10

3.2.1 Data Flow Diagram (DFD)


A data flow diagram (DFD) is a graphical representation of the "flow" of data through an
information system, modelling its process aspects. A DFD is often used as a preliminary step
to create an overview of the system, which can later be elaborated. DFDs can also be used for
the visualization of data processing (structured design).
A DFD shows what kind of information will be input to and output from the system, where
the data will come from and go to, and where the data will be stored. It does not show
information about the timing of processes, or information about whether processes will operate
in sequence or in parallel (which is shown on a flow chart).
DFD LEVEL 0

Figure 3.2.1(a) DFD Level 0

11

DFD LEVEL 1

Figure 3.2.1(b) DFD Level 1

3.3 Architecture of Network based Payroll System Application


System architecture is the conceptual model that defines the structure, behaviour, and
more views of a system. An architecture description is a formal description and representation
of a system, organized in a way that supports reasoning about the structures and behaviours of
the system. System architecture can comprise system components, the externally visible
properties of those components, the relationships (e.g. the behaviour) between them. It can
provide a plan from which products can be procured, and systems developed, that will work
together to implement the overall system.

Figure 3.3 Architecture of Network based Payroll System Application

12

The Architecture of Payroll System allows the account department to insert/update


employee details, generate salary slip and bank statement. It also allows to print these reports.
All the employee details are stored in the database using the payroll system. The system also
allows employees to take CL and all these details are maintained by the administration
department.

3.4 Modular Design of Network based Payroll System Application


Modular design, for "modularity in design", is a design approach that subdivides a system into
smaller parts called modules or skids that can be independently created and then used in
different systems. Besides reduction in cost (due to less customization, and shorter learning
time), and flexibility in design, modularity offers other benefits such as augmentation (adding
new solution by merely plugging in a new module), and exclusion.
3.4.1 MODULE 1: Home Screen

Figure 3.4.1 Home Screen module of Network based Payroll System Application

The Home Screen module includes various sub-modules such as insert employee, update
employee details, etc. It allows user to insert new employees in the system, update the details
of existing employees, delete an existing employee, and search an employee in the system. The
Employee search sub-module allows to search a particular employee by his/her EmpID, Name,

13

Designation or Department.
3.4.2 MODULE 2: Salary Generation

Figure 3.4.2 Salary Generation module of Network based Payroll System Application

The salary generation module includes various sub-modules such as single salary entry, auto
fill salary, view summary, etc. It allows to enter the salary of a single employee, view summary
of salary and email the salary slip to all employees on their email-ids. The auto fill sub-module
allows to automatically fill the salary of the employees based on the salary of the previous
month and the present days of the employees.

14

3.4.3 MODULE 3: Report Generation

Figure 3.4.3 Report Generation module of Network based Payroll System Application

3.4.4 MODULE 4: Income Tax

Figure 3.4.4 Income Tax module of Network based Payroll System Application

The income tax module allows income tax entry and to generate & view the Form 16.

15

3.4.5 MODULE 5: Default settings

Figure 3.4.5 Default Settings module of Network based Payroll System Application

The Default settings module allows to set the default month and year, and July increment for
salary generation. The salary default sub-module enables to set the default DA, TA, HRA,
CLA, PF, etc.

16

3.5 User Interface Design of Network based Payroll System Application


User interface design requires a good understanding of user needs. There are several phases
and processes in the user interface design, some of which are more demanded upon than others,
depending on the project.

Figure 3.5 User Interface example of Network based Payroll System Application

As shown in figure 3.5 above, the User Interface of Network based Payroll System
Application is quite easy to comprehend. Panels and Tabs are used to invoke different
functions. It consists Employee, Salary Generation, Report Generation, Income Tax, and
Default Settings.

3.6 Test Design of System


System testing is a critical phase implementation. Testing of the system involves hardware
device and debugging of the computer programs and testing information processing
procedures. Testing can be done with text data, which attempts to stimulate all possible
conditions that may arise during processing. If structured programming Methodologies have
been adopted during coding the testing proceeds from higher level to lower level of program
module until the entire program is tested as unit. The testing methods adopted during the testing
of the system where unit testing, integration testing, functional testing, and acceptance testing.

17

Unit Testing:
Unit testing focuses first on the modules, independently of one another, to locate errors. This
enables the tester to detect errors in coding and logical errors that is contained within that
module alone. Those resulting from the interaction between modules are initially avoided.
Integration Testing:
Integration testing is a systematic technique for constructing the program structure while at the
same time to uncover the errors associated with interfacing. The objective is to take unit-tested
module and build a program structure that has been detected by designing. It also tests to find
the discrepancies between the system and its original objectives. Subordinate stubs are replaced
one at time actual module. Tests were conducted at each module was integrated. On completion
of each set another stub was replaced with the real module.
Functional Testing:
Functional testing is a technique in which all the functionalities of the program are tested to
check whether all the functions that were proposed during the planning phase is full filled. This
is also to check that if all the functions proposed are working properly.
This is further done in two phases:
One before the integration to see if all the unit components work properly.
Second to see if they still work properly after they have been integrated to check if
some functional compatibility issues arise.
Acceptance Testing:
In engineering and its various sub disciplines, acceptance testing is a test conducted to
determine if the requirements of a specification or contract are met. It may involve chemical
tests, physical tests, or performance tests. Software developers often distinguish acceptance
testing by the system provider from acceptance testing by the customer (the user or client) prior
to accepting transfer of ownership. In case of software, acceptance testing performed by the
customer is known as user acceptance testing.

18

Chapter 4

19

Implementation of Network based Payroll System Application


Implementation is the realization of system specifications of an application through
programming and deployment. System implementation consists of several tasks such as
adopting a methodology, identifying the software, hardware and network requirements,
planning and scheduling but the major task is realizing the technical specifications into a
working product according to given requirements.

4.1 System Requirement:


4.1.1 Hardware requirements:
The hardware specification that is required in our project is as follows:
Intel Dual core processor
Operating System: Windows 7 and above
2 GB RAM
500 GB Hard Disk

4.1.2 Software requirements:


The softwares that will be used in our project are as follows:
Front End: VB.NET
Back End: MySQL
Software: Visual Studio 2013
SAP crystal reports plugins
MySQL Server 2000

4.2 System Implementation


System implementation is the process of construction of the new system and delivery of that
system into production. It is process of defining how information system to be built.

20

Figure 4.2.1 network based payroll system

The technology we have used here is VB.NET. The Visual Basic [.NET] (VB.NET) is a multiparadigm, high-level programming language, implemented on the .NET Framework. VB.NET
is the successor of the original Visual Basic language. Along with all the features of visual
basic [.NET], it also uses MySQL which is an open-source relational database management
system (RDBMS) as database to store data.
We are developing initially home screen module which consists of sub-modules such
as insert employee, update employee details, delete employee, and search employee. The
system also includes various other modules such as salary generation module, reports
generation module, income tax module, and default settings module.
The external entity accountant, administrator, can store and retrieve the data in the
database using the Network based payroll application. Then the data flow from home screen
module to other modules and sub-modules according to the selection of user (accountant), and
necessary functions are performed.
We have various classes involve, the required method of classes is called as per requirement.
There are various classes such as Employee, Bank Statement, CLRegistry, etc. Which are
being called from home screen of each individual page of the modules.

21

4.3 Module Implementation of Network based Payroll System


Application
Module implementation of Network based Payroll System Application has total five modules.
They show how the Network based Payroll System Application will work.
4.3.1 Home Screen module:
The home screen module allows to insert a new employee in the system, update the details of
the existing employees, delete an employee and search the employees according to the EmpID,
name of staff, designation or department.

Figure 4.3.1 Home Screen module of Network based Payroll System Application

Code:
Imports CrystalDecisions.CrystalReports.Engine
Public Class mainform
Private Sub btempsearch_Click(sender As Object, e As EventArgs) Handles
btempsearch.Click
EmpSearch.Show()
End Sub
Private Sub btclreg_Click(sender As Object, e As EventArgs) Handles btclreg.Click
fmCLentry.Show()
End Sub
Private Sub btempsal_Click(sender As Object, e As EventArgs) Handles
btempsal.Click
fmsalentry.Show()
End Sub
Private Sub btsaldetails_Click(sender As Object, e As EventArgs) Handles
btsaldetails.Click
fmsaldetails.Show()
End Sub

22

Private Sub btmonsal_Click(sender As Object, e As EventArgs) Handles


btautofill.Click
Autofill.Show()
End Sub

Private Sub btprintindisal_Click(sender As Object, e As EventArgs) Handles


btprintindisal.Click
Print.Show()
End Sub
Private Sub btempentry_Click(sender As Object, e As EventArgs) Handles
btempentry.Click
EmployeeEntery.Show()
End Sub
Private Sub mainform_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub btbankstat_Click(sender As Object, e As EventArgs) Handles
btemailsalslip.Click
emailsending.Show()
End Sub
Private Sub btclentry_Click(sender As Object, e As EventArgs) Handles
btclentry.Click
CLDetails.Show()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
SetMonth.Show()
End Sub
Private Sub bttaxcal_Click(sender As Object, e As EventArgs) Handles
bttaxcal.Click
TAX.Show()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
julyincreament.Show()
End Sub
End Class

23

4.3.2 Employee Registration module:


Employee registration form used for adding, updating and deleting employee information.

Figure 4.3.2 Employee Registration

Code:
Option Explicit On
Imports System.Data.SqlClient
Imports MySql.Data.MySqlClient
Public Class EmployeeEntery
Dim MySQLConnection As MySqlConnection
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
MySqlConnection = New MySqlConnection
MySQLConnection.ConnectionString =
"server=sql6.freemysqlhosting.net;port=3306;user
id=sql6107030;password=9X5eag9tHS;database=sql6107030;"
Try
MySQLConnection.Open()
Dim insert As MySqlCommand
insert = MySQLConnection.CreateCommand
insert.CommandText = "INSERT INTO emp
(EmpID,NameOfStaff,Designation,Type,Department,TeachNonTeach,PfFacility,HouseFacility,
BasicSal,AGP,DA,HRA,CLA,TA,Others,PF,ProfTax,GSLI,Contact,Email,BankBOM,BankSAR,PanNo)
VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
Dim i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16,
i17, i18, i19, i20, i21, i22, i23 As New MySqlParameter
insert.Parameters.Add(i1)
insert.Parameters.Add(i2)
insert.Parameters.Add(i3)
insert.Parameters.Add(i4)
insert.Parameters.Add(i5)
insert.Parameters.Add(i6)
insert.Parameters.Add(i7)
insert.Parameters.Add(i8)
insert.Parameters.Add(i9)
insert.Parameters.Add(i10)
insert.Parameters.Add(i11)

24

insert.Parameters.Add(i12)
insert.Parameters.Add(i13)
i1.Value = TextBox1.Text
i2.Value = TextBox2.Text
i3.Value = TextBox3.Text
i4.Value = ComboBox3.SelectedItem
i5.Value = TextBox5.Text
i6.Value = ComboBox4.SelectedItem
If (ComboBox1.SelectedItem = "Yes") Then
i7.Value = True
Else
i7.Value = False
End If
If (ComboBox2.SelectedItem = "Yes") Then
i8.Value = True
Else
i8.Value = False
End If
i9.Value = Convert.ToInt32(TextBox9.Text)
i10.Value = Convert.ToInt32(TextBox10.Text)
i11.Value = Convert.ToInt32(TextBox11.Text)
i12.Value = Convert.ToInt32(TextBox12.Text)
i13.Value = Convert.ToInt32(TextBox13.Text)
i14.Value = Convert.ToInt32(TextBox14.Text)
i15.Value = Convert.ToInt32(TextBox15.Text)
i16.Value = Convert.ToInt32(TextBox16.Text)
i17.Value = Convert.ToInt32(TextBox17.Text)
i18.Value = Convert.ToInt32(TextBox18.Text)
i19.Value = Convert.ToInt64(TextBox22.Text)
i20.Value = TextBox20.Text
i23.Value = TextBox4.Text
'i21.Value = Convert.ToInt32(TextBox21.Text)
'i22.Value = Convert.ToInt32(TextBox19.Text)
If (String.IsNullOrEmpty(TextBox21.Text)) Then
i21.Value = TextBox21.Text
Else
i21.Value = Convert.ToInt32(TextBox21.Text)
End If
If (String.IsNullOrEmpty(TextBox19.Text)) Then
i22.Value = TextBox19.Text
Else
i22.Value = Convert.ToInt32(TextBox19.Text)
End If
insert.ExecuteNonQuery()
MySQLConnection.Close()
Catch ex As Exception
MsgBox("Please check your internet connection")
End Try
MsgBox("Records Inserted")
MsgBox("Row(s) Updated !! ")
End Sub

25

4.3.3 Employee search module:


The Employee search sub-module allows to search a particular employee by his/her EmpID,
Name, Designation or Department.

Figure 4.3.3 Employee Search

Code:
Imports System.Data.SqlClient
Imports MySql.Data.MySqlClient
Public Class EmpSearch
Private Sub Empid_txt_TextChanged(sender As Object, e As EventArgs) Handles
Empid_txt.TextChanged
End Sub
Private Sub search_btn_Click(sender As Object, e As EventArgs) Handles
search_btn.Click
Dim mysqlAdapter As New MySqlDataAdapter
Dim connetionString As String =
"server=sql6.freemysqlhosting.net;port=3306;user
id=sql6107030;password=9X5eag9tHS;database=sql6107030;"
Dim con As MySqlConnection = New MySqlConnection(connetionString)
Dim insert As MySqlCommand
Dim a1, a2, a4, a3 As New MySqlParameter
Dim ds As New DataSet
Dim dt As New DataTable()
Dim table As New DataTable("sql6107030.emp")
Dim tb As DataTableCollection
table.Columns.Add("EmpID")
table.Columns.Add("NameOfStaff")
table.Columns.Add("Designation")
table.Columns.Add("Type")
table.Columns.Add("Department")
table.Columns.Add("TeachNonteach")
table.Columns.Add("PfFacility")
table.Columns.Add("HouseFacility")
table.Columns.Add("BasicSal")

26

table.Columns.Add("AGP")
table.Columns.Add("DA")
table.Columns.Add("HRA")
table.Columns.Add("CLA")
table.Columns.Add("TA")
table.Columns.Add("Others")
table.Columns.Add("PF")
table.Columns.Add("Proftax")
table.Columns.Add("GSLI")
table.Columns.Add("Contact")
table.Columns.Add("Email")
table.Columns.Add("BankBOM")
table.Columns.Add("BankSAR")
table.Columns.Add("PanNo")
ds.Tables.Add(table)
con.Open()
insert = con.CreateCommand
insert.CommandText = "SELECT
EmpID,NameOfStaff,Designation,Type,Department,TeachNonTeach,PfFacility,HouseFacility,B
asicSal,AGP,DA,HRA,CLA,TA,Others,PF,Proftax,GSLI,Contact,Email,BankBOM,BankSAR,PanNo
FROM sql6107030.emp where Empid=? OR NameOfStaff=? OR Department=? OR Designation=? ;"
insert.Parameters.Add(a1)
insert.Parameters.Add(a2)
insert.Parameters.Add(a3)
insert.Parameters.Add(a4)
a1.Value
a2.Value
a3.Value
a4.Value

=
=
=
=

Empid_txt.Text
EmpName_txt.Text
Dept_txt.Text
ComboBox1.SelectedItem

mysqlAdapter.SelectCommand = insert
Dim dAdpter As New MySqlDataAdapter(insert)
dAdpter.Fill(ds, "sql6107030.emp")
ds = New DataSet
tb = ds.Tables
dAdpter.Fill(ds, "sql6107030.emp") 'Change items to your database name
Dim view As New DataView(tb(0))
Dim source1 As New BindingSource
source1.DataSource = view
DataGridView2.DataSource = view
con.Close()
End Sub
End Class

4.3.4 Salary Generation module:


The salary generation module allows to enter the salary of a single employee, view summary
of salary and email the salary slip to all employees on their email-ids. The auto fill sub-module
allows to automatically fill the salary of the employees based on the salary of the previous
month and the present days of the employees.

27

Figure 4.3.4 Salary Generation module of Network based Payroll System Application

Code:
Public Class fmsalentry
Private Sub fmsalentry_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim month As String
Dim year As Int32
Dim conn As MySqlConnection
Dim mysqladapter As New MySqlDataAdapter
Dim ds As New DataSet
Dim rd As MySqlDataReader
Dim connetionString As String =
"server=sql6.freemysqlhosting.net;port=3306;user
id=sql6107030;password=9X5eag9tHS;database=sql6107030;"
conn = New MySqlConnection(connetionString)
Try
conn.Open()
Dim getm As MySqlCommand
getm = conn.CreateCommand
getm.CommandText = "SELECT Month,Year FROM sql6107030.defaultvalues;"

mysqladapter.SelectCommand = getm
rd = getm.ExecuteReader()
If rd.Read Then
month = rd(0)
year = rd(1)
End If
rd.Close()
conn.Close()

Catch ex As Exception

28

MsgBox(ex.ToString)
End Try
Dim sal As New fmsalentry
TextBox3.Text = month
TextBox16.Text = Convert.ToString(year)

End Sub

4.3.5 Reports Generation module:


The report generation module allows to generate the monthly summary report, salary slip for
single employee as well as all employees, and bank statement for bank of Maharashtra and
Saraswat bank of the employees.

Figure 4.3.5 Reports Generation module of Network based Payroll System Application

Code:
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.Collections
Public Class Print
Private Sub btprintindisal_Click(sender As Object, e As EventArgs) Handles
btprintindisal.Click
Dim crReportDocument As ReportDocument
Dim reportPath As String = "D:\RGITpayroll\SalSlip.rpt"
Dim strmon, empid As String
strmon = cbmonth.SelectedItem
Dim numyear As Integer
numyear = CInt(cbyear.SelectedItem)
empid = TextBox1.Text
crReportDocument = New ReportDocument()
crReportDocument.Load(reportPath)

29

crReportDocument.SetParameterValue("Month", strmon)
crReportDocument.SetParameterValue("year", numyear)
crReportDocument.SetParameterValue("empid", empid)
CrystalReportViewer1.ReportSource = crReportDocument
CrystalReportViewer1.Refresh()
End Sub

4.3.6 Income Tax module:


The income tax module allows to make income tax entry and generate and view the summary
of the form 16.

Figure 4.3.6 Income Tax module of Network based Payroll System Application

Figure 4.3.7 Income Tax Form Entry

30

Code:
Private Sub GetData_Click(sender As Object, e As EventArgs) Handles GetData.Click
Dim conn As MySqlConnection
Dim mysqladapter As New MySqlDataAdapter
Dim ds As New DataSet
Dim a2, az, a3 As New MySqlParameter
Dim rd As MySqlDataReader
Dim fromYear, ToYear As Int32
Dim NameOfStaff, Designation As String
az.Value = TextBox1.Text
a2.Value = ComboBox1.SelectedItem - 1
a3.Value = ComboBox1.SelectedItem
Dim OtherInc, GrossInc, DeduUnVIA, AgrDeduAm, SurCharge, RelifeUnSec, Ltax As
Int32
Dim aprile, maye, junee, julye, auge, septe, octe, nove, dece, jane, febe,
mare, TotalEmoluments, TA, PANno, TANno, BAL, ProfTax, Agg, IncCharge As Int32
Dim connetionString As String =
"server=sql6.freemysqlhosting.net;port=3306;user
id=sql6107030;password=9X5eag9tHS;database=sql6107030;"
conn = New MySqlConnection(connetionString)
Try
conn.Open()
Dim insert As MySqlCommand
insert = conn.CreateCommand
insert.CommandText = "SELECT NameOfStaff,Designation FROM sql6107030.emp
WHERE EmpID = ?;"
insert.Parameters.Add(az)
mysqladapter.SelectCommand = insert
rd = insert.ExecuteReader()
If rd.Read Then
NameOfStaff = rd(0)
Designation = rd(1)
TextBox2.Text = Convert.ToString(NameOfStaff)
TextBox3.Text = Convert.ToString(Designation)
End If
rd.Close()
conn.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try

4.3.7 Default Settings module:


The default settings module allows to set the default month and year, and July increment for
salary generation. The salary default sub-module enables to set the default DA, TA, HRA,
CLA, PF, etc.

31

Figure 4.3.8 Default settings module of Network based Payroll System Application

Code:
Imports System.Data.SqlClient
Imports MySql.Data.MySqlClient
Public Class setincrement
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim inc, inc1 As Decimal
Dim mysqladapter As New MySqlDataAdapter
Dim ds As New DataSet
Dim a1, a2 As New MySqlParameter
Dim rd As MySqlDataReader
Dim MySqlConnection As New MySqlConnection
MySqlConnection.ConnectionString =
"server=sql6.freemysqlhosting.net;port=3306;user
id=sql6107030;password=9X5eag9tHS;database=sql6107030;"
Dim incd As Int32
incd = Convert.ToInt32(TextBox1.Text)
inc = (incd / 100)
Try
MySqlConnection.Open()
Dim insert As MySqlCommand
insert = MySqlConnection.CreateCommand
insert.CommandText = "UPDATE sql6107030.defaultvalues SET basicincrement
=? WHERE basicincrement =?; "
insert.Parameters.Add(a1)
insert.Parameters.Add(a2)
a1.Value = inc
a2.Value = Convert.ToDecimal(julyincreament.TextBox12.Text)
'TextBox2.Text = inc
'TextBox3.Text = Convert.ToDecimal(julyincreament.TextBox12.Text)
insert.ExecuteNonQuery()
MySqlConnection.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub End Class

32

4.4 Testing of Network based Payroll System Application


4.4.1 Testing strategies on Network based Payroll System Application:
The testing of Network based Payroll System Application was carried out in three phases-:
Unit Testing.
Integration Testing.
System Testing.
Unit Testing-:
In unit testing we ensure that each of the modules is working independently. Therefore, the
five modules must work individually in order to pass this test level. We started with the basic
modules and then tested modules which were more complex. Therefore, the order of unit
testing was 'Home Screen, Salary Generation, Reports Generation, Income Tax and Default
Settings Module.
Integration Testing-:
Integration testing is a systematic technique for constructing the program structure while at the
same time to uncover the errors associated with interfacing. The objective is to take unit-tested
module and build a program structure that has been detected by designing. It also tests to find
the discrepancies between the system and its original objectives. Subordinate stubs are replaced
one at time actual module. Tests were conducted at each module was integrated On
completion of each set another stub was replaced with the real module.
System Testing-:
The integration and unit testing phase carried out on System were carried out on a Visual Studio
Framework Application. The final testing of System was conducted on different Windows PCs
with different configuration so that load and stress can be exposed.
4.4.2 Test cases of Network based Payroll System Application:
First unit testing was carried out on each module separately. The test case for each module is
described below.

33

Table 4.1 Unit Testing

Sr. No

Module

Employee

Sub-Module

Why?

Desired

Observed

Output

Output

(a)Employee

For testing when user The employee The employee

Registration

enters employee details details must be details

are

for new registration and saved in the saved in the


clicks on save button

database

database

(b)Employee

For checking when user The employee The employee

Search

changes some details of details must be details

are

an existing employee and updated in the updated


clicks on update button
2

database

Salary

(a)Autofill

To test when user selects The

Generation

Salary

particular

month

successfully

details

and must

The

be are

details
retrieved

year and clicks on get retrieved from and

set

to

past month, set details to database

and current month

current month, Calculate once

the and saved in

and Save.

are the

details

database

retrieved, then successfully.


these

details

must be set to
current month
and at the end
the

details

must be saved.
(b)Email

To test when user selects When

Salary Slip

particular

month

and selects

year and clicks on Send particular


Mail

month

user The
corresponding
Salary Slip is
and mailed

year and clicks every


on Send Mail, employee
the Salary Slip successfully.
34

to

must

be

mailed

to

every
employee
3

Reports

(a)Monthly

To check when user The

Generation

Summary

clicks

on

monthly The

monthly summary

monthly

summary

is

summary report and save report must be generated and


monthly report

generated and saved


saved in the successfully in
database

the database

(b)Bank

To check when user The

Statement

selects type and teach- statement

of statement

nonteach and clicks on particular

particular

bank statement

bank The

bank

bank
of

for bank

is

corresponding

generated

type

successfully

employees

for

must

the

be selected

generated

month

and

year
4

Income Tax

(a)Income Tax To check when user The


Entry

salary The

salary

enters EmpID and clicks details must be details of the


on Get Data and once retrieved

of employee

is

data is retrieved then corresponding

retrieved and

clicks on save.

the calculated

employee

using EmpID Income Tax is


and

the saved in the

calculated
Income

database
Tax

must be saved
in database

35

Default

(a)Default

To check when user The

Settings

settings

enters the default values values must be values are set


and clicks on save

default The

set and saved

default

successfully
and saved in
the

database

for
calculations
After unit test was carried out on each module separately. The modules were integrated and
integration testing was carried out on the system.

Table 4.2 Integration Testing

Sr. No

Module

Action

All

Running each Each


module

Employee

Process

successfully

successfully

running

are

sub-modules Sub-modules
running should

successfully

successfully
running

36

Result

module Module should be Pass

running

Running each All


sub-module

Expected Result

Pass
be

Chapter 5

37

Result of Network based Payroll System Application


After successful implementation of the project the results of Network based payroll system are
as follows:

5.1 System Result and Evaluation


The system results and evaluation consists of the outputs and results that the system gives when
the various modules of the system are executed.
The results generated by the network based payroll system application are:
1. Adequate and Coverage
The payroll software can perform the following functions
Insert, Update, Delete employee information and search for a particular employee in
the database (When an employee is deleted from the system, its details are stored in the
old employee table)

Calculate gross and net salary, and determine tax deductions to be made

Print Salary slips for each month, showing year-to-date totals

Autofill salary for current month and year based on the previous month and year

Email Salary slips to employees, etc.


2. Efficiency and Effectiveness
The payroll application software calculates the total earnings of the employee and
automatically updates the employees earning to date.
The software does its calculations in a very clear and concise manner. All calculations
are guaranteed accuracy.
3. Elegance and User-friendliness
The different tasks and functions are outlined in a very simple and clear manner for the
users.
The interface is very simple and not complicated to allow for easy usage.
4. Quality Assurance
The software was fully tested to ensure it is relatively error free and that it computes
38

results correctly, including deductions such as taxes.


The software provides a better, time saving and efficient way of keeping track of
employees earnings by speeding up calculations, and reducing paperwork by keeping
efficient electronic records.

5.2 Network based Payroll System Application in Action


In this section the various modules of the system are illustrated in action
5.2.1 User Interface

Figure 5.2.1 User Interface of Network based Payroll System Application

As shown in figure 5.2.1 above, the User Interface of Network based Payroll System
Application is quite easy to comprehend. Panels and Tabs are used to invoke different
functions. It consists Employee, Salary Generation, Report Generation, Income Tax, and
Default Settings.
The Employee module consists of various sub-modules such as employee entry, employee
update, employee delete, and employee search. The employee entry allows to insert a new
employee into the system, the employee update allows to update the details of existing
employee and employee delete is used to delete an employee from the system.

39

Employee Search module in action:


The employee search module allows to search an employee on the basis of his/her name,
empID, designation, and department. Here the employee is searched based on the department
and designation.

Figure 5.2.2 Employee Search module in action

Salary Slip Report module in action:

Figure 5.2.3 Salary Slip Report module in action

The salary slip module generates the salary slip of a single employee or all the employees.

40

Chapter 6

41

Conclusion and Future Work


6.1 Conclusion
The main aim of this project was to put what we learnt in our Software engineering class into
practice. The Network based Payroll System Application designated to our team allowed us to
fully exercise the techniques of XP. The final deliverable was an advanced Payroll software
and we were able to learn a new programming language, VB.NET. 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.
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 serialize
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 real experience on how professional programmers
work in the industry. We got opportunity to work on live project given by our college in which
we learnt how to interact and negotiate with the changing user requirements.
In this way we successfully completed our final year project by following all aspects of
software engineering and submitted the completed project to user.

6.2 Future Work


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 by adding some extra features such as Advanced search,
Customizable reports, Customizable calculations for salary, Online portals for panels, etc., to
make the software a completely advanced software. As the software currently operates on a
local network, the first step would be making the software completely network-enabled, and
eventually web-enabled. By making the software web-enabled, it will allow to create an admin
panel for content management, thus all the data will be stored, retrieved and managed online
on the web application.
42

Currently the software allows to search an employee based on only few categories i.e. based
on the empID, name of the staff, designation and department. In the future we will be adding
an advanced search option which will allow the user to search an employee on the basis of any
value the user wants and the system will filter the employees as per the user needs. Also we
will allow the users to customize the calculations for salary in the future as per their needs.
We are also going to allow customizing the crystal reports by the users and this will ensure that
only the specific information or the fields required by the user will be generated in the reports.
Thus providing users the extra flexibility while using the payroll software. In addition, the
software can also be improved in terms of the calculations it can do.

43

You might also like