You are on page 1of 68

Web based HR Management System for

Office of the Deputy Director of Agriculture

DISHAN SHIRANTHA E.
R081955
0819557
Supervisor -Mrs. S.D.D.Ashoka

December 2014

BI
T
This dissertation is submitted in partial fulfillment of the requirement of the
Degree of Bachelor of Information Technology (external) of the
University of Colombo School of Computing
I

ABSTRACT
The Office of the Deputy Director of Agriculture is one of the government offices in
Hambantota district, which play important role of Agriculture in the so fast developing
district of Sri Lanka. This organization has a main office, two division offices and twelve
sub offices. Around seventy staff officers are working with this organization. The main
office handles Administration, HR management and Accounting roles.
This organization has manual file based system. Division office cant see any updated
details of employees and salaries. Also some important news are sending by post or by
phone from main office to sub offices. It is difficult to give correct and full details to the
sub offices quickly. Details submitting method is very delay.
The main aim of the project is to develop a Web based HR Management System for Office
of the Deputy Director of Agriculture. The module enhances good Interaction /
communication facilities between the employees and administrator, also between main
office, division offices and sub offices. To develop a software application to the
application specific to the Web based HR Management System in an intranet specific to
company there by allowing the integration of all the employees pertaining to that
organization. User can view news of the organization as quickly as thought. This system
useful to keep track of all the other sub offices related to that institute such as Division
office, AI office etc.
The Rational Unified Process (RUP) methodology was identified as the most suitable
development methodology for delivering projects in a maximum performance manner.
The system was developed using ASP.net, HTML, CSS, JavaScript, Visual Basic.NET
(VB.NET) languages. MySQL was used as the database tool for designing the database.
Additionally, Microsoft Visual Studio 2010 was chosen as the coding tool and Adobe
Photoshop CS5 was chosen as the interface designing tool.

II

The developed system was check by system users in the office of the Deputy Director of
Agriculture. After that the system successfully handed over to the client to execute it. It will
helpful to the organization to improve management process as well as to do better
communication with every employee in the organization.

III

ACKNOWLEDGMENT
I express thanks and gratitude to the BIT Coordinator of University of Colombo School of
Computing (UCSC) and project examination board of Bachelors of Information
Technology (BIT) for giving me the opportunity to apply the knowledge gained through
the BIT degree program.
I would like to express gratitude and indebtedness to Mrs. S.D.D. ASHOKA, for her
valuable advice and guidance without which this project would not have seen the light of
the day.
I must thank Deputy Director and all the staff of Office of the Deputy Director who gave me
the opportunity to develop this system for their organization and gave me an unwieldy support
for the successful fulfillment of the project.

I would like to thank my parents for being supportive all the time, and I am very much
obliged to them

IV

TABLES OF CONTENTS
DECLARATION
ABSTRACT
ACKNOWLEDGEMENT
TABLE OF CONTENTS
LIST OF FIGURES
CHAPTER 1: INTRODUCTION
1.1 Introduction
1.1 Motivation of the System
1.3 Objective of the System:
1.4 Scope of the System:
CHAPTER 2: ANALYSIS
2.1 Introduction
2.2 Existing System:
2.2.1 Drawbacks in Existing System:
2.3 Requirements Gathering Techniques
2.4 Outline of Existing Similar Solutions
2.5 Functional Requirements
2.6 Non Functional Requirements
2.7 Feasibility Study
2.7.1 Technical Feasibility
2.7.2 Economical Feasibility
2.7.3 Operation Feasibility
2.8 Proposed System:
2.8.1 Advantages of Proposed System:

I
II
IV
V
VIII
1
1
2
2
4
4
4
6
6
7
7
8
8
9
9
9
10
10

CHAPTER 3: SYSTEM DESIGN


3.1 Input design
3.2 Output design
3.3 Interface design
3.4 Table and Database Design:
3.4.1 Normalization:
3.4.1.1First Normal Form:

11
11
11
12
12
12
12
V

3.4.1.2 Second Normal Form:


3.4.1.3 THIRD NORMAL FORM:
3.5 UML Diagrams Unified Modeling Language
3.5.1 An Overview of UML:
3.5.2 Basic Building Blocks Of The UML:
3.5.3 Project Report HRMS
3.5.4 Things in the UML:
3.5.6 Structural Things:
3.5.7 Diagrams In UML:
3.5.7.1 Class Diagram:
3.5.7.2 USE Cases Diagram:
3.5.7.3 Sequence Diagrams:
3.5.7.4 Sequence Diagrams Have Two Interesting
Features:
3.5.7.5 Activity Diagram
3.5.7.6 State Chart Diagrams
3.6 Module Description
3.6.1 Employee General Detail module
3.6.2 Salary Detail module
3.6.3 Leave General Detail module
3.6.4 Reporting module
CHAPTER 4: IMPLEMENTATION
4.1 Benchmarks to be Implemented
4.2 Hardware Requirements:
4.3 Software Requirements:
4.4 Management Structure of the System:
CHAPTER 5: EVALUATION
5.1 Testing
5.2 System Testing
5.3 Unit Testing
5.4 Module Testing
5.5 Integration Testing
5.6 Acceptance Testing
5.7 User Evaluation Report
CHAPTER 6: CONCLUSION
CHAPTER 7: REFERENCES
APPENDIX A - DESIGN DOCUMENTATION
APENDIX B - USER DOCUMENTATION
APENDIX C - CODE LISTING
APENDIX D TEST RESULTS
APENDIX E - CLIENT CERTIFICATE

VI

12
12
13
13
13
13
14
14
14
15
15
16
17
17
17
18
19
19
20
21
21
22
22
22
23
23
23
23
23
24
24
24
25
26
27
31
40
53
59

LIST OF FIGURES
Figure 2.2.1. Structure of the Office of the Agriculture Office
Figure 2.2.2 Structure of the Organization Employees
Figure 3.5.7.2. Use Case Diagram

5
5
15

Figure 3.5.7.3 Sequence Diagram


Figure 3.5.7.6 State Diagram

16
18

Figure 4.3 Management Structure of the system

22

Figure 5.7 User evaluation report


Figure A.1 Use Case Diagram
Figure A.2. State Diagram
Figure A.3 Data Flow Diagram
Figure A.4 Sequence Diagram
Figure B.1 Login Page
Figure B.2 Employee Details Page
Figure B.3 Employee Salary Page
Figure B.4 Leave Details Page
Figure B.5 Personal Details Report Page
Figure B.6 Salary Details Report Page
Figure B.7. Leave Details Report Page
Figure B.8. Special Report Home Page
Figure B.9. Special Report 1
Figure B.10. Special Report 2
Figure B.11. Special Report 3
Figure B.12. Special Report 4
Figure B.13. Special Report 5

24
27
28
29
30
31
32
33
34
35
35
36
36
37
37
38
38
39

VII

1. INTRODUCTION
1.1 INTRODUCTION
Web Based Human Resource Management System consists of list of records of the HR
and Employee in the organization. This is a web based application. The main aim of the
project is to develop a Human Resource Module for the Intranet Automation of HR
Software for an organization. The module enhances good Interaction / communication
facilities between the employees and Administrator. The site containing pages about an
employee has to be dynamically created based on the user id and password and provide
links to web pages containing information about following details.

Employee General Details

Salary Details

Leave Details

Reports Generations

1.2 MOTIVATION OF THE PROJECT:


Early this organization was carrying their duties in a manual way with lot of heavy books,
files and papers. This manual system is very inefficient and employees cannot interact
with the administrator section of the main office. So it is very difficult to provide good
services to their employees. The following problems have been occurred in the existing
manual system.

There is no proper system to manage employee details, leave details and salary
details of the organization.

There is no systematic way to send updated news to other branches. Also no way
to acquire the important forms and documents like leave applications, travelling
claim applications, etc.

No proper way to manage leave details of employees. Because handle that details
in the main office and two division office.

There is no systematic way to generate important reports.

To overcome the above mentioned problems, this web based management system is
emerged. It will reduce the time and cost that will have to spend for some duties in the
organization. Moreover, this system can promote the competency and the productivity of
their services. Also provide a better and a reliable service to the employees.

1.3 OBJECTIVE OF THE PROJECT:


The main objective of the system is to maintain employee personal details, salary details
and leave details. Also maintain the relationship between Administration and Employees
in an organization. Also Share the details of employees and special news of the
organization between all sub offices.
To achieve better results and success by implement computerized process instead of
manual process
To keep track of all the other departments related to that organization like marketing,
research etc.
To allow the Administration staff of an organization to update the employee details
whenever there is a change in the employee profile pertaining to that organization.
This system provides efficient and accurate management to the Administrator. Also
Administrator can gather information and decision making from the system. The system
will helpful for improve production of the organization.

1.4 SCOPE OF THE SYSTEM:


Allow for the creation of an application specification to the human resource that maintain
the intranet automation of the HR software i.e., which contains the data related to the
employee. Other objectives and scopes are listed below.

Employee details Management

Salary details Management

Leave Details Management

Process Management Reports

Update News of the Organization

Upload important forms to the site to download to employees

2. ANALYSIS
2.1 INTRODUCTION
Systems analyst is required in order to identify weaknesses, workarounds and solutions on
an IT project. They are experts in analyzing problems and forming solutions while
identifying risks, issues, and impact. The systems analyst is not responsible for coding
(although code reviews may be required), but they are responsible for analyzing existing
systems and identifying suitable solutions. Systems analyst is more technical in nature
than a Business analyst who will act as the interface between the business and the
technical teams. Often Systems analysts and Business analysts work closely together, it is
also common to have 1 person to fulfill both roles, these are known as Business Systems
analysts. Without a systems analyst the IT team has no way to analyze existing IT, or to
analyze the impact of integrating new IT solutions. This could therefore be an impact in
terms of time taken on a project, number of defects raised, and not meeting the business
requirements.

2.2 EXISTING SYSTEM:


The Office of the Deputy Director of Agriculture currently use manual file based system
to handle employee details, Leave details etc. Also the organization has Payroll system.
That one is higher security. Since that reason unauthorized persons cant view their salary
details. Also other administration staff members cant get special reports.
This organization has several sub offices (Figure 2.2.1). Those office staff members
havent updated details of their employees. Since that the efficiency of the collect data,
edit data etc. very less.

Figure 2.2.1. Structure of the Office of the Agriculture Office

Figure 2.2.2. Structure of the Organization Employees

They have following sections

Employee General details - Personal information

Employee Salary details - Payroll system

Employee Leave details - Leave information

2.2.1 DRAWBACKS IN EXISTING SYSTEM:

Need of extra manual effort.

It used to take much time to find any employee

Not very much accurate.

Danger of losing the files in some cases.

Difficult to create report manually regarding employee details.

2.3 REQUIREMENTS GATHERING TECHNIQUES:


Before design the system gathering requirements by using the fact finding techniques are
the most critical part in the analysis phase. When gathering the requirements, there should
be a proper way to handle these techniques. There are several fact finding techniques
which can be used to collect the clear and accurate information. In this project facts were
gathered by using following techniques.
1. Interviews
2. Observations
3. Sampling and documentation.
When we are gathering requirements using sampling and documentation, it would help to
get a clear idea about the system. Also we checked the current manual system
documentation to get idea about the required system. Main problem was users have poor
IT knowledge. Since that was difficult to gather requirements. We selected some sampling
documents such as personal files, Salary reports in order to gather the client requirements.

Information was collected from the management through face to face interactions. When
we carried out interviews we used both structured way and unstructured way. It was a
great aid to

2.4 OUTLINE OF EXISTISING SIMILAR SOLUTIONS

OrangeHRM is the world's most popular and used open


source human resource management software. The open source OrangeHRM product suite
includes an array of modules that provide personal information management (PIM),
employee self-service (ESS), leave management, time and attendance tracking (PTO),
performance evaluation and recruitment, all at no cost. Today OrangeHRM is being used
by over a million users around the world, while larger multinationals have used the open
source version and customized the system to meet their human resource management
standards & requirements.

SimpleHRM is an intuitive, easy-to-use and affordable


Open Source Human Resource Management solution for Small and Medium Enterprises
worldwide. It provides many features like Employee information management, Leave,
Travel, Benefits, Expense Management and more. The major design objective of
SimpleHRM is to offer intuitive, Easy-to-use HRM software for the business user,
whether its a CEO of a small company or a HR functional head of a medium
organization.

2.5 FUNCTIONAL REQUIREMENTS


Here are the functional requirements for the HR Management System as identified
through the Analysis phrase.

Allow to enter the system only authenticated persons. (Administrators and Users).

Facilitate to view new news.

Facilitate to enter employee details, their salary details and leave details (only for
Administrator).

Ability to search employee details

Ability to get report of specific details of all employees.

Ability to search leave details of employee.

Ability to search salary details of employee.

Ability to print pay slip of employee.

Ability to get specific reports of salary.

Provide facility to get agent(bank, financial institute) details related with salary

2.6 NON FUNCTIONAL REQUIREMENTS


The Following Non Functional Requirements were also discovered.

System must be very simple and user Interface must be understandable

System should be easy to use and handle.

System should be reliable and accurate.

In case of software/hardware failure, the system should have the ability to recover
and be up and running without causing problems.

Security should be ensured since the system handles important data.

System should be portable and easy to maintain.

2.7 FEASIBILITY STUDY


Once the problem is clearly understood, the next step is to conduct feasibility study, which
is high-level capsule version of the entered systems and design process. The objective is to

determine whether or not the proposed system is feasible. The three tests of feasibility
have been carried out.
Technical Feasibility
Economical Feasibility
Operational Feasibility

2.7.1 TECHNICAL FEASIBILITY


In Technical Feasibility study, one has to test whether the proposed system can be
developed using existing technology or not. It is planned to implement the proposed
system using java technology. It is evident that the necessary hardware and software are
available for development and implementation of the proposed system. Hence, the
solution is technically feasible.

2.7.2 ECONOMICAL FEASIBILITY


As part of this, the costs and benefits associated with the proposed system compared and
the project is economically feasible only if tangible or intangible benefits outweigh costs.
The system development costs will be significant. So the proposed system is economically
feasible.

2.7.3 OPERATION FEASIBILITY


It is a standard that ensures interoperability without stifling competition and innovation
among users, to the benefit of the public both in terms of cost and service quality. The
proposed system is acceptable to users. So the proposed system is operationally feasible.

2.8 PROPOSED SYSTEM:


The proposed system of HR Module is the right software to be incorporated into
the HR Management Software for helping the organization needs with respect to
skillful Human Resource.
The proposed system provides detail general information about the employee along
with Salary and Leave details. It enhances the HR Management in adding, viewing
and updating employees details and generates various reports regarding
employees salary and leaves.
The proposed system has following modules.

Employee General Details

Salary Details

Leave Details

Reports Generations

2.8.1 ADVANTAGES OF PROPOSED SYSTEM:

Very fast and accurate.

No need of any extra manual effort.

Just need a little knowledge to operate the system.

Doesnt require any extra hardware device.

No fever of data loss.

At last very easy to find the employees and their detailed reports.

3. SYSTEM DESIGN
Design is multi-step process that focuses on data structure software architecture,
procedural details, (algorithms etc.) and interface between modules. The design process
also translates the requirements into the presentation of software that can be accessed for
quality before coding begins.
Computer software design changes continuously as new methods; better analysis and
broader understanding evolved. Software Design is at relatively early stage in its
revolution.
Therefore, Software Design methodology lacks the depth, flexibility and quantitative
nature that are normally associated with more classical engineering disciplines. However
techniques for software designs do exist, criteria for design qualities are available and
design notation can be applied.

3.1 INPUT DESIGN


Input design is the process of converting user-originated inputs to a computer-based
format. Input design is one of the most expensive phases of the operation of computerized
system and is often the major problem of a system. In the project, the input design is made
in various web forms with various methods. For example, in the Admin form, the empty
username and password is not allowed. The username if exists in the database, the input is
considered to be invalid and is not accepted.

3.2 OUTPUT DESIGN


Output design generally refers to the results and information that are generated by the
system for many end-users; output is the main reason for developing the system and the
basis on which they evaluate the usefulness of the application. In the project, user can
view details of employee.

3.3 INTERFACE DESIGN


The ODBC (Open Database Connectivity) interface is a pure .NET to execute SQL
statement. The ODBC provides a set classes and interfaces that can be used by developers
to write database applications. Basic ODBC interactions in its simplest form, can be
broken down into four steps:
1. Open a connection to the database.
2. Execute a SQL statement
3. Process the result
4. Close the connection to the database

3.4 TABLE AND DATABASE DESIGN:


3.4.1 NORMALIZATION:
Normalization is the process of strutting relational database schema such that most
ambiguity is removed. The stage of normalization are referred to as forms and progress
from the least restrictive (first normal form) through the most restrictive (Fifth normal
form), generally, most database designers do not attempt to implement anything higher
then normal form of Boyce code Normal Form.
3.4.1.1FIRST NORMAL FORM:
A relation is said to be in First normal form (INF) if and each attributed of the relation is
atomic. More simply, to be INF, each column must contain only a single value and each
now contain in the same column.
3.4.1.2 SECOND NORMAL FORM:
In the Second normal Form, a relation must first fulfill the requirement to be in first
Normal Form. Additional, each donkey attribute in the relation must be functionality
dependent upon the primary key.
7
3.4.1.3 THIRD NORMAL FORM:
A table is said to be in third normal form and every non key attribute is functionality
dependent only on the primary key. This normalization process is applied to this system
and the normalized tables are given in the above section.

3.5 UML DIAGRAMS UNIFIED MODELING LANGUAGE


UML is the international standard notation for object-oriented analysis and design. The
Object Management Group defines it. The heart of object-oriented problem solving is the
construction of a model. The model abstracts the essential details of the underlying
problem from its usually complicated real world. Several modeling tools are wrapped
under the heading of the UML, which stands for Unified Modeling Language.

3.5.1 AN OVERVIEW OF UML:


The UML is a language for
Visualizing
Specifying
Constructing
Documenting
These are the artifacts of a software-intensive system. The three major elements of UML
are
The UMLs basic building blocks
The rules that dictate how those building blocks may be put together.
Some common mechanisms that apply throughout the UML.

3.5.2 BASIC BUILDING BLOCKS OF THE UML:


3.5.3 PROJECT REPORT HRMS
The vocabulary of UML encompasses three kinds of building blocks:
Things
Relationships
Diagrams
Things are the abstractions that are first-class citizens in a model.
Relationships tie these things together.
Diagrams group the interesting collection of things.

3.5.4 THINGS IN THE UML:


They are the abstractions that are first-class citizens in a model.
There are four kinds of things in the UML
1. Structural things
2. Behavioral things.
3. Grouping things.
4. An notational things.
These things are the basic object oriented building blocks of the UML. They are used to
write well-formed models.

3.5.6 STRUCTURAL THINGS:


Structural things are the nouns of the UML models. These are mostly static parts of the
model, representing elements that are either conceptual or physical. In all, there are seven
kinds of Structural things.

3.5.7 DIAGRAMS IN UML:


Diagrams play a very important role in the UML. There are few modeling diagrams as
follows:
Use Case Diagram
Class

Diagram

Sequence
State

Diagram

Chart Diagram

Activity

Diagram

Component

Diagram

Deployment

Diagram

3.5.7.1 CLASS DIAGRAM:


Class diagrams are the most common diagrams found in modeling object-oriented
systems. A class diagram shows a set of classes, interfaces, and collaborations and their
relationships. Graphically, a class diagram is a collection of vertices and arcs.

3.5.7.2 USE CASES DIAGRAM:


Use Case diagrams are one of the five diagrams in the UML for modeling the dynamic
aspects of systems (activity diagrams, sequence diagrams, state chart diagrams and
collaboration diagrams are the four other kinds of diagrams in the UML for modeling the
dynamic aspects of systems). Use Case diagrams are central to modeling the behavior of
the system, a sub-system, or a class. Each one shows a set of use cases and actors and
relationships.

Figure 3.5.7.2. Use Case Diagram

3.5.7.3 SEQUENCE DIAGRAMS:


A sequence diagram is an interaction diagram that emphasizes the time ordering of the
messages. Graphically, a sequence diagram is a table that shows objects arranged along
the X-axis and messages, ordered in increasing time, along the Y-axis. Typically you place
the object that initiates the interaction at the left and increasingly more sub-routine objects
to the right. Next, you place the messages that these objects send and receive along the Yaxis, in order of increasing time from top to the bottom. This gives the reader a clear
visual cue to the flow of control over time.

Figure 3.5.7.3 Sequence Diagram

3.5.7.4 SEQUENCE DIAGRAMS HAVE TWO INTERESTING FEATURES:


1. There is the object lifeline. An object lifeline is the vertical dashed line that represents
the existence of an object over a period of time. Most objects that appear in the interaction
diagrams will be in existence for the duration of the interaction, so these objects are all
aligned at the top of the diagram, with their lifelines drawn from the top of the diagram to
the bottom.
2. There is a focus of the control. The focus of control is tall, thin rectangle that shows the
period of time during which an object is performing an action, either directly or through
the subordinate procedure. The top of the rectangle is aligns with the action; the bottom is
aligned with its completion.

3.5.7.5 ACTIVITY DIAGRAM


An Activity Diagram is essentially a flow chart showing flow of control from activity to
activity. They are used to model the dynamic aspects of as system. They can also be used
to model the flow of an object as it moves from state to state at different points in the flow
of control. An activity is an ongoing non-atomic execution with in a State machine.
Activities ultimately result in some action, which is made up of executable atomic
computations that result in a change of state of distinguishes a use case diagram from all
other kinds of diagrams is its particular content.

3.5.7.6 STATE CHART DIAGRAMS


A state chart diagram shows a state machine. State chart diagrams are used to model the
dynamic aspects of the system. For the most part this involves modeling the behavior of
the reactive objects. A reactive object is one whose behavior is best characterized by its
response to events dispatched from outside its context. A reactive object has a clear lifeline
whose current behavior is affected by its past.
A state chart diagram show a state machine emphasizing the flow of control from state to
state. A state machine is a behavior that specifies the sequence of states an object goes

through during its lifetime in response to events together with its Response to those
events. A state is a condition in the life of the object during which it satisfies some
conditions, performs some activity or wait for some events. An event is a specification of a
significant occurrence that has a location in time and space. Graphically a state chart
diagram is a collection of vertices and arcs.

Figure 3.5.7.6 State Diagram

3.6 MODULE DESCRIPTION:


The list of modules incorporated with Human Resource Management System is

Employee General Details


Salary Details
Leave Details
Reports Generations

This module deals with the management of the employee information such as the personal
details-his Emp_Id, Name, Designation, Address, Qualifications, Salary, Leave, etc.
Importance of modules in any software development side is we can easily understand what
the system we are developing and what its main uses are. At the time of project we may
create many modules and finally we combine them to form a system.

3.6.1 EMPLOYEE GENERAL DETAILS MODULE


This module deals with the management of the employee information such as the personal
Emp_Id, Name, Designation, Address, Qualifications, etc. Importance of modules in any
software development side is we can easily understand what the system we are developing
and what its main uses are. At the time of project we may create many modules and finally
we combine them to form a system person, so that it can be easily added to the database
with any duplication of the data.

3.6.2 SALARY DETAIL MODULE:


This module deals with the management of the employees salary information such as the
earnings, deductions, remittances, loan details etc.

Also deals with the management Agents (Bank and other financial institute) details
regarding to the employees salary

3.6.3 LEAVE DETAILS MODULE:


This module deals with the management of the Leave related with the employee such as
Casual, Medical, Duty and other leave details.

3.6.4 REPORTING MODULE:


This module is specified for the purpose of the report generation for the HR on desired
requests.
Examples
1. Employees personal details
2. Employee Salary details
3. Employee Salary details
4. Loan Details
5. Agent Details

4. IMPLEMENTATION
The implementation is the final and important phase. It involves User training, system
testing and successful running of the developed system. The users test the developed
system when changes are made according to the needs. The testing phase involves the
testing of the developed system using various kinds of data. An elaborate testing of data is
prepared and system is tested using the tests data.
Implementation is the stage where theoretical design turned into a working system.
Implementation is planed carefully to propose system to avoid unanticipated problems.
Many preparations involved before and during the implementation of proposed system.
The system needed to be plugged in to the organizations network then it could be
accessed from anywhere, after a user logins into the portal. The tasks that had to be done
to implement the system were to create the database tables in the organization database
domain. Then the administrator was granted his role so that the system could be accessed.
The next phase in the implementation was to educate the system. A demonstration of all
the functions that can be carried out by the system was given to examination department
person, who will make extensive use of the system.

4.1 BENCHMARKS TO BE IMPLEMENTED

Logging to the system.

HR Administrator has a facility of Adding / Viewing / Updating/ Deleting all the


information about the employee in the organization.

Administrator has the facility to view detailed Reports regarding the employees
personal, salary and leave details

Administrator also has the facility of viewing a summary report of particular/all


employee along with the employees Designation, Age, Salary, Loan details etc.

User (Employee) has the facility to view their personal, salary, leave details.

4.2 HARDWARE REQUIREMENTS:


Pentium-IV (Processor).
256 MB Ram
512 KB Cache Memory
Hard disk 10 GB
Microsoft Compatible 101 or more Key Board
Mouse
Printer

4.3 SOFTWARE REQUIREMENTS:


Operating System

: Windows XP/2007

Programming language

: VB.NET,ADO.NET, XML, HTML

Web-Technology

: ASP.NET

Back-End

: SQL-SERVER 2005 or Later version

Web Server

: IIS/ Mozilla Firefox.

4.3 MANAGEMENT STRUCTURE OF THE SYSTEM:

Figure 4.3 Management Structure of the system

5. EVALUATION
5.1 TESTING
The testing phase involves the testing of the developed system using various kinds of data.
An elaborated testing of data is prepared and a system is tested using the test data. While
testing, errors are noted and corrections remade, the corrections are also noted for future
use.

Also organization users entered data and tested the system basically and generated
reports.

5.2 SYSTEM TESTING


Testing is a set of activities that can be planned in advance and conducted systematically.
The proposed system is tested in parallel with the software that consists of its own phases
of analysis, implementation, testing and maintenance. Following are the tests conducted
on the system.

5.3 UNIT TESTING


During the implementation of the system each module of the system was tested separately
to uncover errors with in its boundaries. User interface was used as a guide in the process.

5.4 MODULE TESTING


A module is composed of various programs related to that module. Module testing is done
to check the module functionality and interaction between units within a module. It checks
the functionality of each program with relation to other programs within the same module.
It then tests the overall functionality of each module.

5.5 INTEGRATION TESTING


Integration testing is a systematic technique for constructing the program structure while
conducting tests to uncover errors associated with interfacing. The objective is to take
unit-tested module and build a program structure that has been dictated by design.

5.6 ACCEPTANCE TESTING


The software has been tested with the realistic data given by the client and produced
fruitful results. The client satisfying all the requirements specified by them has also
developed the software within the time limitation specified. A demonstration has been
given to the client and the end-user giving all the operational features.

5.7 USER EVALUATION REPORT

Figure 5.7 User evaluation report

6. CONCLUSION

The project has been appreciated by all the users in the organization.

It is easy to use, since it uses the GUI provided in the user dialog.

User friendly screens are provided.

The usage of software increases the efficiency, decreases the effort.

It has been efficiently employed as a sub office management mechanism.

It has been thoroughly tested and implemented.

7. REFERENCES

Sql Server 2008 R2, Black Book (English) by Kogent Learning Solutions Inc

Visual Basic 2008 Programming Black Book (English) by Kogent Learning


Solutions Inc

ASP.NET 3.5 Black Book(English) by Kogent Learning Solutions Inc

www.w3shools.com

Open source HRM system. http://www.orangehrm.com/

Open source MVC ERP solution. http://www.comunionrp.com/

Object Oriented Analysis and Design Using UML


http://www.pages.drexel.edu/~ap62/pages/uc_1.html

AJAX helper. http://roshanbh.com.np/2007/12/change-dropdown-list-options-valuesfrom-database-with-ajax

MySQL 5.0 reference manual

http://www.tutorialspoint.com/asp.net/asp.net_multi_views.htm

http://msdn.microsoft.com/en-us/library/98wzsc30%28v=vs.85%29.aspx

APPENDIX A DESIGN DOCUMENTATION

Figure A.1. Use Case Diagram

Figure A.2. State Diagram

Figure A.3. Data Flow Diagram

Figure A.4 Sequence Diagram

APENDIX B

USER DOCUMENTATION

Figure B.1. Login Page

Figure B.2. Employee Details Page

Figure B.3. Employee Salary Page

Figure B.4. Leave Details Page

Figure B.5. Personal Details Report Page

Figure B.6. Salary Details Report Page

Figure B.7. Leave Details Report Page

Figure B.8. Special Report Home Page

Figure B.9. Special Report1

Figure B.10 Special Report 2

Figure B.11. Special Report 3

Figure B.12. Special Report 4

Figure B.13. Special Report 5

APENDIX C- CODE LISTING


The following code shows a SqlDataSource control to retrieve, update, and delete data.
<%@ Page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Leave</title>
</head>
<body>
<form id="form1" runat="server">
<h3>GridView Edit Example</h3>
<!-- The GridView control automatically sets the columns
-->
-->
-->
-->

<!-- specified in the datakeynames property as read-only.


<!-- No input controls are rendered for these columns in
<!-- edit mode.
<asp:gridview id="LeaveGridView"
datasourceid="HRMSSqlDataSource"
autogeneratecolumns="true"
autogeneratedeletebutton="true"
autogenerateeditbutton="true"
datakeynames="Emp_ID"
runat="server">
</asp:gridview>

<asp:sqldatasource id="HRMSSqlDataSource"
selectcommand="Select [Emp_ID], [Emp_Name], [Leave_Type],
[No_ofDays], [Start_Date], [End_Date] From [Leave]"
updatecommand="Update Leave SET Emp_ID=@ Emp_ID,
Emp_Name=@ Emp_Name, Leave_Type=@Leave_Type,
Start_Date=@Start_Date, End_Date=@End_Date WHERE (Emp_ID = @
Emp_ID)"
deletecommand="Delete from Leave where Emp_ID= @Emp_ID "
connectionstring="<%$
ConnectionStrings:HRMSConnectionString%>"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>

The following code example for Style Sheet CSS


body
{
font-family:'Lucida Console', Tahoma, Verdana, Arial, Sans-Serif;
background-color:#e9e9e9;
color: #000099;

}
#wrapper
{
width: 1080px;
margin: 0 auto;
padding: 10px;
border: 5px solid# dedede;
background-color: #fff;
}
#banner
{
height:200px;
border: 3px solid #e3e3e3;
background-image: url(../Image/logo1.jpg);
background-repeat: no-repeat;
}
#navigation
{
height: 60px;
border: 3px solid #e3e3e3;
margin-top: 20px;
background-image: url(../Image/2banner.jpg);
background-repeat: no-repeat;
}
#nav
{
list-style: none;
}
#nav ul
{
list-style: none;
margin: 0;
padding: 0;
width:auto;
display:none;
}
#nav li
{
font-size: 24px;
float:left;
position:relative;
width: 180px;
height:50px;
}
#nav li ul li
{
border: 3px solid #E3E3E3;
padding-left: 10px;

}
#nav a:link, #nav a:active, #nav a:visited
{
display:block;
color: #8c001A;
text-decoration: none;
}
#nav a:hover
{
color: blue;
}
#content_area
{
float: left;
width:750px;
margin: 20px 0 20px 0;
padding: 10px;
border: 3px solid #e3e3e3;
}
#sidebar
{
float: right;
width:250px;
margin: 20px 10px 20px 10px;
height:400px;
border: 3px solid #e3e3e3;
}
#footer
{
clear: both;
width: auto;
margin-top: 200px;
height: 40px;
background-image: url(../Image/2banner.jpg);
text-align:center;
}

The following code examples for web page Employee


<%@ Page Language="vb" AutoEventWireup="false"
MasterPageFile="~/Master1.Master" CodeBehind="Employee.aspx.vb"
Inherits="AgriHR.Employee"
title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"
Runat="Server">
<span style="font-size: xx-large">Employee
Details</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;
<span >
Date&nbsp;&nbsp;&nbsp;&nbsp; <asp:Label ID="Label1" runat="server"
Text="Label"></asp:Label>
</span><br />
&nbsp;<table bgcolor="#BFFFBF" style="color: #003300">
<tr>
<td style="width: 320px">
<br />
Employee Id<br />
<br />
</td>
<td style="width: 216px">
<asp:TextBox ID="txtEmpId" runat="server" BorderColor="#669999"
Height="25px"></asp:TextBox>
</td>
<td style="height: 25px; width: 265px;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Title</td>
<td style="width: 301px" colspan="2">
<asp:DropDownList ID="ddlTitle" runat="server" Height="28px"
Width="71px">
<asp:ListItem>Mr</asp:ListItem>
<asp:ListItem>Mrs</asp:ListItem>
<asp:ListItem>Miss</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td style="height: 25px; width: 320px;">
Employee Name</td>
<td style="height: 25px;" colspan="2">
<asp:TextBox ID="txtEmpName" runat="server"
Height="25px" Width="317px" BorderColor="#669999"></asp:TextBox>
</td>
<td style="width: 113px; height: 25px">&nbsp; Initial </td>
<td style="width: 301px; height: 25px">
<asp:TextBox ID="txtIntial" runat="server" BorderColor="#669999"
Height="25px"></asp:TextBox>
</td>
</tr>
<tr>
<td style="height: 25px; width: 320px;">
Designation</td>

<td style="width: 216px; height: 25px;">


<asp:DropDownList ID="DropDownList3" runat="server" Height="28px"
Width="142px">
<asp:ListItem>Deputy Director</asp:ListItem>
<asp:ListItem>Assistant Director</asp:ListItem>
<asp:ListItem>Management Assistant</asp:ListItem>
<asp:ListItem>Economic Assistant</asp:ListItem>
<asp:ListItem>Development Assistant</asp:ListItem>
<asp:ListItem>Programming Assistant</asp:ListItem>
<asp:ListItem>Agriculture Instructor</asp:ListItem>
<asp:ListItem>KKS</asp:ListItem>
<asp:ListItem>Driver</asp:ListItem>
<asp:ListItem>Labour</asp:ListItem>
<asp:ListItem>Other</asp:ListItem>
</asp:DropDownList>
</td>
<td style="height: 25px; width: 265px;">Class</td>
<td style="width: 301px; height: 25px" colspan="2">
<asp:DropDownList ID="DropDownList4" runat="server" Height="28px"
Width="142px">
<asp:ListItem>I</asp:ListItem>
<asp:ListItem>II</asp:ListItem>
<asp:ListItem>III</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td style="height: 25px; width: 320px;">
Address</td>
<td style="height: 25px;" colspan="4">
<asp:TextBox ID="txtAddress" runat="server"
Height="25px" Width="530px" BorderColor="#669999"></asp:TextBox>
</td>
</tr>
<tr>
<td style="height: 25px; width: 320px;">
Office</td>
<td style="width: 216px; height: 25px;">
<asp:DropDownList ID="DropDownList5" runat="server" Height="16px"
Width="159px">
<asp:ListItem>Deputy Director Office</asp:ListItem>
<asp:ListItem></asp:ListItem>
<asp:ListItem>Management Assistant</asp:ListItem>
<asp:ListItem>Economic Assistant</asp:ListItem>
<asp:ListItem>Development Assistant</asp:ListItem>
<asp:ListItem>Programming Assistant</asp:ListItem>
<asp:ListItem>Agriculture Instructor</asp:ListItem>
<asp:ListItem>KKS</asp:ListItem>
<asp:ListItem>Driver</asp:ListItem>
<asp:ListItem>Labour</asp:ListItem>
<asp:ListItem>Other</asp:ListItem>
</asp:DropDownList>
</td>
<td style="height: 25px; width: 265px;">DIvision</td>
<td style="width: 301px; height: 25px" colspan="2">
<asp:DropDownList ID="DropDownList6" runat="server" Height="28px"
Width="142px">

<asp:ListItem>Deputy Director Office</asp:ListItem>


<asp:ListItem>Division 1, Hambantota</asp:ListItem>
<asp:ListItem>Division 2, Walasmulla</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td style="height: 45px; width: 320px;">
TP No</td>
<td style="width: 216px; height: 45px;">
<asp:TextBox ID="txtTpNp" runat="server" BorderColor="#669999"
Height="25px"></asp:TextBox>
</td>
<td style="height: 45px; width: 265px;">NIC No</td>
<td style="height: 45px; width: 301px;" colspan="2">
<asp:TextBox ID="txNIC" runat="server" BorderColor="#669999"
Height="25px"
Width="208px"></asp:TextBox>
</td>
</tr>
<tr>
<td style="height: 45px; width: 320px;">
Date of Birth</td>
<td style="width: 216px; height: 45px;">
<asp:TextBox ID="txtDOB" runat="server" BorderColor="#669999"
Height="25px"></asp:TextBox>
</td>
<td style="height: 45px; width: 265px;">Appoinment Date</td>
<td style="height: 45px; width: 301px;" colspan="2">
<asp:TextBox ID="txtAppDate" runat="server" BorderColor="#669999"
Height="25px"></asp:TextBox>
</td>
</tr>
<tr>
<td style="height: 45px; width: 320px;">
Pension Date</td>
<td style="width: 216px; height: 45px;">
<asp:TextBox ID="txtPensionDate" runat="server"
BorderColor="#669999"
Height="25px"></asp:TextBox>
</td>
<td style="height: 45px; width: 265px;">Increment Date</td>
<td style="height: 45px; width: 301px;" colspan="2">
<asp:TextBox ID="txtIncDate" runat="server" BorderColor="#669999"
Height="25px"></asp:TextBox>
</td>
</tr>
<tr>
<td style="height: 45px; width: 320px;">
&nbsp;</td>
<td style="width: 216px; height: 45px;">
&nbsp;</td>
<td style="height: 45px; width: 265px;">&nbsp;</td>
<td style="height: 45px; width: 301px;" colspan="2">
&nbsp;</td>
</tr>
<tr>

<td style="height: 45px; width: 320px;">


Educational<br />
Qalifications</td>
<td style="height: 45px;" colspan="4">
<asp:TextBox ID="txtEduc" runat="server" BorderColor="#669999"
Height="60px"
TextMode="MultiLine" Width="547px"></asp:TextBox>
</td>
</tr>
<tr>
<td style="height: 45px; width: 320px;">
Other Detail</td>
<td style="height: 45px;" colspan="2">
<asp:TextBox ID="txtOthrDetail" runat="server" BorderColor="#669999"
Height="44px"
TextMode="MultiLine" Width="313px"></asp:TextBox>
</td>
<td style="height: 45px; width: 301px;" colspan="2">
&nbsp;</td>
</tr>
<tr>
<td style="height: 45px; width: 320px;">
&nbsp;</td>
<td style="width: 216px; height: 45px;">
&nbsp;</td>
<td style="height: 45px; width: 265px;">&nbsp;</td>
<td style="height: 45px; width: 301px;" colspan="2">
&nbsp;</td>
</tr>
<tr>
<td style="height: 45px; width: 320px;">
Basic Salary</td>
<td style="width: 216px; height: 45px;">
<asp:TextBox ID="txtBasic" runat="server" BorderColor="#669999"
Height="25px"></asp:TextBox>
</td>
<td style="height: 45px; width: 265px;">W &amp; OP Rate</td>
<td style="height: 45px; width: 301px;" colspan="2">
<asp:TextBox ID="txtWOPrate" runat="server" BorderColor="#669999"
Height="25px"></asp:TextBox>
</td>
</tr>
<tr>
<td style="height: 45px; width: 320px;">
Language Allow.</td>
<td style="width: 216px; height: 45px;">
<asp:TextBox ID="txtLangAllw" runat="server" BorderColor="#669999"
Height="25px"></asp:TextBox>
</td>
<td style="height: 45px; width: 265px;">Special Allow.</td>
<td style="height: 45px; width: 301px;" colspan="2">
<asp:TextBox ID="txtSpecAllo" runat="server" BorderColor="#669999"
Height="25px"></asp:TextBox>
</td>
</tr>
<tr>
<td style="height: 45px; width: 320px;">

&nbsp;</td>
<td style="width: 216px; height: 45px;">
&nbsp;</td>
<td style="height: 45px; width: 265px;">&nbsp;</td>
<td style="height: 45px; width: 301px;" colspan="2">
&nbsp;</td>
</tr>
<tr>
<td style="height: 45px; width: 320px;">
&nbsp;</td>
<td style="width: 216px; height: 45px;">
&nbsp;</td>
<td style="height: 45px; width: 265px;">&nbsp;</td>
<td style="height: 45px; width: 301px;" colspan="2">
&nbsp;</td>
</tr>
<tr>
<td bgcolor="#99FF99" colspan="5">
<br />
&nbsp;&nbsp;&nbsp;
<asp:Button ID="btnAdd" runat="server" Height="30px" Text="Add"
Width="91px" />
&nbsp;&nbsp;&nbsp;
<asp:Button ID="btnView" runat="server" Height="30px" Text="View"
Width="91px" />
&nbsp;&nbsp;&nbsp;
<asp:Button ID="btnEdit" runat="server" Height="30px" Text="Edit"
Width="91px" />
&nbsp;&nbsp;&nbsp;
<asp:Button ID="btnDelete" runat="server" Height="30px"
Text="Delete"
Width="91px" />
&nbsp;&nbsp;&nbsp;
<asp:Button ID="btnCancel" runat="server" Height="30px"
Text="Cancel"
Width="91px" />
<br />
<br />
</td>
</tr>
</table>
</asp:Content>

The following code for Master Page


<%@ Master Language="VB" CodeFile="Master2User.master.vb"
Inherits="Master2User" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Untitled Page</title>
<script type="text/javascript" src="JavaScript/jquery1.3.2.min.js"></script>
<script type="text/javascript">
function mainmenu() {
$(" #nav ul ").css({ display: "none" }); // Opera Fix
$(" #nav li").hover(function () {
$(this).find('ul:first').css({ visibility: "visible",
display: "none" }).show(400);
}
, function () {
$(this).find('ul:first').css({ visibility: "hidden" });
});
}
$(document).ready(function () {
mainmenu();
});
</script>
<link rel="Stylesheet" type="text/css" href="Styles/Style3.css" />
</head>
<body>
<form id="form1" runat="server">
<div id="wrapper">
<div id="banner">
</div>
<script type="text/javascript">
document.write ('<p>Local time is: <span id="date-time">', new
Date().toLocaleString(), '<\/span>.<\/p>')
if (document.getElementById) onload = function () {
setInterval ("document.getElementById ('datetime').firstChild.data = new Date().toLocaleString()", 50)
}
</script>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<asp:LinkButton ID="LinkButton1" runat="server" Font-Bold="True"
Font-Overline="False" PostBackUrl="~/Loggin.aspx">Sign
Out</asp:LinkButton>
<div id="navigation">
<ul id="nav">

<li><a href ="HomeUser.aspx">Home</a></li>


<li><a href ="#">Employee</a></li>
<li><a href ="#">Salary</a>
</li>
<li><a href ="#">Leave</a></li>
<li><a href ="#">Reports</a>
<ul>
<li style="background-color:ThreeDHighlight;"><a href
="Employeerpt.aspx"><font size="3">Personal Reports</font></a></li>
<li style="background-color:ThreeDHighlight;"><a href
="Salaryrpt.aspx"><font size="3">Salary Reports</font></a></li>
<li style="background-color:ThreeDHighlight;"><a href
="Leaverpt.aspx"><font size="3">Leave Reports</font></a></li>
<li style="background-color:ThreeDHighlight;"><a href
="sprpts.aspx"><font size="3">Special Reports</font></a></li>
</ul>
</li>
</ul>
</div>
<div id="content_area">
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</div>
<div id="footer">
<p> Copyright 2013 Office of the Deputy Director of Agriculture
All Rights Reserved.
<br /> Designed By E. Dishan Shirantha</p>
</div>
</div>

</form>
</body>
</html>

The following code for Create Backup Excel file


Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Net
Imports System.Net.Mail
Imports System.Web.UI.HtmlControls
Imports System.IO
Imports System.Text
Partial Class Leaverpt
Inherits System.Web.UI.Page
Dim con As New
SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString")
.ConnectionString)
Protected Sub Leaverpt_Load(ByVal sender As Object, ByVal e As
EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
BindEmpGrid()
End If
End Sub
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As
Control)
'It solves the error "Control 'GridView1' of type 'GridView'
must be placed inside a form tag with runat=server."
End Sub
Protected Sub BindEmpGrid()
Dim cmd As New SqlCommand("select * from Leave", con)
Dim dt As New DataTable()
Dim adp As New SqlDataAdapter(cmd)
adp.Fill(dt)
GridView1.DataSource = dt
GridView1.DataBind()
End Sub
Protected Sub btnView_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles btnView.Click
Try
Response.ClearContent()
Dim attachment As String = "attachment;
filename=MyExelFile.xls"
Response.ClearContent()
Response.AddHeader("content-disposition", attachment)
Response.ContentType = "application/ms-excel"
Dim strWrite As New StringWriter()
Dim htmWrite As New HtmlTextWriter(strWrite)
Dim htmfrm As New HtmlForm()
GridView1.Parent.Controls.Add(htmfrm)
htmfrm.Attributes("runat") = "server"
htmfrm.Controls.Add(GridView1)
htmfrm.RenderControl(htmWrite)
Response.Write(strWrite.ToString())
Response.Flush()

Response.[End]()
Catch ex As Exception
End Try
End Sub
End Class

Following Code for Database connection, Data add, Data Delete and Data Update
Imports System.Data
Imports System.Data.SqlClient
Partial Class Leave
Inherits System.Web.UI.Page
Dim con As SqlConnection
Dim cmd As SqlCommand
Dim rs As SqlDataReader
Private Sub Leave_Load_1(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
con = New SqlConnection("Data
Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Dishan\Documents\Visual
Studio 2008\WebSites\HR\App_Data\HR.mdf;Integrated Security=True;User
Instance=True")
con.Open()
End Sub
Protected Sub btnCancel_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles btnCancel.Click
txtDays.Text = ""
txtEmpId.Text = ""
txtEmpName.Text = ""
txtStartDate.Text = ""
txtEndDate.Text = ""
End Sub
Protected Sub btnAdd_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles btnAdd.Click
Try
cmd = New SqlCommand("INSERT INTO Leave VALUES(" +
txtEmpId.Text + ",'" + txtEmpName.Text + "','" + ddlleave.SelectedValue
+ "','" + txtDays.Text + "','" + txtStartDate.Text + "','" +
txtEndDate.Text + "')", con)
cmd.ExecuteNonQuery()
txtDays.Text = ""
txtEmpId.Text = ""
txtEmpName.Text = ""
txtStartDate.Text = ""
txtEndDate.Text = ""
Catch ex As Exception
MsgBox("Can't Enter Record. Please Check Data" & vbCrLf &
ex.Message)
End Try
End Sub

Protected Sub btnDelete_Click(ByVal sender As Object, ByVal e As


System.EventArgs) Handles btnDelete.Click
Try
cmd = New SqlCommand("DELETE FROM Leave WHERE EmpId= '" +
txtEmpId.Text + "' AND StartDate= '" + txtStartDate.Text + "' ", con)
cmd.ExecuteNonQuery()
txtDays.Text = ""
txtEmpId.Text = ""
txtEmpName.Text = ""
txtStartDate.Text = ""
txtEndDate.Text = ""
Catch ex As Exception
MsgBox("Can't Delete Record." & vbCrLf & ex.Message)
End Try
End Sub
Protected Sub btnEdit_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles btnEdit.Click
Try
cmd = New SqlCommand("UPDATE Leave SET EmpName= '" +
txtEmpName.Text + "',LeaveType= '" + ddlleave.SelectedValue +
"',NoOfDays='" + txtDays.Text + "',EndDate='" + txtEndDate.Text + "'
WHERE EmpId='" + txtEmpId.Text + "' AND StartDate='" + txtStartDate.Text
+ "'", con)
cmd.ExecuteNonQuery()
txtDays.Text = ""
txtEmpId.Text = ""
txtEmpName.Text = ""
txtStartDate.Text = ""
txtEndDate.Text = ""
Catch ex As Exception
MsgBox("Can't Update Record." & vbCrLf & ex.Message)
End Try
End Sub
End Class

APENDIX D- Test Result


Login to System
No

Test Case

Expected Output

Actual Output

Status

01

Field not fill


correctly

Display Error
Massage

Display Error Massage

Pass

02

Enter Correct
User name &
Pass word

If user is admin enter If user is admin view admin home


to admin home page
page
If user is user enter to If user is user view user home page
user home page

Pass

03

Click Cancel
button

Clear data in
textboxes

Clear data in textboxes

Pass

Actual Output

Status

Pass

Admin Home page


No Test Case

Expected Output

01

Navigation to pages Load Navigation pages

Load Navigation pages

02

View latest news

Download when click on


link

Download when click on


link

03

Sign out

Go to Login page

Go to Login page

Pass

Expected Output

Actual Output

Status

User Home page


No Test Case

01

Navigation to pages Load Navigation pages

Load Navigation pages

Pass

02

Sign out

Go to Login page

Pass

Go to Login page

Add, Edit and Delete Data from Employee page

No Test Case

Expected Output

Actual Output

Status

01

Field not fill


correctly

Display Error Massage

Display Error Massage

Pass

02

Enter Correct
Data and click
Add button

Data insert to database

Pass

Data insert to database

03

Enter Correct
Data and click
Edit button

Tables Update in
Database

Tables Update in Database

Pass

04

Enter EmpId no
and click View
button
Enter EmpId no
and click Delete
button

View data from


database in textboxes
and list boxes
Delete data from
database related with
EmployeeId

View data from database in


textboxes and list boxes

Pass

Delete data from database


related with EmployeeId

Pass

Click Cancel
button

Clear data in textboxes

Clear data in textboxes

Pass

05

06

Add, Edit and Delete Data from Salary page


No Test Case

Expected Output

Actual Output

Status

01

Field not fill


correctly

Display Error Massage

Display Error Massage

Pass

02

Enter Correct
Data and click
Add button

Data insert to database

Data insert to database

Pass

03

Enter Correct
Data and click
Edit button

Tables Update in
Database

Tables Update in Database

Pass

04

Enter EmpId no
and click View
button
Enter EmpId no
and click Delete
button

View data from


database in textboxes
and list boxes
Delete data from
database related with
EmployeeId

View data from database in


textboxes and list boxes

Pass

Delete data from database


related with EmployeeId

Pass

Click Cancel
button

Clear data in textboxes

Clear data in textboxes

Pass

05

06

Add, Edit and Delete Data from Leave page


No Test Case

Expected Output

Actual Output

Status

01

Field not fill


correctly

Display Error Massage

Display Error Massage

Pass

02

Enter Correct
Data and click
Add button

Data insert to database

Data insert to database

Pass

03

Enter Correct
Data and click
Edit button

Tables Update in
Database

Tables Update in Database

Pass

04

Enter EmpId no
and click View
button
Enter EmpId no
and click Delete
button

View data from


database in textboxes
and list boxes
Delete data from
database related with
EmployeeId

View data from database in


textboxes and list boxes

Pass

Delete data from database


related with EmployeeId

Pass

Click Cancel
button

Clear data in textboxes

Clear data in textboxes

Pass

05

06

Add, Edit and Delete Data from Agent page


No Test Case

Expected Output

Actual Output

Status

01

Field not fill


correctly

Display Error Massage

Display Error Massage

Pass

02

Enter Correct
Data and click
Add button

Data insert to database

Data insert to database

Pass

03

Enter Correct
Data and click
Edit button

Tables Update in
Database

Tables Update in Database

Pass

04

Enter AgentId no
and click View
button
Enter AgentId no
and click Delete
button

View data from


database in textboxes
and list boxes
Delete data from
database related with
AgentId

View data from database in


textboxes and list boxes

Pass

Delete data from database


related with AgentId

Pass

Click Cancel
button

Clear data in textboxes

Clear data in textboxes

Pass

05

06

Add, Edit and Delete Data from Agent page


No Test Case

Expected Output

Actual Output

Status

01

Field not fill


correctly

Display Error Massage

Display Error Massage

Pass

02

Enter Correct
Data and click
Add button

Data insert to database

Data insert to database

Pass

03

Enter Correct
Data and click
Edit button

Tables Update in
Database

Tables Update in Database

Pass

04

Enter AgentId no
and click View
button
Enter AgentId no
and click Delete
button

View data from


database in textboxes
and list boxes
Delete data from
database related with
AgentId

View data from database in


textboxes and list boxes

Pass

Delete data from database

Pass

Click Cancel
button

Clear data in textboxes

related with AgentId


Clear data in textboxes

Pass

05

06

View and Print Employee details


No Test Case

Expected Output

Actual Output

Status

01

View Employees Details

View Employees Details

Pass

When click on the button


Download Personal Report
Excel file

When click on the button


Download Personal
Report Excel file

Pass

02

Open Personal
Report Page
Backup/ Print
Personal Report

View and Print Leave details


No Test Case

Expected Output

Actual Output

Status

01

View Leave Details

View Leave Details

Pass

When click on the button


Download Leave Report
Excel file

When click on the button


Download Leave Report
Excel file

Pass

02

Open Leave Report


Page
Backup/ Print
Leave Report

View and Print Salary details

No Test Case

01
02

Expected Output

Open Salary Report View Salary Details


Page
Backup/ Print
When click on the button
Salary Report
Download Personal Salary
Excel file

Actual Output

Status

View Salary Details

Pass

When click on the button


Download Salary Report
Excel file

Pass

View Special Reports


No Test Case

Expected Output

Actual Output

Status

01

View Special Details

View Special Details

Pass

Open Special
Report Page

APENDIX E- CLIENT CERTIFICATE