Professional Documents
Culture Documents
Name: PRAMOD BN
USN: 1AT17CS054
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.
CONTENTS
1)Introduction
4)System Analysis
5)Feasibility Report
7)Database Design
8)Output Screens
10) Conclusion
11) Bibliography
INTRODUCTION
1.1. Introduction to DBMS
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.
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
Stored Database
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.
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 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
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.
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.
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.
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.
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.
Browsers do not display the HTML tags but use them to interpret the content
of the page.
• 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.
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,
• 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
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.
Browser -------- IE
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).
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
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:
INPUT STAGES:
Data recording
Data transcription
Data conversion
Data verification
Data control
Data transmission
Data validation
Data correction
INPUT TYPES:
It is necessary to determine the various types of inputs. Inputs can be categorized as follows:
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.
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:
OUTPUT DEFINITION
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
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:
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
PERFORMANCE REQUIREMENTS:
The requirement specification for any system can be broadly stated as given below:
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
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: -
The well-planned design would ensure the optimal utilization of the computer resources and would
help in the improvement of performance status.
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.
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 DESIGN
ER DIAGRAM
Home Page
Login Page
Add/Delete Dept
Add/Delete
Employee
Leave Checking
Leave Sanction
Repor
Search Employee
Search Leave
Search Dept
Login Page
Employee Home
Page
Home Page
Change Password
Leave Sanction
Status
Repor
Update Info
SEQUENCE DIAGRAMS
Sequence Diagrams Represent the objects participating the interaction horizontally and time
vertically.
SEQUENCE DIAGRAM 1
Validate if NO
If No Come Back to Home Page
Time
SEQUENCE DIAGRAM 2
Employee
Use URL
Time
Home Page Login Page Admin Home Page Add Employee Info Database Confirm Page
Admin
Use URL
Validate If NOT
Come Back to Login Page
if Validation NOT OK
Back to Add Employee Info Page
SQL Tables:
The ADMIN consists of the following attributes:
• ID which is the Primary key
• Username
• Password
• Updation date
NORMALIZATION
Normalization
Database Design:
admin
tbldepartments
tblemployees
tblleaves
tblleavetype
SYSTEM IMPLEMENTATION
Module Description
To implement this project, SQL is used for backend and java is used for frontend
(GUI) creation.
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.
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:
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:
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.
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.
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:
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.
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>
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.
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.
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.
CHAPTER 4
XAMPP server
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.
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.
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.
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.
Employee Password
DESCRIPTION: This is the screenshot showing where the Employee can change his
password.
CHAPTER 5
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
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.
• Wanted to gift this project to our department after hosting in the website.
CHAPTER 6
BIBLIOGRAPHY