Professional Documents
Culture Documents
Leave Management System
Leave Management System
A Project Report
Submitted
By
Mahita Adapa
M080357CA
in partial fulfillment of
the requirements for the award of the degree of
Mr Sumesh T.A
Asst.Professor, CSED
NIT Calicut
Kerala 673601
May 2011
Declaration
I hereby declare that this submission is my own work and that, to the best of my
knowledge and belief, it contains no material previously published or written by another
person nor material which has been accepted for the award of any other degree or diploma
of the university or other institute of higher learning, except where due acknowledgment has
been made in the text.
Date:
Signature:
Reg.No.M080357CA
I
Mahita Adapa
Certificate
This is to certify that the thesis entitled Leave Management System Submitted by
Mahita Adapa to the National Institute of Technology Calicut towards partial fulfillment
of the award of the Degree of MASTER OF COMPUTER APPLICATIONS is carried out
by her under our supervision at Hewlett Packard , Chennai, India.
(Office Seal)
II
Mahita Adapa
Acknowledgement
Lastly, I thank all my friends and classmates for their continuous support and
encouragement. If not for the above mentioned people, this thesis would never have been
completed successfully. I once again extend my sincere thanks to all of them.
III
Mahita Adapa
ABSTRACT
The Leave Management System is designed to maintain the leave records of employee
and allows the user to apply different kind of leave permissible. The user can use the
module for applying leave or as approving authority or as Leave Management System
administrator for sanctioning the leave. Through Leave Management System it will be
also possible to cancel a leave already applied. All the notifications corresponding to
application, approval, rejection of the leaves will be done by the email.
This project is aimed at developing an intranet based online Leave Management System
that can be accessed throughout the organization or a specified group/Dept. It will allow
the organizations to set up their own leave policies such as public holidays, leave types as
well as how the system should work. This system can be used to automate the workflow
of leave applications and their approvals. Automatic credit of leaves on a periodic basis
& at the end of year and leave balance updating process will be automated .It will include
features like email notifications, cancellation of leave, approval of leave, cancellation of
leave after its approval and report generation based on weekly ,monthly and yearly basis.
The system will also keep track of all employees leave records,leave balances etc.
IV
Mahita Adapa
TABLE OF CONTENTS
1. Introduction
1.2. Background
1.2.3. Notifications
1.3. Motivation
2. Requirement Analysis
3. Design
4. Implementation
11
11
12
13
4.4. SMTP
14
16
4.6. Testing
33
4.7. Integration
34
34
34
34
5. Conclusion
35
6. Bibliography
36
V
Mahita Adapa
33
VI
Mahita Adapa
Chapter 1
Introduction
Problem statement:
A robust web application is required for the management of the process involving applying of
leaves based on the type of leave, approval of the leave(s), checking availability of the leaves, sending
notifications by email, tracking and generating reports thereafter.
My Module:
Capture the Leave and Notifications in Leave Management System.
Definition:
Capture leaves based on their types, for example Sick leave, casual leave, annual leave, travel
leave, maternity leave, compensatory leave, special leave. Mailer should be sent an email at each level
for status updates involving the leave applied notification, leave approval/rejection notification.
1.2 Background
LMS is a web-based leave management system where an employee can apply for a leave. The
system will also keep track of all employees leave records, leave balances. User is able to view their
leave balance and according to that employee can apply for a leave and notification of leave
approval/rejection from their manager. The function of this system is to simplify leave application
through online, to improve the mechanism of receiving, approving and rejecting leave application, to
generate report of employees in order to be use in evaluating the performance of an employee.
1
Mahita Adapa
1.2.3 Notifications
The leave application which is sent by an employee will be forward to corresponding
manager. The approval/rejection of leave application will be sent to employee via email
automatically. Through Leave Management System it will be also possible to cancel a leave
already applied . All the application, approval, rejection of the leaves will be done by the
email.This module is done by me(Mahita Adapa).
2
Mahita Adapa
1.3 Motivation
The project work has benefits to both the company and the student. They can be summarized as
follows.
Companys perspective:
Efficiently organization can use the LMS system.
Easily employee can keep track of his/her records and it will decrease the paper work.
Reduction in HR intervention
Student perspective:
Learn the steps which are involved in during the project .
Chance to work on Eclipse.
Hands-on working experience in an Enterprise portal .
Hardware requirements:
CPU:Intel compatible 450Hz or higher
Memory: 512MB or higher RAM
Software requirements:
Software :Eclipse (Java IDE)
Database :Oracle 10g
Technology: Java/J2EE
OS: Windows Xp
3
Mahita Adapa
Chapter 2
Requirement Analysis
Functional
Req. #
Requirements
Login
Requirements
1.0
1.1
Approve/reject a
leave
Check status of
leave application
History
Requirements
Default display
setting
requirements
Notifications
1.3
Report generation
1.8
Cancellation of
approved leave
1.9
1.2
1.4
1.5
1.6
1.7
Description
An authorized employee should be able to Login to the system
Change the password
An employee can check how many days of leave he/she
is eligible for etc.
An employee can apply for a leave specifying the
from and to dates and reason for taking leave.
Withdraw his/her leave application which has not
been approved yet.
A manager can approve /reject a leave application of his
subordinates.
An employee can check the status of leave application
whether it has been approved/rejected/pending.
An employee can see the history of his/her leave taken
for the maximum period of 2-3 years.
After login to the system employee should be displayed
their corresponding views based on his/her role.
As soon as a leave
application/withdrawal/approval/rejection/passwordchange is made by an employee ,an automatic
confirmation should be sent to the employee and to his
manager.
A manager can see weekly/monthly/yearly leave details
of his/her subordinates.
Administrator can cancel the leave application which is
approved by the manager.
4
Mahita Adapa
Chapter 3
Design
A flowchart is ideal for a process that has sequential process steps. The steps will be executed in a
simple order that may change as the result of some simple decisions.
Field
Data Type
Username(Employee Number
Id)
Null (Y/N)
N
Description
This field gives the username
of an employee.
Password
Varchar2(10)
Security Question
Varchar2(50)
Answer
Varchar2(30)
Employee Table
Field
Employee Id
Data Type
Number
Null (Y/N)
N
Description
This field identifies an
employee uniquely.
First name
Char(20)
Middle name
Char(20)
Last name
Char(20)
Gender
Char(6)
Date of birth
Date
Street
Varchar2(25)
City
Varchar2(25)
State
Varchar2(20)
Postal code
Number
Email Id
Varchar2(25)
Phone number
Number
Date
Resource Type
Varchar2(15)
Level
Varchar2(5)
Salary
Number
Current location
Varchar2(20)
Base location
Varchar2(20)
Working hours
Number
Manager Id
Number
Field
Employee Id
Data Type
Number
Null (Y/N)
N
Leave Id
Number
Type of leave
Varchar2(25)
Start Date
Date
End date
Date
Duration
Number
Reason
Varchar2(100)
Manager Id
Number
Description
It gives the identification
number of an employee.
It gives the identification
number of a leave.
This field gives name of leave
type (for ex: annual leave,
sick leave etc).
It gives when the employee
will take leave.
It gives upto which date an
employee will take leave.
It gives how many days the
employee is applying for a
leave.
This field gives the reason for
taking leave.
This field tells about the
corresponding manager to an
employee.
9
Mahita Adapa
Data Type
Number
Null (Y/N)
N
Sick Leave
Number
Travel Leave
Number
Annual Leave
Number
Casual Leave
Number
Maternity Leave
Number
Paternity Leave
Number
Adaption Leave
Number
Compensatory Leave
Number
Special Leave
Number
Leave Table:
Field
Leave Id
Data Type
Number
Null (Y/N)
N
Leave Type
Varchar2(20)
Duration
Number
Employee
Level
Description
Varchar2(5)
Varchar2(100)
Description
It gives the identification
number of a leave.
This field gives name of
leave type (for ex: annual
leave, sick leave etc).
It gives how many days the
employee is applying for a
leave.
This field determines the
eligibility criteria of leave
Additional information
about the Leave.
10
Mahita Adapa
Chapter 4
Implementation
The Google Web Toolkit (GWT) is a toolkit to develop Ajax web application with Java. Once
the Java code is finished, the GWT compiler translates the Java code into HTML and JavaScript. The
compiler creates browser specific HTML and JavaScript to support all the major browsers correctly.
GWT supports a standard set of UI widgets.
After creating web application project we need to create new GWT module for this project.
11
Mahita Adapa
12
Mahita Adapa
Service: It is service definition interface. It defines the methods in service and extends the
RemoteService marker interface that indicates that this is a GWT RPC service. This is the synchronous
definition and the server-side class must implement this Service interface.
package com.mycompany.project.client;
import java.sql.ResultSet;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.mycompany.project.client.myexception;
@RemoteServiceRelativePath("ImageViewer")
ServiceAsync: It must have the same methods as the synchronous interface i.e Service, and in this
interface each method will include an AsyncCallback object as a parameter and the methods will not
return anything.
13
Mahita Adapa
import java.sql.ResultSet;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.mycompany.project.client.myexception;
Service
Impl:
This
is
the
server-side
implementation
of
service.
This
must
extend
RemoteServiceServlet and implement the synchronous interface i.e.Service.In this class ,all the methods
should be implemented which are listed in Service interface. From this class ,objects will be returned to
client side class.
4.4 SMTP
SMTP is a text-based protocol, in which a mail sender communicates with a mail receiver by
issuing command strings and supplying necessary data over a reliable ordered data stream channel,
typically a Transmission Control Protocol (TCP) connection. An SMTP session consists of commands
originated by an SMTP client (the initiating agent, sender, or transmitter) and corresponding responses
from the SMTP server (the listening agent, or receiver) so that the session is opened, and session
parameters are exchanged. A session may include zero or more SMTP transactions. An SMTP
transaction consists of three command/reply sequences .
14
Mahita Adapa
They are:
MAIL command :This is the address for bounce messages.
RCPT command :This is to establish a recipient of this message. This command can be issued multiple times, one for
each recipient.
DATA :This is to send the message text. This is the content of the message. It consists of a message header
and a message body separated by an empty line. DATA is actually a group of commands, and the
server replies twice: once to the DATA command proper, to acknowledge that it is ready to receive
the text, and the second time after the end-of-data sequence, to either accept or reject the entire
message.
15
Mahita Adapa
Login Page:
This screen allows all the employees to enter their username and password to enter into the main page.
16
Mahita Adapa
Register Page:
This screen allows the employee to register for leave management system.
17
Mahita Adapa
Access Denied:
This screen shows that employee id is invalid.
18
Mahita Adapa
Forgot Password:
19
Mahita Adapa
Main page:
This screen allows the employees to see the leave balance for each type of leave and according to
that he/she can apply for a leave.
20
Mahita Adapa
Leave applying:
This screen allows the employee to apply for a leave and enter the leave type,the start date,end
date,duration of the leave and reason for taking leave.The notification regarding the leave request will be
sent to corresponding person.
21
Mahita Adapa
22
Mahita Adapa
23
Mahita Adapa
24
Mahita Adapa
25
Mahita Adapa
26
Mahita Adapa
List of leave:
This screen allows the employee to see the leave requests which is applied by an employee and
status of leave request.
27
Mahita Adapa
Change Password:
This screen allows the employee to change his/her password .The notification regarding the
password change will be sent to employee.
28
Mahita Adapa
Notification:
29
Mahita Adapa
Cancelling leave:
The manager can cancel the leave applied by an employee. Once it has been approved by
manager then only administrator can cancel particular leave. The notification regarding the cancellation
of leave request will be sent to employee.
30
Mahita Adapa
Approval/Rejection of leave:
31
Mahita Adapa
32
Mahita Adapa
Data Input
Expected
Behavior
Observed Behavior *
Run 1
Run 2
(P/F)
1.
2.
Run 3
(P/F
)
P
(P/F
)
P
3.
4.
Should
not F
Enter
START accept
the
DATE
greater value for the
than END DATE particular field
Should
not F
invalid accept
the
value for the
particular field
5.
Enter
email id
33
Mahita Adapa
Should
not F
text in accept
the
number value for the
particular field
Should
not F
Enter Text in the accept
the
Working hours value for the
field
particular field
Enter
phone
field
7.
4.7 Integration
Leave Management System project is done by three members. It has been divided into 3 modules
and each module is done by separately .In this phase, we combined all modules.
In this phase, we tested entire application. It has been done by three members. In this phase we
fixed all bugs in entire application, if any bugs were found while doing testing process then we fixed
that bug and again we did the testing. We did same process until all bugs are fixed in web application.
34
Mahita Adapa
Conclusion
A web application for Leave Management System is designed to maintain the leave records of
employee and allows the employee to check his/her leave balance and allows the employee to apply
different kinds of leave permissible. Through Leave Management System it will be possible that
employee can cancel a leave and the corresponding notification will be sent. Through this system
employee can check the status of the leave application which is requested by him/her.
All the notifications corresponding to application, approval, rejection of the leaves are done by
the email. The system keeps track of information about employee leave records and leave balances.
35
Mahita Adapa
Bibliography
The following are the references and resources used till now
Books
[1] .John Hunt & Chris Loftus Guide to Java/j2ee
[2]. Richard Monson-Haefel J2EE
Web Services
URL links
[1] http://hpedia.hp.com/wiki/Duet accessed on 22/2/2011
[2] http://code.google.com/webtoolkit/gettingstarted.html
accessed on 3/3/2011
36
Mahita Adapa