Employee Leave Management System
Employee Leave Management System
Employee Leave Management System
Contents
1. INTRODUCTION 1-3
1.1.1.INTRODUCTION TO PROJECT
1.1.2.EXISTING SYSTEM
1.1.3.PROPOSED SYSTEM
2. SYSTEM ANLAYSIS 4-16
2.1.1.STUDY OF THE SYSTEM
2.1.2.INPUT AND OUTPUT REPRESENTAION
2.1.3.PROCESS MODELS USED WITH JUSTIFICATION
2.1.4.SYSTEM ARCHITECTURE
3. FEASIBILITY STUDY 17-19
3.1.1.TECHNICAL FEASIBILITY
3.1.2.OPERATIONAL FEASIBILITY
3.1.3.ECONOMIC FEASIBILITY
4. REQUIRE MENT SPECIFICATIONS 20-32
4.1.1.FUNCTIONAL REQUIREMENTS
4.1.2.PERFORMANCE REQUIREMENTS
4.1.3.SOFTWARE REQUIREMENTS
4.1.4.HARDWARE REQUIREMENTS
4.1.4.1.1. INTROUDCTION TO PHP
4.1.4.1.2. INTRODUCTION TO MYSQL
5. SYSTEM DESIGN 33-44
5.1.1.INTRODUCTION
5.1.2.DATA FLOW DIAGRAM
5.1.3.UML DIAGRAMS
5.1.4.E-R DIAGRAMS
5.1.5.NORMALIZATION
5.1.6.DATA DICTIONARY
6. OUTPUT SCREENS 45-53
7. SYSTEM TESTING 54-56
7.1.1.INTRODUCTION TO TESTING
7.1.2.TESTING STRATEGIES
8. SYSTEM SECURITY 58-59
8.1.1.INTRODUCTION
8.1.2.SECURITY IN SOFTWARE
9. BIBLIOGRAPHY 60
VS UNIVERSITY 1
Project Employee Leave Management System
INTERDUCTION
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 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.
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.
see his/her eligibility details (like how many days of leave he/she is eligible for etc)
VS UNIVERSITY 2
Project Employee Leave Management System
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
The number of days of leave (as per the assumed leave policy) should be automatically
credited to everybody and a notification regarding the same be sent to them automatically
An automatic leave-approval facility for leave applications which are older than 2 weeks
should be there. Notification about the automatic leave approval should be sent to the person
as well as his superior
Less Security.
VS UNIVERSITY 3
Project Employee Leave Management System
The development of the new system contains the following activities, which try to automate
the entire process keeping in view of the database integration approach.
The system makes the overall project management much easier and flexible.
Readily upload the latest updates, allows user to download the alerts by clicking the
URL.
There is no risk of data mismanagement at any level while the project development is
under process.
VS UNIVERSITY 4
Project Employee Leave Management System
SYSTEM ANLAYSIS
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
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 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
VS UNIVERSITY 5
Project Employee Leave Management System
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
VS UNIVERSITY 6
Project Employee Leave Management System
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:
In general are:
OUTPUT DEFINITION
For Example
VS UNIVERSITY 7
Project Employee Leave Management System
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 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.
VS UNIVERSITY 8
Project Employee Leave Management System
SDLC is nothing but Software Development Life Cycle. It is a standard which is used by
software industry to develop good software.
VS UNIVERSITY 9
Project Employee Leave Management System
Stages in SDLC:
Requirement Gathering
Analysis
Designing
Coding
Testing
Maintenance
Requirements Gathering stage:
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.
VS UNIVERSITY 10
Project Employee Leave Management System
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.
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.
VS UNIVERSITY 11
Project Employee Leave Management System
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.
VS UNIVERSITY 12
Project Employee Leave Management System
When the design document is finalized and accepted, the RTM is updated to show that each
design element is formally associated with a specific requirement. The outputs of the design
stage are the design document, an updated RTM, and an updated project plan.
The development stage takes as its primary input the design elements described in the
approved design document. For each design element, a set of one or more software artifacts
will be produced. Software artifacts include but are not limited to menus, dialogs, data
management forms, data reporting formats, and specialized procedures and functions.
Appropriate test cases will be developed for each set of functionally related software artifacts,
and an online help system will be developed to guide users in their interactions with the
software.
VS UNIVERSITY 13
Project Employee Leave Management System
The RTM will be updated to show that each developed artifact is linked to a specific
design element, and that each developed artifact has one or more corresponding test case
items. At this point, the RTM is in its final configuration. The outputs of the development
stage include a fully functional set of software that satisfies the requirements and design
elements previously documented, an online help system that describes the operation of the
software, an implementation map that identifies the primary code entry points for all major
system functions, a test plan that describes the test cases to be used to validate the correctness
and completeness of the software, an updated RTM, and an updated project plan.
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.
VS UNIVERSITY 14
Project Employee Leave Management System
The outputs of the integration and test stage include an integrated set of software, an
online help system, an implementation map, a production initiation plan that describes
reference data and production users, an acceptance plan which contains the final suite of test
cases, and an updated project plan.
During the installation and acceptance stage, the software artifacts, online help, and
initial production data are loaded onto the production server. At this point, all test cases are
run to verify the correctness and completeness of the software. Successful execution of the
test suite is a prerequisite to acceptance of the software by the customer.
After customer personnel have verified that the initial production data load is correct
and the test suite has been executed with satisfactory results, the customer formally accepts
the delivery of the software.
VS UNIVERSITY 15
Project Employee Leave Management System
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).
VS UNIVERSITY 16
Project Employee Leave Management System
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.
Presentation Layer
Request Response
Business Logic
Layer
Data Link
Layer
Data Base
VS UNIVERSITY 17
Project Employee Leave Management System
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
The technical issue usually raised during the feasibility stage of the investigation
includes the following:
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
VS UNIVERSITY 18
Project Employee Leave Management System
transactions based on the constraints. Theses forms and reports are generated as user-
friendly to the Client.
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
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.
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
VS UNIVERSITY 19
Project Employee Leave Management System
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.
VS UNIVERSITY 20
Project Employee Leave Management System
REQUIREMENTS SPECIFICATIONS
MODULES
Administration
Employee
Search
Report
Authentication
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.
VS UNIVERSITY 21
Project 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.
The requirement specification for any system can be broadly stated as given below:
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.
VS UNIVERSITY 22
Project Employee Leave Management System
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).
INTRODUCTION TO PHP
PHP
VS UNIVERSITY 23
Project Employee Leave Management System
PHP: Hypertext Preprocessor, is a widely used, general-purpose scripting language that was
originally designed for web development, to produce dynamic web pages. It can be
embedded into HTML and generally runs on a web server, which needs to be configured to
process PHP code and create web page content from it. It can be deployed on most web
servers and on almost every operating system and platform free of charge.
PHP was originally created by Rasmus Lerdorf in 1995 and has been in continuous
development ever since. The main implementation of PHP is now produced by The PHP
Group and serves as the de facto standard for PHP as there is no formal specification.PHP is
free software released under the PHP License, which is incompatible with the GNU General
Public License (GPL) because of restrictions on the use of the term PHP
PHP has evolved to include a command line interface capability and can also be used in
standalone graphical applications.
USAGE
PHP is a general-purpose scripting language that is especially suited for web development.
PHP generally runs on a web server. Any PHP code in a requested file is executed by the
PHP runtime, usually to create dynamic web page content. It can also be used for command-
line scripting and client-side GUI applications. PHP can be deployed on most web servers,
many operating systems and platforms, and can be used with many relational database
management systems. It is available free of charge, and the PHP Group provides the complete
source code for users to build, customize and extend for their own use.
PHP primarily acts as a filter, taking input from a file or stream containing text and/or PHP
instructions and outputs another stream of data; most commonly the output will be HTML.
Since PHP 4, the PHP parser compiles input to produce byte code for processing by the Zend
Engine, giving improved performance over its interpreter predecessor
Originally designed to create dynamic web pages, PHP now focuses mainly on server-side
scripting, and it is similar to other server-side scripting languages that provide dynamic
content from a web server to a client, such as Microsoft's Active Server Pages, Sun
Microsystems' JavaServer Pages and mod_perl. PHP has also attracted the development of
many frameworks that provide building blocks and a design structure to promote rapid
application development (RAD). Some of these include CakePHP, Symfony, CodeIgniter,
and Zend Framework, offering features similar to other web application frameworks.
About HTML
VS UNIVERSITY 24
Project Employee Leave Management System
HTML, which stands for Hyper Text Markup Language, is the predominant markup language
for web pages. It provides a means to create structured documents by denoting structural
semantics for text such as headings, paragraphs, lists etc as well as for links, quotes, and other
items. It allows images and objects to be embedded and can be used to create interactive
forms. It is written in the form of HTML elements consisting of "tags" surrounded by angle
brackets within the web page content. It can include or can load scripts in languages such as
JavaScript which affect the behavior of HTML processors like Web browsers; and Cascading
Style Sheets (CSS) to define the appearance and layout of text and other material. The W3C,
maintainer of both HTML and CSS standards, encourages the use of CSS over explicit
presentational markup.
Hyper Text Markup Language(HTML) is the encoding scheme used to create and format a
web document. A user need not be an expert programmer to make use of HTML for creating
hypertext documents that can be put on the internet.
Most graphical e-mail clients allow the use of a subset of HTML (often ill-defined) to
provide formatting and semantic markup not available with plain text. This may include
typographic information like coloured headings, emphasized and quoted text, inline images
and diagrams. Many such clients include both a GUI editor for composing HTML e-mail
messages and a rendering engine for displaying them. Use of HTML in e-mail is
controversial because of compatibility issues, because it can help disguise phishing attacks,
because it can confuse spam filters and because the message size is larger than plain text.
NAMING CONVENTIONS
The most common filename extension for files containing HTML is .html. A common
abbreviation of this is .htm, which originated because some early operating systems and file
systems, such as DOS and FAT, limited file extensions to three letters.
HTML APPLICATION
An HTML Application is a Microsoft Windows application that uses HTML and Dynamic
HTML in a browser to provide the application's graphical interface. A regular HTML file is
confined to the security model of the web browser, communicating only to web servers and
manipulating only webpage objects and site cookies. An HTA runs as a fully trusted
application and therefore has more privileges, like creation/editing/removal of files and
Windows Registry entries. Because they operate outside the browser's security model, HTAs
cannot be executed via HTTP, but must be downloaded (just like an EXE file) and executed
from local file system
ABOUT JAVASCRIPT
allowing the development of enhanced user interfaces and dynamic websites. JavaScript is a
dialect of the ECMAScript standard and is characterized as a dynamic, weakly typed,
prototype-based language with first-class functions. JavaScript was influenced by many
languages and was designed to look like Java, but to be easier for non-programmers to work
with.
PROTOTYPE-BASED
JavaScript uses prototypes instead of classes for inheritance. It is possible to simulate many
class-based features with prototypes in JavaScript.
Functions double as object constructors along with their typical role. Prefixing a function call
with new creates a new object and calls that function with its local this keyword bound to that
object for that invocation. The constructor's prototype property determines the object used for
the new object's internal prototype. JavaScript's built-in constructors, such as Array, also have
prototypes that can be modified.
USAGE
The primary use of JavaScript is to write functions that are embedded in or included from
HTML pages and interact with the Document Object Model (DOM) of the page.
Because JavaScript code can run locally in a user's browser (rather than on a remote server) it
can respond to user actions quickly, making an application feel more responsive.
Furthermore, JavaScript code can detect user actions which HTML alone cannot, such as
individual keystrokes. Applications such as Gmail take advantage of this: much of the user-
interface logic is written in JavaScript, and JavaScript dispatches requests for information
(such as the content of an e-mail message) to the server. The wider trend of Ajax
programming similarly exploits this strength.
4.3 MySQL:
VS UNIVERSITY 26
Project Employee Leave Management System
What is MySQL?
MySQL, the most popular Open Source SQL database management system, is
developed, distributed, and supported by Oracle Corporation.
The SQL part of “MySQL” stands for “Structured Query Language”. SQL is the
most common standardized language used to access databases. Depending on your
programming environment, you might enter SQL directly (for example, to generate
reports), embed SQL statements into code written in another language, or use a
language-specific API that hides the SQL syntax.
VS UNIVERSITY 27
Project Employee Leave Management System
SQL is defined by the ANSI/ISO SQL Standard. The SQL standard has been
evolving since 1986 and several versions exist. In this manual, “SQL-92” refers to
the standard released in 1992, “SQL:1999” refers to the standard released in 1999,
and “SQL:2003” refers to the current version of the standard. We use the
phrase “the SQL standard” to mean the current version of the SQL Standard at any
time.
The MySQL Database Server is very fast, reliable, scalable, and easy to use.
If that is what you are looking for, you should give it a try. MySQL Server can run
comfortably on a desktop or laptop, alongside your other applications, web servers,
and so on, requiring little or no attention. If you dedicate an entire machine to
MySQL, you can adjust the settings to take advantage of all the memory, CPU
power, and I/O capacity available. MySQL can also scale up to clusters of
machines, networked together.
You can find a performance comparison of MySQL Server with other database
managers on our benchmark page.
MySQL Server was originally developed to handle large databases much faster than
existing solutions and has been successfully used in highly demanding production
environments for several years. Although under constant development, MySQL
Server today offers a rich and useful set of functions. Its connectivity, speed, and
security make MySQL Server highly suited for accessing databases on the Internet.
VS UNIVERSITY 28
Project Employee Leave Management System
We also provide MySQL Server as an embedded multi-threaded library that you can
link into your application to get a smaller, faster, easier-to-manage standalone
product.
The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”),
but we do not mind if you pronounce it as “my sequel” or in some other localized
way.
For portability, uses CMake in MySQL 5.5 and up. Previous series use GNU
Automake, Autoconf, and Libtool.
VS UNIVERSITY 29
Project Employee Leave Management System
Uses very fast B-tree disk tables (MyISAM) with index compression.
Designed to make it relatively easy to add other storage engines. This is useful if
you want to provide an SQL interface for an in-house database.
Implements SQL functions using a highly optimized class library that should be as
fast as possible. Usually there is no memory allocation at all after query
initialization.
Data Types
Many data types: signed/unsigned integers 1, 2, 3, 4, and 8 bytes
long, FLOAT, DOUBLE, CHAR, VARCHAR, BINARY,VARBINARY, TEXT, B
LOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, ENUM, and
OpenGIS spatial types. SeeChapter 11, Data Types.
VS UNIVERSITY 30
Project Employee Leave Management System
Full support for SQL GROUP BY and ORDER BY clauses. Support for group
functions(COUNT(), AVG(), STD(),SUM(), MAX(), MIN(),
and GROUP_CONCAT()).
Support for LEFT OUTER JOIN and RIGHT OUTER JOIN with both standard
SQL and ODBC syntax.
Support for DELETE, INSERT, REPLACE, and UPDATE to return the number of
rows that were changed (affected), or to return the number of rows matched instead
by setting a flag when connecting to the server.
Independence of function names from table or column names. For example, ABS is
a valid column name. The only restriction is that for a function call, no spaces are
permitted between the function name and the “(” that follows it.
You can refer to tables from different databases in the same statement.
Security
A privilege and password system that is very flexible and secure, and that enables
host-based verification.
VS UNIVERSITY 31
Project Employee Leave Management System
Support for up to 64 indexes per table (32 before MySQL 4.1.2). Each index may
consist of 1 to 16 columns or parts of columns. The maximum index width is 767
bytes for InnoDB tables, or 1000 for MyISAM; before MySQL 4.1.2, the limit is
500 bytes. An index may use a prefix of a column for CHAR, VARCHAR, BLOB,
or TEXT column types.
Connectivity
Clients can connect to MySQL Server using several protocols:
On Windows systems in the NT family (NT, 2000, XP, 2003, or Vista), clients can
connect using named pipes if the server is started with the --enable-named-
pipe option. In MySQL 4.1 and higher, Windows servers also support shared-
memory connections if started with the --shared-memory option. Clients can
connect through shared memory by using the --protocol=memory option.
On Unix systems, clients can connect using Unix domain socket files.
MySQL client programs can be written in many languages. A client library written
in C is available for clients written in C or C++, or for any language that provides C
bindings.
APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl are available,
enabling MySQL clients to be written in many languages.
The Connector/J interface provides MySQL support for Java client programs that
use JDBC connections. Clients can be run on Windows or Unix. Connector/J source
is available.
VS UNIVERSITY 32
Project Employee Leave Management System
Localization
The server can provide error messages to clients in many languages. Full support for
several different character sets, including latin1 (cp1252), german, big5, ujis, and
more. For example, the Scandinavian characters “å”, “ä” and “ö” are permitted in
table and column names. Unicode support is available as of MySQL 4.1.
Sorting and comparisons are done according to the chosen character set and
collation (using latin1 and Swedish collation by default). It is possible to change this
when the MySQL server is started. To see an example of very advanced sorting,
look at the Czech sorting code. MySQL Server supports many different character
sets that can be specified at compile time and runtime.
As of MySQL 4.1, the server time zone can be changed dynamically, and individual
clients can specify their own time zone.
MySQL Server has built-in support for SQL statements to check, optimize, and
repair tables. These statements are available from the command line through
the mysqlcheck client. MySQL also includes myisamchk, a very fast command-
line utility for performing these operations on MyISAM tables.
MySQL programs can be invoked with the --help or -? option to obtain online assistance.
VS UNIVERSITY 33
Project Employee Leave Management System
SYSTEM DESIGN
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.
5.2 DFD’s
Administrator Employee
_details
Receive Report
Emp_id
Easy-Leave
Report
Details
Search
Details
Report
_id
Report
Search
_id
Search
Authenticati
on
VS UNIVERSITY 34
Project Employee Leave Management System
VS UNIVERSITY 35
Project Employee Leave Management System
VS UNIVERSITY 36
Project Employee Leave Management System
Home Page
Login Page
Add/Delete Dept
Add/Delete Employee
Leave Checking
Admin
Leave Sanction
Repor
Search Employee
Search Dept
VS UNIVERSITY 37
Project Employee Leave Management System
Home Page
Login Page
Change Password
Repor
Update Info
VS UNIVERSITY 38
Project Employee Leave Management System
ER Diagram
5.4 NORMALIZATION
VS UNIVERSITY 39
Project Employee Leave Management System
tables and minimizes the artificiality embedded in using separate files. The tables are
organized to:
Normalization
VS UNIVERSITY 40
Project Employee Leave Management System
Data Dictionary
admin
tbldepartments
VS UNIVERSITY 41
Project Employee Leave Management System
tblemployees
VS UNIVERSITY 42
Project Employee Leave Management System
tblleaves
VS UNIVERSITY 43
Project Employee Leave Management System
tblleavetype
VS UNIVERSITY 44
Project Employee Leave Management System
VS UNIVERSITY 45
Project Employee Leave Management System
OUTPUT SCREENS
VS UNIVERSITY 46
Project Employee Leave Management System
VS UNIVERSITY 47
Project Employee Leave Management System
VS UNIVERSITY 48
Project Employee Leave Management System
VS UNIVERSITY 49
Project Employee Leave Management System
VS UNIVERSITY 50
Project Employee Leave Management System
VS UNIVERSITY 51
Project Employee Leave Management System
VS UNIVERSITY 52
Project Employee Leave Management System
VS UNIVERSITY 53
Project Employee Leave Management System
DASHBOARD PAGE
VS UNIVERSITY 54
Project Employee Leave Management System
SYSTEM 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.
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:
VS UNIVERSITY 55
Project 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:
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
VS UNIVERSITY 56
Project Employee Leave Management System
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
VS UNIVERSITY 57
Project Employee Leave Management System
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:
VS UNIVERSITY 58
Project Employee Leave Management System
</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.
VS UNIVERSITY 59
Project Employee Leave Management System
9. BIBLIOGRAPHY
BIBLIOGRAPHY
Websites
•http://www.w3schools.com
•http://www.quibids.com
•http://www.ubid.com
•http://www.i-bidder.com
•http://www.redbid.com
VS UNIVERSITY 60