You are on page 1of 47

Employee Leave Management System

Atria Institute of Technology

DBMS Mini Project 2019-2020


Employee Leave Management System

Name: PRAMOD BN

USN: 1AT17CS054

Department: Computer Science and Engineering

Class: 5CSE1

ABSTRACT:
This project is aimed at developing a web-based Leave Management Tool, which is of importance to either

an organization or a college.

The Employee Leave Management System is an Internet 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.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 1
Employee Leave Management System

CONTENTS

1)Introduction

2)Purpose of the Project

3)Problem in Existing System

4)System Analysis

5)Feasibility Report

6)System Design (Use Case Diagram, ER

Diagram, Schema, Sequence Diagram)

7)Database Design

8)Output Screens

9)System Testing and Implementation

10) Conclusion

11) Bibliography

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 2
Employee Leave Management System

INTRODUCTION
1.1. Introduction to DBMS

Database is a collection of related data. DBMS came into existence in 1960 by


Charles. Again in 1960 IBM brought IMS-Information management system. In 1970 Edgor
Codd at IBM came with new database called RDBMS. In 1980 then came SQL
Architecture- Structure Query Language. In 1980 to 1990 there were advances in DBMS
e.g. DB2, ORACLE. A database has the following implicit properties:

 A database represents some aspect of the real world, sometimes called the miniworld
or the Universe of Discourse (UoD). Changes to the miniworld are reflected in the
database.
 A database is a logically coherent collection of data with some inherent meaning. A
random assortment of data cannot correctly be referred to as a database.
 A database is designed, built, and populated with data for a specific purpose. It has an
intended group of users and some preconceived applications in which these users are
interested.

In other words, a database has some source from which data is derived, some degree of
interaction with events in the real world, and an audience that is actively interested in its
contents.

Metadata (meta data, or sometimes meta information) is "data about data", of any sort
in any media. An item of metadata may describe a collection of data including multiple
content items and hierarchical levels, for example a database schema. In data processing,
metadata is definitional data that provides information about or documentation of other data
managed within an application or environment. The term should be used with caution as
all data is about something, and is therefore metadata.

A database management system (DBMS) is a collection of programs that enables


users to create and maintain database. The DBMS is a general purpose software system that
facilitates the process of defining, constructing, manipulating and sharing databases among
various users and applications.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 3
Employee Leave Management System

Defining a database specifying the database involves specifying the data types, constraints
and structures of the data to be stored in the database. The descriptive information is also
stored in the database in the form database catalogue or dictionary; it is called meta-data.
Manipulating the data includes the querying the database to retrieve the specific data. An
application program accesses the database by sending the queries or requests for data to
DBMS. The important function provided by the DBMS includes protecting the database
and maintain the database.

End users

External view
…… External view
External Level
External/Conceptual
Mapping

Conceptual Schema Conceptual Level


Conceptual/Internal
Mapping
Internal Schema Internal Level

Stored Database

Figure 1.1: Three schema architecture

The figure 1.1 shows the Three schema architecture of Database Management
System, The Three schema architecture consists of three levels of the architecture:

 External Level:
The external level is the view that the individual user of the database has. This
view is often a restricted view of the database and the same database may provide
a number of different views for different classes of users. In general, the end users
and even the application programmers are only interested in a subset of the
database.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 4
Employee Leave Management System

 Conceptual Level:
The conceptual view is the information model of the enterprise and contains the
view of the whole enterprise without any concern for the physical implementation.
The conceptual view is the overall community view of the database and it includes
all the information that is going to be represented in the database.
 Internal Level:
The internal view is the view about the actual physical storage of data. It describes
what data is stored in database and how.
 The three schema architecture is a convenient tool with which the user can visualize
the schema levels in a database system. DBMS must transform a request specified
on an external schema into a request against conceptual schema and then into a
request on an internal schema for processing over a stored database and the reverse
should be done for retrieving the data. The process of transforming requests and
results between levels are called mapping.

SQL SERVER TABLES

SQL Server stores records relating to each other in a table. Different tables are created for
the various groups of information. Related tables are grouped together to form a database.

PRIMARY KEY

Every table in SQL Server has a field or a combination of fields that uniquely identifies
each record in the table. The Unique identifier is called the Primary Key, or simply the Key. The
primary key provides the means to distinguish one record from all other in a table. It allows the
user and the database system to identify, locate and refer to one particular record in the database.

RELATIONAL DATABASE

Sometimes all the information of interest to a business operation can be stored in one table.
SQL Server makes it very easy to link the data in multiple tables. Matching an employee to the
department in which they work is one example. This is what makes SQL Server a relational

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 5
Employee Leave Management System

database management system, or RDBMS. It stores data in two or more tables and enables you to
define relationships between the table and enables you to define relationships between the tables.

FOREIGN KEY

When a field is one table matches the primary key of another field is referred to as a foreign
key. A foreign key is a field or a group of fields in one table whose values match those of the
primary key of another table.

REFERENTIAL INTEGRITY

Not only does SQL Server allow you to link multiple tables, it also maintains consistency
between them. Ensuring that the data among related tables is correctly matched is referred to as
maintaining referential integrity.

DATA ABSTRACTION

A major purpose of a database system is to provide users with an abstract view of the data.
This system hides certain details of how the data is stored and maintained. Data abstraction is
divided into three levels.

1.2. Overview of the project

Project is related to Hostel Management System.


• The project maintains two levels of users: -
• Administrator Level and Employee Level
• Front end is designed using HTML and MySQL is used for Back end.
• Main features available in this project are: -
• To View of all the Employee’s Leave database stored.
• Enabling Employee to apply Leave.
• Admin can add Employee details, departments and leave type and can view
the Employee’s leave status and can take action.
• The Employee can also view their leave status that he/she had applied and can
also update their Leave.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 6
Employee Leave Management System

1.2.1 PURPOSE OF THE SYSTEM

The Employee Leave Management System (ELMS) 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 email notifications, cancellation of leave, automatic
approval of leave, report generators etc in this Tool.

1.2.2 PROBLEMS IN THE EXISTING SYSTEM:

 The current system is a manual one where in the company maintains all the information in the
form of records. There by collecting necessary information with require a manual search in the
record(s).
 Transfer of information between different sections of the enterprise is in the form of documents
or letters. Drafting letters will take time.
 Selection of a person for a task is done by manually approaching the person and confirming the
availability of the person.
 Due to mismanagement the work is delayed to later date than the due date.
 Unavailability of proper information to different levels of employees with in the firm.

1.2.3 SOLUTION OF THESE PROBLEMS

 The information of the entire firm will be maintained at a centralized data base any changes
made by the other departs are known to the higher or lower departments instantly.

 Provide Interactive interface through which a user can interact with different areas of
application easily

 Deploy the application on a single system and make is available on all the systems with in the
network, thereby reducing the maintenance cost of software.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 7
Employee Leave Management System

1.3 SCOPE OF THE PROJECT

This project is aimed at developing a web-based Leave Management Tool, which is of


importance to either an organization or a college. This 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 email notifications, cancellation of leave, automatic
approval of leave, report generators etc in this tool database system.

SYSTEM DESIGN AND METHODOLOGY


The main software used are
1. HTML
2. MYSQL
3. CSS
4. JAVASCRIPT

2.1.1 HTML
• HTML stands for Hypertext Markup Language, it is the standard markup
language for creating web pages and web applications. With Cascading Style
Sheets (CSS) and JavaScript it forms a triad of cornerstone technologies for
the World Wide Web.
• Web browsers receive HTML documents from a web server or from local
storage and render them into multimedia web pages. HTML describes the
structure of a web page semantically and originally included cues for the
appearance of the document.
• HTML elements are the building blocks of HTML pages, with HTML
constructs, images and other objects, such as interactive forms, may be
embedded into the rendered page.
• It provides a means to create structured documents by denoting structural
semantics for text such as headings, paragraphs, lists, links, quotes and other
items. HTML elements are delineated by tags, written using angle brackets.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 8
Employee Leave Management System

Browsers do not display the HTML tags but use them to interpret the content
of the page.

2.1.2 MYSQL SERVER


• It is an open-source relational database management system (RDBMS). Its
name is a combination of "My", the name of co-founder Michael Widenius 's
daughter, and " SQL ", the abbreviation for Structured Query Language.
• The MySQL development project has made its source code available under the
terms of the GNU General Public License, as well as under a variety of
proprietary agreements.
• MySQL was owned and sponsored by a single for-profit firm, the Swedish
company MySQL AB, now owned by Oracle Corporation. For proprietary use,
several paid editions are available, and offer additional functionality.
• The MySQL server package will install the MySQL database server which can
interact with using a MySQL client. User can use the MySQL client to send
commands to any MySQL server; on a remote

• computer The MySQL server is used to persist the data and provide a query
interface for it (SQL). The MySQL clients purpose is to allow you to use that
query interface. The client package also comes with utilities that allows you to
easily backup/restore data and administer the server.
• MySQL is a central component of the LAMP open-source web application
software stack (and other " AMP " stacks). LAMP is an acronym for " Linux,
Apache, MySQL, Perl / PHP / Python ".
Applications that use the MySQL database include: TYPO3, MODx, Joomla,
WordPress, phub, Mob, and Drupal. MySQL is also used in many high-
profile, large-scale websites, including Google (though not for searches),
Facebook, Twitter, Flickr, and YouTube.

2.1.3 CASCADING STYLE SHEETS (CSS)


• It is a style sheet language used for describing the presentation of a
document written in a markup language. Although most often used to set the

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 9
Employee Leave Management System

visual style of web pages and user interfaces written in HTML, the language
can be applied to any document, including plain XML, SVG and XUL, and
is applicable to rendering in speech, or on other media.
• Along with HTML and JavaScript, CSS is a cornerstone technology used by
most websites to create visually engaging webpages, user interfaces for web
applications, and user interfaces for many mobile applications.
• CSS is designed primarily to enable the separation of presentation and
content, including aspects such as the layout, colors, and fonts. This
separation can improve content accessibility, provide more flexibility and
control in the specification of presentation characteristics, enable multiple
HTML pages to share formatting by specifying the relevant CSS in a
separate .CSS file, and reduce complexity and repetition in the structural
content. Separation of formatting and content makes it possible to present
the same markup page in different styles.

2.1.4 JAVASCRIPT
• It is often abbreviated as JS, is a high-level, dynamic, weakly typed,
prototype-based, multiparadigm, and interpreted programming language.
• Alongside HTML and CSS, JavaScript is one of the three core technologies
of World Wide Web content production. It is used to make webpages
interactive and provide online programs, including video games.
• The majority of websites employ it, and all modern web browsers support it
without the need for plug-ins by means of a built-in JavaScript engine. Each
of the many JavaScript engines represent a different implementation of
JavaScript, all based on the ECMAScript specification, with some engines
not supporting the spec fully, and with many engines supporting additional
features beyond
ECMA.
• As a multi-paradigm language, JavaScript supports event-driven, functional,
and imperative programming styles. It has an API for working with text,
arrays, dates, regular expressions, and basic manipulation of the DOM, but
the language itself does not include any I/O, such as networking,

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 10
Employee Leave Management System

• storage, or graphics facilities, relying for these upon the host environment in
which it is embedded. Initially only implemented client-side in web browsers,
JavaScript engines are now embedded in many other types of host software,
including server-side in web servers and databases, and in nonweb programs
such as word processors and PDF software, and in runtime environments that
make JavaScript available for writing mobile and desktop applications,
including desktop widgets.

2.1.5 PHP
• It is a server-side scripting language designed primarily for web development
but also used as a general-purpose programming language.
• PHP was originally created by Rasmus Lerdorf in 1994, the PHP reference
implementation is now produced by The PHP Development Team.
• PHP stands for the acronym: Hypertext Preprocessor.
• PHP code may be embedded into HTML or HTML5 markup, or it can be used
in combination with various web template systems, web content management
systems and web frameworks. PHP code is usually processed by a PHP
interpreter implemented as a module in the web server or as a Common
Gateway Interface (CGI) executable. The web server software combines the
results of the interpreted and executed PHP code, which may be any type of
data, including images, with the generated web page.
• PHP code may also be executed with a command-line interface (CLI) and can
be used to implement standalone graphical applications.

Tools
Language Used : PHP

Database Used : MySQL

User Interface Design: HTML, JQUERY, JAVASCRIPT

Web Browser : Mozilla, Google Chrome, IE8,OPERA

Software Requirements : XAMPP /WAMP/ LAMP/ MAMP any one

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 11
Employee Leave Management System

4.3 SOFTWARE REQUIREMENTS:

One of the most difficult tasks is that, the selection of the software, once system
requirement is known is determining whether a particular software package fits the
requirements. After initial selection further security is needed to determine the desirability
of particular software compared with other candidates. This section first summarizes the
application requirement question and then suggests more detailed comparisons.

 Operating System -------- Windows 95/98/NT/2000

 Browser -------- IE

 Web/Application Server -------- apache web server

 Database Server -------- Mysql

 Database Connectivity -------- JDBC

 Other Tools & Technologies -------- PHP, HTML

4.4 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).

 Pentium processor -------- 233 MHZ or above


 RAM Capacity -------- 128MB
 Hard Disk -------- 20GB
 Floppy disk -------- 1.44 MB
 CD-ROM Drive -------- 32 HZ
 KEYBOARD -------- 108 Standard

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 12
Employee Leave Management System

2.2 Software Development Life Cycle (SDLC) METHODOLOGIES

This Document plays a vital role in the development life cycle (SDLC) as it describes the complete
requirement of the system. It is meant for use by the developers and will be the basic during testing
phase. Any changes made to the requirements in the future will have to go through formal change
approval process.

WATER FALL MODEL was being chosen because all requirements were known before hand and
the objective of our software development is the computerization/automation of an already existing
manual working system.

Changed
Requirements

Communicated
Requirements

Requirements
Specification
Requirements
Engineering

Design
Specification
Design

Executable
Software
Programming Modules Maintenance
Process

Integrated
Software
Product
Integration
Product Product
Input Output
Delivered
Software
Delivery Product

Fig: Water Fall Model

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 13
Employee Leave Management System

The developer is responsible for:

 Developing the system, which meets the SRS and solving all the requirements of the system?
 Demonstrating the system and installing the system at client's location after the acceptance
testing is successful.
 Submitting the required user manual describing the system interfaces to work on it and also the
documents of the system.
 Conducting any user training that might be needed for using the system.
Maintaining the system for a period of one year after installation.

INPUT DESIGN

Input design is a part of overall system design. The main objective during the input design is as
given below:

 To produce a cost-effective method of input.


 To achieve the highest possible level of accuracy.
 To ensure that the input is acceptable and understood by the user.

INPUT STAGES:

The main input stages can be listed as below:

 Data recording
 Data transcription
 Data conversion
 Data verification
 Data control
 Data transmission
 Data validation
 Data correction

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 14
Employee Leave Management System

INPUT TYPES:

It is necessary to determine the various types of inputs. Inputs can be categorized as follows:

 External inputs, which are prime inputs for the system.


 Internal inputs, which are user communications with the system.
 Operational, which are computer department’s communications to the system?
 Interactive, which are inputs entered during a dialogue.

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. As

Input data is to be the directly keyed in by the user, the keyboard can be considered to be the most
suitable input device.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 15
Employee Leave Management System

OUTPUT DESIGN
Outputs from computer systems are required primarily to communicate the results of processing to
users. They are also used to provide a permanent copy of the results for later consultation. The
various types of outputs in general are:

 External Outputs, whose destination is outside the organization.


 Internal Outputs whose destination is with in organization and they are the
 User’s main interface with the computer.
 Operational outputs whose use is purely with in the computer department.
 Interface outputs, which involve the user in communicating directly with

OUTPUT DEFINITION

The outputs should be defined in terms of the following points:


 Type of the output
 Content of the output
 Format of the output
 Location of the output
 Frequency of the output
 Volume of the output
 Sequence of the output

It is not always desirable to print or display data as it is held on a computer. It should be decided as
which form of the output is the most suitable.

For Example

 Will decimal points need to be inserted?


 Should leading zeros be suppressed.

OUTPUT MEDIA:

In the next stage it is to be decided that which medium is the most appropriate for the output. The
main considerations when deciding about the output media are:

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 16
Employee Leave Management System

 The suitability for the device to the particular application.


 The need for a hard copy.
 The response time required.
 The location of the users
 The software and hardware available.

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 hot 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.

CONTEXT DIAGRAM

Administrator Employee
Provide services

Emp

_details
Receive Report
Emp_id

Easy-Leave
Report
Details
Search
Details
Report
Report_id

Search_id
Search

Authentication

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 17
Employee Leave Management System

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 in the part of 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:

 The system should be able to interface with the existing system


 The system should be accurate
 The system should be better than the existing system
The existing system is completely dependent on the user to perform all the duties.

FEASIBILITY REPORT

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 system is feasible if they are unlimited resources and infinite time. There are aspects in the
feasibility study portion of the preliminary investigation:

 Technical Feasibility
 Operation Feasibility
 Economic Feasibility

Technical Feasibility

The technical issue usually raised during the feasibility stage of the investigation includes the
following:
PRAMOD BN, Dept. of CSE,
Atria Institute of Technology Page 18
Employee Leave Management System

 Does the necessary technology exist to do what is suggested?


 Do the proposed equipment have the technical capacity to hold the data required to use the
new system?
 Will the proposed system provide adequate response to inquiries, regardless of the number
or location of users?
 Can the system be upgraded if developed?
 Are there technical guarantees of accuracy, reliability, ease of access and data security?
Earlier no system existed to cater to the needs of ‘Secure Infrastructure Implementation System’.
The current system developed is technically feasible. It is a web-based user interface. Thus, it
provides an easy access to the users. The database’s purpose is to create, establish and maintain a
workflow among various entities in order to facilitate all concerned users in their various capacities
or roles. Permission to the users would be granted based on the roles specified. Therefore, it
provides the technical guarantee of accuracy, reliability and security. The software and hard
requirements for the development of this project are not many and are available as free as open
source. The work for the project is done with the current equipment and existing software
technology. Necessary bandwidth exists for providing a fast feedback to the users irrespective of
the number of users using the system.

Operational Feasibility

Proposed projects are beneficial only if they can be turned out into information system. That will
meet the organization’s operating requirements. Operational feasibility aspects of the project are to
be taken as an important part of the project implementation. Some of the important issues raised
are to test the operational feasibility of a project includes the following: -

 Is there sufficient support for the management from the users?


 Will the system be used and work properly if it is being developed and implemented?
 Will there be any resistance from the user that will undermine the possible application benefits?
This system is targeted to be in accordance with the above-mentioned issues. Beforehand, the
management issues and user requirements have been taken into consideration. So, there is no
question of resistance from the users that can undermine the possible application benefits.

The well-planned design would ensure the optimal utilization of the computer resources and would
help in the improvement of performance status.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 19
Employee Leave Management System

Economic Feasibility

A system can be developed technically and that will be used if installed must still be a good
investment for the organization. In the economic feasibility, the development cost in creating the
system is evaluated against the ultimate benefit derived from the new systems. Financial benefits
must equal or exceed the costs. The system is economically feasible. It does not require any addition
hardware or software. Since the interface for this system is developed using the existing resources
and technologies available. There is nominal expenditure and economic feasibility for certain.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 20
Employee Leave Management System

HTML APPLICATION
/BROWSER
Employee LOGIN

My Profile CHANGE
DASHBOARD Leaves Sign Out
PASSWORD

ADMIN

Leave
DASHBOARD Department Leave Employees
Management
Type

JDBC DRIVER
XAMPP
SERVER

DATABASE
(MYSQL)
DATABASE
TABLES

System Architecture of Employee Leave Management System

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 21
Employee Leave Management System

SYSTEM DESIGN
ER DIAGRAM

Fig 2.2 ER Diagram

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 22
Employee Leave Management System

USECASE FOR ADMIN

Home Page

Login Page

Admin Home Page

Add/Delete Dept

Add/Delete
Employee

Admin Add / Delete Leave

Leave Checking

Leave Sanction

Monthly Leave Trans

Yearly Leave Trans

Repor
Search Employee

Search Leave

Search Dept

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 23
Employee Leave Management System

USECASE FOR EMPLOYEE

Login Page

Employee Home
Page
Home Page

Change Own Info

Change Password

Employe Apply for Leave


e

Check Leave Status

Leave Sanction
Status

Check Leave Type

Search Leave Type

Repor
Update Info

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 24
Employee Leave Management System

SEQUENCE DIAGRAMS

Sequence Diagrams Represent the objects participating the interaction horizontally and time
vertically.

SEQUENCE DIAGRAM 1

Home Page Databas Admin Home Page


e
Admin Use URL

Press login button

Validate if NO
If No Come Back to Home Page

If Yes Goes to its Home Page

Time

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 25
Employee Leave Management System

SEQUENCE DIAGRAM 2

Home Page Databas Employee Home Page


e

Employee

Use URL

Press login button

If No Come Back to Home Page


Validate if NO
If Yes Goes to its Home Page

Time

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 26
Employee Leave Management System

SEQUENCE DIAGRAM FOR ADDING EMPLOYEE

Home Page Login Page Admin Home Page Add Employee Info Database Confirm Page

Admin
Use URL

Press Login Button

Validate If NOT
Come Back to Login Page

If Yes Goes to Admin Home Page

Click on Link for Add Employee Page

Press Button for Saving Data

if Validation NOT OK
Back to Add Employee Info Page

If OK Then go to Confirmation Page

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 27
Employee Leave Management System

SQL Tables:
The ADMIN consists of the following attributes:
• ID which is the Primary key
• Username
• Password
• Updation date

The Department consists of the following attributes:


• ID which is the Primary key
• Department Name
• Department Short Name
• Department Code
• Creation Date

The Employees consists of the following attributes:


 ID which is the Primary key
 Emp Id
 First Name
 Last Name
 Email Id
 Password
 Gender
 DOB
 Department
 Address
 City
 Country
 Phone Number
 Status
 Reg Date

The Leave Type consists of the following attributes:


 ID which is Primary Key
 Leave Type
 Description
 Creation Date

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 28
Employee Leave Management System

The Leaves consist of the following attributes:


 ID which is the Primary key
 Leave Type
 To Date
 From Date
 Description
 Posting Date timestamp
 Admin Remark
 Admin Remark Date
 Status

Schema Diagram

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 29
Employee Leave Management System

NORMALIZATION

A Database is a collection of interrelated data stored with a minimum of redundancy to


serve many applications. The database design is used to group data into a number of
tables and minimizes the artificiality embedded in using separate files. The tables are
organized to:

o Reduced duplication of data.


o Simplify functions like adding, deleting, modifying data etc..,
o Retrieving data
o Clarity and ease of use
o More information at low cost

Normalization

Normalization is built around the concept of normal forms. A relation is said


to be in a particular normal form if it satisfies a certain specified set of constraints on
the kind of functional dependencies that could be associated with the relation. The
normal forms are used to ensure that various types of anomalies and inconsistencies are
not introduced into the database.

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:

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 30
Employee Leave Management System

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.

Database Design:

admin

Field Type Null Key Default


id int(11) NO PRI (NULL)
UserName varchar(100) NO (NULL)

Password varchar(100) NO (NULL)


updationDate timestamp NO 0000-00-00
00:00:00

tbldepartments

Field Type Null Key Default

id int(11) NO PRI (NULL)

DepartmentName varchar(150) YES (NULL)

DepartmentShortName varchar(100) NO (NULL)

DepartmentCode varchar(50) YES (NULL)

CreationDate timestamp YES CURRENT_TIMESTAMP

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 31
Employee Leave Management System

tblemployees

Field Type Null Key Default

id int(11) NO PRI (NULL)

EmpId varchar(100) NO (NULL)

FirstName varchar(150) NO (NULL)

LastName varchar(150) NO (NULL)

EmailId varchar(200) NO (NULL)

Password varchar(180) NO (NULL)

Gender varchar(100) NO (NULL)

Dob varchar(100) NO (NULL)

Department varchar(255) NO (NULL)

Address varchar(255) NO (NULL)

City varchar(200) NO (NULL)

Country varchar(150) NO (NULL)

Phonenumber char(11) NO (NULL)

Status int(1) NO (NULL)

RegDate timestamp NO CURRENT_TIMESTAMP

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 32
Employee Leave Management System

tblleaves

Field Type Null Key Default

id int(11) NO PRI (NULL)

LeaveType varchar(110) NO (NULL)

ToDate varchar(120) NO (NULL)

FromDate varchar(120) NO (NULL)

Description mediumtext NO (NULL)

PostingDate timestamp NO CURRENT_TIMESTAMP

AdminRemark mediumtext YES (NULL)

AdminRemarkDate varchar(120) YES (NULL)

Status int(1) NO (NULL)

IsRead int(1) NO (NULL)

empid int(11) YES MUL (NULL)

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 33
Employee Leave Management System

tblleavetype

Field Type Null Key Default

id int(11) NO PRI (NULL)

LeaveType varchar(200) YES (NULL)

Description mediumtext YES (NULL)

CreationDate timestamp NO CURRENT_TIMESTAMP

SYSTEM IMPLEMENTATION
Module Description

To implement this project, SQL is used for backend and java is used for frontend
(GUI) creation.

Some of the features of java are:

 Simplicity: Java was designed with a small number of language constructs


so that programmers could learn it quickly.
 Object-Oriented: Java supports the construction of programs that consists
of collection of objects.
 Robust: Java is designed to eliminate certain types of programming errors.
Java is strongly typed, which allows extensive compile-time error checking.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 34
Employee Leave Management System

It does not support memory pointers, which eliminates the possibility of


overwriting memory and corrupting data.
 Secure: Java is designed to be secure in a networked environment. The Java
run-time environment uses a bytecode verification process to ensure that
code loaded over the network does not violate Java security constraints.
 Portable: In addition to supporting architecture neutrality, Java ensures that
other implementation-dependent aspects of language specification are
eliminated
 Multithreaded: Java supports multiple threads of execution. This makes
programming with threads much easier.
 Dynamic Language: Java supports dynamic loading of classes, dynamic
compilation, and automatic memory management

SYSTEM TESTING

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:

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 35
Employee Leave Management System

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:

Incorrect or missing functions


Interface errors
Errors in data structure or external database access
Performance errors
Initialization and termination errors.
In this testing only the output is checked for correctness.
The logical flow of the data is not checked.

White Box testing:

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:

 Guarantee that all independent paths have been Executed.


 Execute all logical decisions on their true and false Sides.
 Execute all loops at their boundaries and within their operational bounds
 Execute internal data structures to ensure their validity.

Integrating Testing :

Integration testing ensures that software and subsystems work together a whole. It tests the
interface of all the modules to make sure that the modules behave properly when
integrated together.

System Testing :

Involves in-house testing of the entire system before delivery to the user. It's aim
is to satisfy the user the system meets all requirements of the client's specifications.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 36
Employee Leave Management System

Acceptance Testing :

It is a pre-delivery testing in which entire system is tested at client's site on real world data
to find errors.

Test Approach :
Testing can be done in two ways:

Bottom up approach
Top down approach
Bottom 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

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 37
Employee Leave Management System

SYSTEM SECURITY

System Security:

Setting Up Authentication for Web Applications

Introduction:
To configure authentication for a Web Application, use the <login-config> element of the
web.xml deployment descriptor. In this element you define the security realm containing
the user credentials, the method of authentication, and the location of resources for
authentication.

8.2 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

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:

<form method="POST" action="j_security_check">

<input type="text" name="j_username">


<input type="password" name="j_password">

</form>

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 38
Employee Leave Management System

The resource used to generate the HTML form may be an HTML page, a JSP, or a servlet.
You define this resource with the <form-login-page> element.

The HTTP session object is created when the login page is served. Therefore, the
session.isNew() method returns FALSE when called from pages served after successful
authentication.

The modules included in this project are:

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.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 39
Employee Leave Management System

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.

INPUT AND OUTPUT

The main inputs, outputs and major functions of the system are as follows
Inputs:
 Admin enters his or her user id and password.
 Employee enter his or her user id and password.
 Employee send request for Leave.
 Employee can check for status for Leave.
 Admin can edit the employee details and so on.

Outputs:
 Admin gets his homepage.
 Employee get his homepage.
 Employee leave request data will be stored in database.
 Displays leave Status.
 Admin view employee details.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 40
Employee Leave Management System

CHAPTER 4

RESULTS AND SCREENSHOTS


4.1. XAMPP Server

XAMPP server

Apache and MySQL started


PRAMOD BN, Dept. of CSE,
Atria Institute of Technology Page 41
Employee Leave Management System

ADMIN LOGIN PAGE

DESCRIPTION: This is the screenshot showing where the admin can login onto to the
Employee Leave database and can have access to the Employee who have applied the leave
on to the database
Employee Login Page

DESCRIPTION: This is the screenshot showing where the Employees login themselves
onto the Employee database and can view their leave status.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 42
Employee Leave Management System

Admin Dashboard.

DESCRIPTION: This is the screenshot showing where the admin can view the number
of Employee who have leave on to the database and manage the action.

Add Department

DESCRIPTION: This is the screenshot showing where the admin can add the
Department and its Details.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 43
Employee Leave Management System

Add Leave Type

DESCRIPTION: This is the screenshot showing where the admin can add the Leave
Type and its Details.

Admin Password

DESCRIPTION: This is the screenshot showing where the admin can change his
password.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 44
Employee Leave Management System

Employee Profile

DESCRIPTION: This is the screenshot showing where the Employee can update his
Profile.

Apply Leave

DESCRIPTION: This is the screenshot showing where the Employee can apply his/her
leave.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 45
Employee Leave Management System

Employee Password

DESCRIPTION: This is the screenshot showing where the Employee can change his
password.

CHAPTER 5

CONCLUSION AND FUTURE WORKS

CONCLUSION
• After having detail study on Employee Leave Management System, there can be
many changes that can be seen in the Employees and Department head user friendly
interaction.
• This project offers user to enter the data through simple and interactive manner.
• User is provided the option to view the data that he has entered and can also do the
required changes that he wants.
• Such projects can help the wardens to store the large amount of data i.e. the pile of
Employee information and record it on the database for the further use.
• Online applying the leaves enables the employee to apply leave easily.

It has been a great pleasure for me to work on this exciting and challenging project. This project
proved good for me as it provided practical knowledge of not only programming in PHP and
JavaScript web based application and no some extent Windows Application and SQL Server, but

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 46
Employee Leave Management System

also about all handling procedure related with Leave Management. It also provides knowledge
about the latest technology used in developing web enabled application and client server technology
that will be great demand in future. This will provide better opportunities and guidance in future in
developing projects independently.

FUTURE WORK
• The project made here is just to ensure that this project could be valid in today real
challenging world. Here all the facilities are made and tested.
• Also, some other advancements that can be done on the project will be done in the future to
make it more user friendly and easy handling for the Employees.
• SMS or Email Notification is not made here but will be done in future.
• I would like to make this project more interactive in the future.

• Waiting to buy a domain and host it.

• Wanted to gift this project to our department after hosting in the website.

CHAPTER 6
BIBLIOGRAPHY

[1] Fundamentals of Database Systems, Ramez Elmasri and Shamkant B.


Navathe, 7th Edition, 2017, Pearson
[2] www.stackoverflow.com
[3] www.youtube.com
[4] www.scribd.com
[5] www.tutorialpoint.com
[6] www.w3schools.com
[7] www.mariadb.org
[8] www.geeksforgeeks.org
[9] Database management systems, Ramakrishnan, and Gehrke, 3rd Edition 2014,
McGraw Hill.

PRAMOD BN, Dept. of CSE,


Atria Institute of Technology Page 47

You might also like