Professional Documents
Culture Documents
Content: Employee Leave Management System
Content: Employee Leave Management System
CONTENT
ABSTRACT
INTRODUCTION
SYSTEM ANALYSIS
FEASIBILITY STUDY
REQUIREMENTS ANALYSIS
SYSTEM DESIGN
Dataflow diagrams
E-r diagrams
Databases
System testing and security
Coding
Output screen
Bibliography
1
Employee Leave Management System
1. ABSTRACT
The purpose of this project is to create an online leave management program which is
essential to something like an organization or college. The main purpose of the online PHP
projects is also to develop web applications in college submission. The Employee Leave
Information Management System was designed to automate the employee administration
and management and the strategic planning of leaves for employees. This program manages
all of the employee records. This has easy functionality to work and manages all the
employee leave records in efficient way. This project helps the organization to manages to
gathered all employee details at one place and very easy to understand the functionality no
need of sound knowledge of technicality. It can be later used for scalability to make your
work worthwhile. Employee Leave Management System was developed primarily to handle
information about the employee. That serves as an instrument for better management. The key goal
of this project is to create an effective web-enabled framework that would be able to simplify
workplace knowledge management needs. It is meant to simplify the current manual framework for
fast information collection, produce statistical reports and act as a data archive for efficient sharing
of information and possible retrieval.
2. INTRODUCTION
This project is aimed at developing a web based Leave Management Tool, which is of
importance to either an organization or a college. The Leave Management system is an
Intranet based application that can be accessed throughout the organization or a specified
group/Dept. This system can be used to automate the workflow of leave applications and
their approvals. The periodic crediting of leave is also automated. There are features like
notifications, cancellation of leave, automatic approval of leave, report generators etc in this
Tool. This project is aimed at developing a web based Leave Management Tool, which is of
importance to either an organization or a college
The Easy Leave is an Intranet based application that can be accessed throughout
organization or a specified group/Dept. This system can be used to automate the workflow
of leave applications and their approvals. The periodic crediting of leave is also automated.
There are features like notifications, cancellation of leave, automatic approval of leave,
report generators etc in this Tool.
Functional components of the project:
There are registered people in the system. Some are approvers. An approver can also be a
requestor. In an organization, the hierarchy could be Engineers/Managers/Business
Managers/Managing Director etc. In a college, it could be Lecturer/Professor/Head of the
Department/Dean/Principal etc.
A person should be able to
2
Employee Leave Management System
see his/her eligibility details (like how many days of leave he/she is eligible
for etc)
query the leave balance
see his/her leave history since the time he/she joined the company/college
apply for leave, specifying the from and to dates, reason for taking
leave, address for communication while on leave and his/her superior’s
email id
see his/her current leave applications and the leave applications that
are submitted to him/her for approval or cancellation
withdraw his/her leave application (which has not been approved yet)
Cancel his/her leave (which has been already approved). This will
need to be approved by his/her Superior
get help about the leave system on how to use the different features of the
system.
EXISTING SYSTEM:
Less Security.
No proper coordination between different Applications and Users.
3
Employee Leave Management System
3. SYSTEM ANALYSIS
STUDY OF THE SYSTEM:
To provide flexibility to the users, the interfaces have been developed that are
accessible through a browser. The GUI’S at the top level have been categorized as
Administrative user interface
The operational or generic user interface
The ‘administrative user interface’ concentrates on the consistent information that is
practically, part of the organizational activities and which needs proper authentication for
the data collection. These interfaces help the administrators with all the transactional states
like Data insertion, Data deletion and Date updation along with the extensive data search
capabilities.
The ‘operational or generic user interface’ helps the end users of the system in transactions
through the existing data and required services. The operational user interface also helps the
ordinary users in managing their own information in a customized manner as per the
included flexibilities.
INPUT TYPES:
It is necessary to determine the various types of inputs. Inputs can be categorized as follows:
4
Employee Leave Management System
INPUT MEDIA:
At this stage choice has to be made about the input media. To conclude
about the input media consideration has to be given to;
Type of input
Flexibility of format
Speed
Accuracy
Verification methods
Rejection rates
Ease of correction
Storage and handling requirements
Security
Easy to use
Portability
Keeping in view the above description of the input types and input media, it can be said that
most of the inputs are of the form of internal and interactive.
OUTPUT DESIGN:
In general are:
5
Employee Leave Management System
Keeping in view the above description the project is to have outputs mainly coming
under the category of internal outputs. The main outputs desired according to the
requirement specification are:
The outputs were needed to be generated as a hard copy and as well as queries to be
viewed on the screen. Keeping in view these outputs, the format for the output is
taken from the outputs, which are currently being obtained after manual processing.
The standard printer is to be used as output media for hard copies.
6
Employee Leave Management System
Stages in SDLC:
Requirement Gathering
Analysis
Designing
Coding
Testing
Maintenance
Requirements Gathering stage:
7
Employee Leave Management System
The requirements gathering process takes as its input the goals identified in the high-level
requirements section of the project plan. Each goal will be refined into a set of one or more
requirements. These requirements define the major functions of the intended application,
define operational data areas and reference data areas, and define the initial data entities.
Major functions include critical processes to be managed, as well as mission critical inputs,
outputs and reports. A user class hierarchy is developed and associated with these major
functions, data areas, and data entities. Each of these definitions is termed a Requirement.
Requirements are identified by unique requirement identifiers and, at minimum, contain a
requirement title and textual description.
These requirements are fully described in the primary deliverables for this stage: the
Requirements Document and the Requirements Traceability Matrix (RTM). The
requirements document contains complete descriptions of each requirement, including
diagrams and references to external documents as necessary. Note that detailed
listings of database tables and fields are not included in the requirements
document.The title of each requirement is also placed into the first version of the
RTM, along with the title of each goal from the project plan. The purpose of the RTM
is to show that the product components developed during each stage of the software
development lifecycle are formally connected to the components developed in prior
stages.
In the requirements stage, the RTM consists of a list of high-level requirements, or
goals, by title, with a listing of associated requirements for each goal, listed by
requirement title. In this hierarchical listing, the RTM shows that each requirement
developed during this stage is formally linked to a specific product goal. In this
format, each requirement can be traced to a specific product goal, hence the term
requirements traceability.The outputs of the requirements definition stage include the
requirements document, the RTM, and an updated project plan.
8
Employee Leave Management System
Analysis Stage:
The planning stage establishes a bird's eye view of the intended software product, and uses
this to establish the basic project structure, evaluate feasibility and risks associated with the
project, and describe appropriate management and technical approaches.
The most critical section of the project plan is a listing of high-level product
requirements, also referred to as goals. All of the software product requirements to be
developed during the requirements definition stage flow from one or more of these
goals. The minimum information for each goal consists of a title and textual
description, although additional information and references to external documents
may be included. The outputs of the project planning stage are the configuration
management plan, the quality assurance plan, and the project plan and schedule, with
a detailed listing of scheduled activities for the upcoming Requirements stage, and
high level estimates of effort for the out stages.
Designing Stage:
The design stage takes as its initial input the requirements identified in the approved
requirements document. For each requirement, a set of one or more design elements
will be produced as a result of interviews, workshops, and/or prototype efforts.
Design elements describe the desired software features in detail, and generally
include functional hierarchy diagrams, screen layout diagrams, tables of business
rules, business process diagrams, pseudo code, and a complete entity-relationship
diagram with a full data dictionary. These design elements are intended to describe
the software in sufficient detail that skilled programmers may develop the software
with minimal additional input.
9
Employee Leave Management System
During the integration and test stage, the software artifacts, online help, and test data are
migrated from the development environment to a separate test environment. At this point,
all test cases are run to verify the correctness and completeness of the software. Successful
execution of the test suite confirms a robust and complete migration capability. During this
stage, reference data is finalized for production use and production users are identified and
linked to their appropriate roles. The final reference data (or links to reference data source
files) and production user list are compiled into the Production Initiation Plan.
10
Employee Leave Management System
load is correct and the test suite has been executed with satisfactory results, the
customer formally accepts the delivery of the software.
The primary outputs of the installation and acceptance stage include a production
application, a completed acceptance test suite, and a memorandum of customer
acceptance of the software. Finally, the PDR enters the last of the actual labor data
into the project schedule and locks the project as a permanent project record. At this
point the PDR "locks" the project by archiving all software items, the implementation
map, the source code, and the documentation for future reference.
Maintenance:
Outer rectangle represents maintenance of a project, Maintenance team will start with
requirement study, understanding of documentation later employees will be assigned work
and they will under go training on that particular assigned category.
For this life cycle there is no end, it will be continued so on like an umbrella (no ending
point to umbrella sticks).
SYSTEM ARCHITECTURE
Architecture flow:
Below architecture diagram represents mainly flow of requests from users to database
through servers. In this scenario overall system is designed in three tires separately
using three layers called presentation layer, business logic layer and data link layer. This
project was developed using 3-tire architecture.
11
Employee Leave Management System
4.FEASIBILITY STUDY
Preliminary investigation examines project feasibility; the likelihood the system will
be useful to the organization. The main objective of the feasibility study is to test the
Technical, Operational and Economical feasibility for adding new modules and
debugging old running system. All systems are feasible if they are given unlimited
resources and infinite time. There are aspects in the feasibility study portion of the
preliminary investigation:
Technical Feasibility
Operation Feasibility
Economical Feasibility
TECHNICAL FEASIBILITY
The technical issue usually raised during the feasibility stage of the investigation
includes the following:
12
Employee Leave Management System
Reliability
The package wills pick-up current transactions on line. Regarding the old
transactions, User will enter them in to the system.
Security
The web server and database server should be protected from hacking, virus etc
Portability
The application will be developed using standard open source software (Except
Oracle) like Java, tomcat web server, Internet Explorer Browser etc these software
will work both on Windows and Linux o/s. Hence portability problems will not arise.
Availability
This software will be available always.
Maintainability
The system called the ewheelz uses the 2-tier architecture. The 1st tier is the GUI,
which is said to be front-end and the 2nd tier is the database, which uses My-Sql,
which is the back-end.
The front-end can be run on different systems (clients). The database will be running
at the server. Users access these forms by using the user-ids and the passwords.
ECONOMIC FEASILITY
The computerized system takes care of the present existing system’s data flow and
procedures completely and should generate all the reports of the manual system
besides a host of other management reports.It should be built as a web based
application with separate web server and database server. This is required as the
activities are spread through out the organization customer
OPERATIONAL FEASIBILITY
OPERATIONAL FEASIBILITY
User-friendly
Customer will use the forms for their various transactions i.e. for adding new
routes, viewing the routes details. Also the Customer wants the reports to view
the various wants a centralized database. Further some of the linked transactions take
place in different locations.
Open source software like TOMCAT, JAVA, Mysql and Linux is used to minimize the
cost for the Customer.
5. REQUIREMENTS SPECIFICATIONS
13
Employee Leave Management System
MODULE DESCRIPTION
Administrator:-
In this module the Administrator has the privileges to add all the Employees and
register them in the organization and check the information of the Employee and check
the status of the leave when they have taken and what type of leave they have taken and
search is done based on the employee and report is generated based on employee.
Search:-
This module contain complete search like Leave search, Type of Leave, Employee based on the
leave and starting and ending day of leave.
Employee:-
In this module employee has the privileges to use his username and password for login
and he can see the request given by the customer and he can pass the process to the
Business Manager and maintain the record of the customers.
Reports:-
This module contains all the information about the reports generated by the
Employees based on the Performance and by the leave status.
Authentication:-
This module contains all the information about the authenticated user. User without
his username and password can’t enter into the login if he is only the authenticated
user then he can enter to his login.
PERFORMANCE REQUIREMENTS
Performance is measured in terms of the output provided by the application.
Requirement specification plays an important part in the analysis of a system. Only
when the requirement specifications are properly given, it is possible to design a
system, which will fit into required environment. It rests largely with the users of the
existing system to give the requirement specifications because they are the people
who finally use the system. This is because the requirements have to be known during
the initial stages so that the system can be designed according to those requirements.
It is very difficult to change the system once it has been designed and on the other
hand designing a system, which does not cater to the requirements of the user, is of no
use.The requirement specification for any system can be broadly stated as given
below:
14
Employee Leave Management System
HARDWARE REQUIREMENTS:
The selection of hardware is very important in the existence and proper working of
any software. In the selection of hardware, the size and the capacity requirements are
also important.The Web Based Manufacturing System can be efficiently run on
Pentium system with at least 128 MB RAM and Hard disk drive having 20 GB.
Floppy disk drive of 1.44 MB and 14 inch Samsung color monitor suits the
information system operation.(A Printer is required for hard copy output).
15
Employee Leave Management System
6. SYSTEM DESIGN
Introduction: Systems design is the process or art of defining the architecture,
components, modules, interfaces, and data for a system to satisfy specified requirements.
One could see it as the application of systems theory to product development. There is some
overlap and synergy with the disciplines of systems analysis, systems architecture and
systems engineering.
7. DATAFLOW DIAGRAMS
16
Employee Leave Management System
17
Employee Leave Management System
UML Diagrams:
USECASE FOR ADMIN
18
Employee Leave Management System
19
Employee Leave Management System
20
Employee Leave Management System
8. E-R DIAGRAMS
NORMALIZATION
21
Employee Leave Management System
Retrieving data.
Clarity and ease of use.
More information at low cost.
Normalization
First Normal Form:A relation R is in first normal form if and only if all underlying
domains contained atomic values only.
Second Normal Form:A relation R is said to be in second normal form if and only
if it is in first normal form and every non-key attribute is fully dependent on the
primary key.
Third Normal Form:A relation R is said to be in third normal form if and only if it
is in second normal form and every non key attribute is non transitively depend on the
primary key.
9. DATABASES
admin:
tbldepartments:
22
Employee Leave Management System
tblemployees:
tblleaves:
tblleavetype:
23
Employee Leave Management System
Introduction to Testing:
Testing is a process, which reveals errors in the program. It is the major quality measure
employed during software development. During software development. During testing, the
program is executed with a set of test cases and the output of the program for the test cases
is evaluated to determine if the program is performing as it is expected to perform.
TESTING IN STRATEGIES
In order to make sure that the system does not have errors, the different levels of
testing strategies that are applied at differing phases of software development are:
Unit Testing:
Unit Testing is done on individual modules as they are completed and become
executable. It is confined only to the designer's requirements.
Each module can be tested using the following two Strategies:
Black Box Testing:
In this strategy some test cases are generated as input conditions that fully execute all
functional requirements for the program. This testing has been uses to find errors in
the following categories:
24
Employee Leave Management System
In this the test cases are generated on the logic of each module by drawing flow
graphs of that module and logical decisions are tested on all the cases. It has been uses
to generate the test cases in the following cases:
TEST APPROACH:
Button up approach
Top down approach
25
Employee Leave Management System
Button up Approach:
Testing can be performed starting from smallest and lowest level modules and
proceeding one at a time. For each module in bottom up testing a short program
executes the module and provides the needed data so that the module is asked to
perform the way it will when embedded with in the larger system. When bottom level
modules are tested attention turns to those on the next level that use the lower level
ones they are tested individually and then linked with the previously examined lower
level modules.
Top down approach:
This type of testing starts from upper level modules. Since the detailed activities
usually performed in the lower level routines are not provided stubs are written. A
stub is a module shell called by upper level module and that when reached properly
will return a message to the calling module indicating that proper interaction
occurred. No attempt is made to verify the correctness of the lower level module.
Validation:
The system has been tested and implemented successfully and thus ensured that all the
requirements as listed in the software requirements specification are completely
fulfilled. In case of erroneous input corresponding error messages are displayed.
SYSTEM SECURITY
System Security:
SECURITY IN SOFTWARE
To set up authentication for Web Applications:
1.Open the web.xml deployment descriptor in a text editor or use the Administration
Console. Specify the authentication method using the <auth-method> element. The
available options are:
BASIC
Basic authentication uses the Web Browser to display a username/password dialog box.
This username and password is authenticated against the realm.
FORM
26
Employee Leave Management System
Form-based authentication requires that you return an HTML form containing the
username and password. The fields returned from the form elements must be:
j_username and j_password, and the action attribute must be j_security_check. Here is
an example of the HTML coding for using FORM authentication:
INTRODUCTION TO TESTING
Introduction to Testing:
Testing is a process, which reveals errors in the program. It is the major quality measure
employed during software development. During software development. During testing, the
program is executed with a set of test cases and the output of the program for the test cases
is evaluated to determine if the program is performing as it is expected to perform.
TESTING IN STRATEGIES
In order to make sure that the system does not have errors, the different levels of
testing strategies that are applied at differing phases of software development are:
Unit Testing:
Unit Testing is done on individual modules as they are completed and become
executable. It is confined only to the designer's requirements.Each module can be
tested using the following two Strategies:
<?php
session_start();
include('includes/config.php');
if(isset($_POST['signin']))
{
$uname=$_POST['username'];
$password=md5($_POST['password']);
$sql ="SELECT UserName,Password FROM admin WHERE
UserName=:uname and
27
Employee Leave Management System
Password=:password";
$query= $dbh -> prepare($sql);
$query-> bindParam(':uname', $uname, PDO::PARAM_STR);
$query-> bindParam(':password', $password, PDO::PARAM_STR);
$query-> execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
$_SESSION['alogin']=$_POST['username'];
echo "<script type='text/javascript'> document.location =
'changepassword.php'; </script>";
} else{
?><!DOCTYPE html>
<html lang="en">
<head><!-- Title -->
<title>Employee leave management system | Admin</title>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0,
maximum-scale=1.0, user-scalable=no"/>
<meta charset="UTF-8">
<meta name="description" content="Responsive Admin Dashboard
Template" /><meta name="keywords" content="admin,dashboard" />
<meta name="author" content="Steelcoders" />
<!-- Styles -->
<link type="text/css" rel="stylesheet"
href="../assets/plugins/materialize/css/materialize.css"/>
<link href="http://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="../assets/plugins/material-
preloader/css/materialPreloader.min.css" rel="stylesheet">
<link href="../assets/css/alpha.min.css" rel="stylesheet" type="text/css"/>
<link href="../assets/css/style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light py-3">
<button class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbarNavAltMarkup" aria-
controls="navbarNavAltMarkup" aria-expanded="false" aria-
28
Employee Leave Management System
label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse d-flex justify-content-center align-
items-center" id="navbarNavAltMarkup">
<div class="navbar-nav d-flex justify-content-center align-items-center">
<!-- <a class="nav-item text-white font-weight-bold nav-link active ml-3"
href="#">Home <span class="sr-only">(current)</span></a> -->
<a class="nav-item text-white font-weight-bold nav-link ml-3"
href="#">Admin Login</a>
<a class="nav-item text-white font-weight-bold nav-link ml-3"
href="../index.php">Employee Login</a>
</div>
</div>
</nav><main class="mn-inner mt-5">
<div class="row d-flex justify-content-center align-items-center">
<h4 class="font-weight-bold text-center text-danger">Welcome to
ELMS</h4><div class="col-md-12"><div class="row" >
<div class="col-md-3"></div>
<div class="col-md-6 d-flex justify-content-center align-items-
center">
<div class="card white darken-1">
<div class="card-content">
<span class="card-title text-danger" style="font-
size:20px;">Admin Login</span>
<div class="row">
<form class="col s12" name="signin" method="post">
<div class="input-field col s12">
<input id="username" type="text" name="username"
class="validate" autocomplete="off" required >
<label for="email">Enter Username</label>
</div>
<div class="input-field col s12">
<input id="password" type="password" class="validate"
name="password" autocomplete="off" required>
<label for="password">Enter Password</label>
</div>
<div class="col s12 center m-t-sm">
</div>
</form>
</div>
</div>
</div>
29
Employee Leave Management System
</div>
</div>
</div>
</main>
<!-- Javascripts -->
<script src="../assets/plugins/jquery/jquery-2.2.0.min.js"></script>
<script src="../assets/plugins/materialize/js/materialize.min.js"></script>
<script src="../assets/plugins/material-
preloader/js/materialPreloader.min.js"></script>
<script src="../assets/plugins/jquery-blockui/jquery.blockui.js"></script>
<script src="../assets/js/alpha.min.js"></script>
</section>
</body>
</html>
Manage Employee LeaveType from ELMS
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(strlen($_SESSION['alogin'])==0)
{
header('location:index.php');
}
else{
if(isset($_GET['del']))
{
$id=$_GET['del'];
$sql = "delete from tblleavetype WHERE id=:id";
$query = $dbh->prepare($sql);
$query -> bindParam(':id',$id, PDO::PARAM_STR);
$query -> execute();
$msg="Leave type record deleted";
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
30
Employee Leave Management System
<?php include('includes/sidebar.php');?>
<main class="mn-inner">
<div class="row"><div class="col s12">
</table>
</div>
</div>
</div>
31
Employee Leave Management System
</div>
</main>
</div>
<div class="left-sidebar-hover"></div>
32
Employee Leave Management System
$description=$_POST['description'];
$status=$_POST['status'];
date_default_timezone_set('Asia/Kolkata');
$admremarkdate=date('Y-m-d G:i:s ', strtotime("now"));
$sql="update tblleaves set
AdminRemark=:description,Status=:status,AdminRemarkDate=:admrema
rkdate where id=:did";
$query = $dbh->prepare($sql);
$query->bindParam(':description',$description,PDO::PARAM_STR);
$query->bindParam(':status',$status,PDO::PARAM_STR);
<option value="2">Not Approved</option>
</select></p>
<p><textarea id="textarea1" name="description" class="materialize-
textarea" name="description" placeholder="Description" length="500"
maxlength="500" required></textarea></p>
</div>
<div class="modal-footer" style="width:90%">
<input type="submit" class="waves-effect waves-light btn blue m-b-
xs" name="update" value="Submit">
</div>
</div>
</td>
</tr>
<?php } ?>
</form></tr>
<?php $cnt++;} }?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</main>
</div>
<div class="left-sidebar-hover"></div>
33
Employee Leave Management System
<script
src="../assets/plugins/datatables/js/jquery.dataTables.min.js"></script>
<script src="../assets/js/alpha.min.js"></script>
<script src="../assets/js/pages/table-data.js"></script>
<script src="assets/js/pages/ui-modals.js"></script>
<script src="assets/plugins/google-code-prettify/prettify.js"></script>
</body>
</html>
<?php } ?>
34
Employee Leave Management System
35
Employee Leave Management System
36
Employee Leave Management System
DASHBOARD PAGE
37
Employee Leave Management System
38