You are on page 1of 24

Department of Computer Science

Software Requirement Specification


Project Name: Employee Leave Management System

Submitted by: submitted to:


Shivani Chhipa Dr.OP Rishi Sir
MCA Vth sem

Leave management system


Page 1
S.no. Table of Contents Page No.
1. Interoduction 3-4
2 Purpose 5
3 Scope 6
4 Modules of project 7
5 System Specification 8
6 Front End, Back End 9
7. System Analysis 10-11
8 System design 12
8.1 Feasibility Study: 12-14
Economic, Technical, Behavior.
9 Data Flow Diagram 15-16
10 Use Case Diagram 17-18
11 ER Diagram 19
12 Testing: 20
Types of Testing
13 Reference 21

Leave management system


Page 2
1. 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.

Functional components of the project:

There are registered people in the system. Some are approvers. An approver can also be a
requestor. In an organization, the hierarchy could be Engineers/Managers/Business
Managers/Managing Director etc. In a college, it could be Lecturer/Professor/Head of the
Department/Dean/Principal etc.

Following is a list of functionalities of the system:

 A person should be able to


 login to the system through the first page of the application
 change the password after logging into the system
 see his/her eligibility details (like how many days of leave he/she is eligible for etc)
 query the leave balance
 see his/her leave history since the time he/she joined the company/college
 apply for leave, specifying the from and to dates, reason for taking leave, address for
communication while on leave and his/her superior’s email id
 see his/her current leave applications and the leave applications that are submitted to
him/her for approval or cancellation
 approve/reject the leave applications that are submitted to him/her
 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

Leave management system


Page 3
As soon as a leave application /cancellation request /withdrawal /approval /rejection /password-
change is made by the person, an automatic email should be sent to the person and his superior
giving details about the action

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.

EXISTING SYSTEM:
 All Work are done Manually.
 Cannot Upload and Download the latest updates.
 No use of Web Services and Remoting.
 Risk of mismanagement and of data when the project is under development.
 Less Security.
 No proper coordination between different Applications and Users. Fewer Users - Friendly.

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

 User friendliness is provided in the application with various controls.


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

Leave management system


Page 4
2. Purpose:-

 In this world of growing technologies everything has been computerized. With large number
of work opportunities the Human workforce has increased.
 Thus there is a need of a system which can handle the data of such a large number
of Employees. This project simplifies the task of maintaining records because of its user
friendly nature.
 The objective of this project is to provide a comprehensive approach towards
the management of employee information.
 This will be done by designing and implementing an HR management system that will bring
up a major paradigm shift in the way that employee information is handled.
 Well-designed database to store employee information.
 A user friendly front-end for the user to interact with the system.

Leave management system


Page 5
3. Scope:-
The Scope of the project is limited to several processes: handling of employee leave application,
managing leave balances, record management administration and leave management and it will
generate the report such as leave trends of the company, employee availability, employee leave
balance, leave rejection and leave acceptance.

The leave management system is designed in such a way that makes it possible to access it through
any web browser program.

The leave management system was designed, developed and implemented taking the distinction of
the leave of absence policies and type of leave and the system is exclusively designed and developed
for HR department in general and the employees leave records section in particular. The employee
leave section is solely responsible for keeping the leave and related records of employee and
keeping track of their information.

Leave management system


Page 6
4. MODULES
 Administration
 Employee
 Search
 Report
 Authentication

MODULE DESCRIPTION

Administrator:-
In this module the Administrator has the privileges to add all the Employees and register them in the
organization and check the information of the Employee and check the status of the leave when they
have taken and what type of leave they have taken and search is done based on the employee and
report is generated based on employee.

Search:-
This module contain complete search like Leave search, Type of Leave, Employee based on the leave
and starting and ending day of leave.

Employee:-
In this module employee has the privileges to use his username and password for login and he can
see the request given by the customer and he can pass the process to the Business Manager and
maintain the record of the customers.

Reports:-
This module contains all the information about the reports generated by the Employees based on
the Performance and by the leave status.

Authentication:-
This module contains all the information about the authenticated user. User without his username
and password can’t enter into the login if he is only the authenticated user then he can enter to his
login.

Leave management system


Page 7
5. System Specification:-

The Hardware used for the development of the project is:

 PROCESSOR: Intel(R) Core(TM) i3-7020U CPU @ 2.30 GHZ


 RAM:8.00GB

Software used for the development of the project is:-

 OPERATING SYSTEM:64-bit
 NETBEANS: Version 8.0.2
 LANGUAGE: Java
 BACKEND:MYSQL

Leave management system


Page 8
6. FRONT END - BACK END CONNECTIVITY:-
Java as Front end
• Java offers several benefits to the developer creating front end application for database
server.

• Java is platform independent language hence can be executed on architecture that support on
JVM.

• Java also reduces cost related to deployment & maintenance of hardware & software.

• Java base clients are think like that uses minimum hardware resources.

• There are big insentive to create java-based solution for corporate as shifting there
application across the architecture will not involve overhead or cost.

MySQL-Back end
Databases are the systems that contain many different objects used together to facilitate fast and
efficient access to the data.
MySQL is an application program interface form Microsoft that lets a programmer writing Windows
applications; get access to a relational as well as non-relational database from both Microsoft and
other database providers.

Setting up MySQL Control:


First step to use the MySQL in project is to add the MySQL Data Control to the form. The setting up
of MySQL Data Control involves first few steps:

1. Connecting to a data source and,


2. Specifying a command to gain access to the data source.
3. Executing the command.
4. Storing the rows in a cache i.e., the Record set.

Leave management system


Page 9
7. SYSTEM ANLAYSIS
STUDY OF THE SYSTEM
To provide flexibility to the users, the interfaces have been developed that are accessible through a
browser. The GUI’S at the top level have been categorized as

1. Administrative user interface

2. The operational or generic user interface

The ‘administrative user interface’ concentrates on the consistent information that is practically,
part of the organizational activities and which needs proper authentication for the data collection.
These interfaces help the administrators with all the transactional states like Data insertion, Data
deletion and Date updation along with the extensive data search capabilities.

The ‘operational or generic user interface’ helps the end users of the system in transactions through
the existing data and required services. The operational user interface also helps the ordinary users
in managing their own information in a customized manner as per the included flexibilities

INPUT & OUTPOUT REPRESENTETION


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

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

Leave management system


Page 10
 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.

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:

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

Leave management system


Page 11
SYSTEM ARCHITECTURE
Architecture flow:-

Below architecture diagram represents mainly flow of requests from users to database through
servers. In this scenario overall system is designed in three tires separately using three layers called
presentation layer, business logic layer and data link layer. This project was developed using 3-tire
architecture.

Business Logic Layer

Presentation Layer

Request Response

Data Link

Data Base

Leave management system


Page 12
8. System Design:-
Introduction:
Systems design is the process or art of defining the architecture,components, modules, interfaces,
and data for a system to satisfy specified requirements. One could see it as the application of
systems theory to product development. There is someoverlap and synergy with the disciplines of
systems analysis, systems architecture and systems engineering.

8.1 FEASIBILITY STUDY


Preliminary investigation examines project feasibility; the likelihood the system will be useful to the
organization. The main objective of the feasibility study is to test the Technical, Operational and
Economical feasibility for adding new modules and debugging old running system. All systems are
feasible if they are given unlimited resources and infinite time. There are aspects in the feasibility
study portion of the preliminary investigation:

 Technical Feasibility
 Operation Feasibility
 Economical Feasibility

TECHNICAL FEASIBILITY
The technical issue usually raised during the feasibility stage of the investigation includes the
following:

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


 Do the proposed equipments 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?

OPERATIONAL FEASIBILITY
Leave management system
Page 13
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

transactions based on the constraints. Theses forms and reports are generated as userfriendly 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
This software will be available always.

Maintainability
The system called the ewheelz uses the 2-tier architecture. The 1st tier is the GUI, which is said to be
front-end and the 2nd tier is the database, which uses My-Sql, which is the back-end.

The front-end can be run on different systems (clients). The database will be running at the server.
Users access these forms by using the user-ids and the passwords.

ECONOMIC FEASILITY
The computerized system takes care of the present existing system’s data flow and procedures
completely and should generate all the reports of the manual system besides a host of other
management reports.

It should be built as a web based application with separate web server and database server. This is
required as the activities are spread through out the organization customer

wants a centralized database. Further some of the linked transactions take place in different
locations.

Leave management system


Page 14
Open source software like TOMCAT, JAVA, Mysql and Linux is used to minimize the cost for the
Customer.

9. Data flow Diagram:-


Level 0

Notification

Leave management
system.

Apply for leave


Admin
Employee

Accept\Reject Validate
HOD

DFD
Leave management system
:- Page 15
Level 0 Data Flow Diagram
Level 1:-
Login For Leave
Application.

Check
Type of leave
Employee Fills
Fills the Form

Documents
Database Employee Fills

Granting the
Permission.
Check Request
HOD

Accept\Reject

Database HOD

Check Detail of
Employee.

Accept\Reject
Request
Admin
Update Records

Notification

Database Admin

Leave management system


Page 16
Level 1 Data Flow Diagram

Rejected\ Rejected\
Approval Approval
Head 0f Superintendent
Department

Component Diagram:-

Record Updating &


send SMS
Admin
Employee

Apply For Leave Database Server

Leave management system


Page 17
Home Page

Login page

Admin Home Page

10. Usecase Diagram:- Add\Delete Dept

Use case for Admin:- Add\Delete Employee

Add\Delete Leave

Leave Checking

Leave Section

Monthly Leave Trans

Employee Yearly Leave Trans

Leave management system


Page 18
Search Employee

Search Dept

Leave management system


Page 19
Use case for Employee:-

Home Page

Login Page

Employee Home Page

Change Own Info

Change Password

Employee Apply For Leave

Check Leave Status

Leave Sanction Status

Check Leave Type

Search Leave Type

Update Info

Leave management system


Page 20
11. ER Diagram:-
Login_role_id
# Login_id
Login_username

User_password
#Per-id
#user_id login Per_module
User_name

Per_desc
User_mobile
Permission

user_email User
Rep_name

Administration
user_address #Rep_id

Rep_desc

Rep_type
Report
Rep_date

Emp_add
manage

Emp_id
Lv_desc
Emp_mail Employee
Emp_password
Emp_name
Emp_mobile
leave
#lv_id Lv_type

Lv_emp_id
Lv_status

Leave management system


Page 21
12. INTRODUCTION TO TESTING
Testing is a process, which reveals errors in the program. It is the major quality measure employed
during software development. During software development. During testing, the program is
executed with a set of test cases and the output of the program for the test cases is evaluated to
determine if the program is performing as it is expected to perform.

TESTING IN STRATEGIES
In order to make sure that the system does not have errors, the different levels of testing
strategies that are applied at differing phases of software development are:

Unit Testing:
Unit Testing is done on individual modules as they are completed and become executable. It is
confined only to the designer's requirements.

Each module can be tested using the following two Strategies:

Black Box Testing:


In this strategy some test cases are generated as input conditions that fully execute all functional
requirements for the program. This testing has been uses to find errors in the following categories:

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 :

Leave management system


Page 22
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.

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

Leave management system


Page 23
Leave management system
Page 24

You might also like