You are on page 1of 49

Visvesvaraya Technological University

“Jnana Sangama”, Belagavi – 590018.

Internship Report on

“Employee Leave Management System”


Submitted in partial fulfilment for the award of Degree of
Bachelor of Engineering
Submitted By

V.SHARAVANI [1VE15CS118]
Under the Guidance
Of

Internal guide External guide


Mrs. ARCHANA.M Mr. PRAKHAR G
Assistant Professor, Software Developer
Dept. of CSE Evolet Technologies
SVCE, Bengaluru Bengaluru

Carried out at Evolet Technologies (NASSCOM)


Bangalore

Department of Computer Science & engineering


Sri Venkateshwara College of Engineering
Bengaluru-562157
2019-20
Sri Venkateshwara College of Engineering,
Bengaluru-562157
Department of Computer Science & Engineering

CERTIFICATE
This is to Certify that the Internship work prescribed by the Visvesvaraya
Technological University, Belagavi entitled “Employee leave management
system” was carried out at Evolet Technologies (NASSCOM), Bengaluru by
V.SHARAVANI [1VE15CS118] is a bonafide student of VII Semester,
Computer Science & Engineering, Sri Venkateshwara College of
Engineering.
This is in partial fulfilment for the award of Bachelor of Engineering in the
Visvesvaraya Technological University, Belagavi during the academic year
2019-2020. It is certified that all corrections/suggestions indicated for
internship work internal assessment have been incorporated in the report. The
internship report has been approved as it satisfies the academic requirements in
the respect of internship work prescribed for the said degree.

Mrs. Archana.M Dr. S.C Lingareddy Dr.Suresha Principal


Asst. Prof. Dept. of CSE, Prof. & Head SVCE,
SVCE, Dept. of CSE, SVCE, Bangaluru
Bangaluru Bangaluru

Name of the Examiners Signature with Date


1.
2.
ACKNOWLEDGEMENT

The satisfaction that accompanies that the successful completion of any task would be
incomplete without the mention of the people whose ceaseless cooperation made it possible,
whose constant guidance and encouragement crown all efforts with success.

My sincere thanks to highly esteemed institution SRI VENKATESHWARA COLLEGE


OF ENGINEERING for grooming up my skills.

I express my sincere gratitude to Dr. SURESHA , Principal, SVCE, Bengaluru for providing
the required facility.

I am extremely thankful to Dr. S C LINGA REDDY, HOD of CSE, SVCE, Bengaluru for
providing support and encouragement.

I am grateful to Mrs.ARCHANA.M, Asst. Professor, Dept. of CSE, SVCE, Bengaluru who


helped me to complete this project successfully by providing guidance, encouragement and
valuable suggestion during entire period of the project.

I would also like to express my deep sense of gratitude to Mr.Prakar, Evolet Technologies,
Bengaluru, for her valuable suggestions and encouragement in bringing out our project in
right direction.

V.SHARAVANI [1VE15CS118]
ABSTRACT

The purpose of Employee Leave Management System is to automate the existing


manual system by the help of computerized equipments and full-fledged computer software,
fulfilling their requirements, so that their valuable data/information can be stored for a longer
period with easy accessing and manipulation of the same. The required software and
hardware are easily available and easy to work with.Employee Leave Management System,
as described above, can lead to error free, secure, reliable and fast management system. It can
assist the user to concentrate on their other activities rather to concentrate on the record
keeping. Thus it will help organization in better utilization of resources. The organization can
maintain computerized records without redundant entries. That means that one need not be
distracted by information that is not relevant, while being able to reach the information.
COMPANY PROFILE

Introduction
Evolet Technologies is a global IT solutions company in Bangalore and Coimbatore. These
company provides a full cycle customized end to end web solution that incorporates software
development, web designing, web development, SEO (Search Engine Optimization), digital
marketing and diverse software services to our customers.

These company provide end to end services in the areas of software development, web
designing, web development, SEO – Search Engine Optimization and other Software training
solutions and services. With our industry experience and technical expertise the company
offer quality driven delivery model that is progressive in nature. These company take full
advantage of the web and make it work for us.

Team Tests
These are specially designed to provide assistance in the process of evaluating individual
performance of each team member working at Evolet Technologies. Various talents and skills
of each team member are analysed through adaptive online talent tests (yTests). The test
scores provide a blueprint of a team member’s thinking ability, presence of mind, time
management skills as well the ability to perform optimally under pressures. The psychometric
test helps the members in self-retrospection and the analysis can be used to shape better
working.

Services
IT, Software Services, Mobile App development,Python, Web designing, Web development,
Digital Marketing, Product development and services.
CONTENTS
Chapter no. Page no.
1. Introduction 1
1.1 : Introduction 1
1.2 : Objectives 2
2. Python 3
3. Software and Hardware Requirements 8
3.3 : Software Requirements 8
3.4 Hardware Requirements 8
4. Design 9
4.1 :System Design 9
4.2 : Flow Chart 11
4.3: UML 14
4.2 : Notation and meta models 14
4.3 : PERT Chart 15
4.4 : GANTT Chart 16
5. Implementation 18
5.1 : Technical Design 18
5.2 : Test specification and planning 18
5.3 : Programming and testing 18
5.4 : User training 18
5.5 : Acceptance test 18
5.6 : Installation phase 18
5.7 : System installation 19
5.8 : Review Phase 19
5.9 : Development recap 19
5.10 : Post implementation review 19
5.11 : Source Code 19
6. Testing 27
7. Snapshot 30
8. Conclusion 40
9. Future Scope of the project 41
References 42
Employee Leave Management System

CHAPTER 1

INTRODUCTION

The "Employee Leave Management System" has been developed to override the problems
prevailing in the practicing manual system. This software is supported to eliminate and in some
cases reduce the hardships faced by this existing system. Moreover this system is designed for the
particular need of the company to carry out operations in a smooth and effective manner.

The application is reduced as much as possible to avoid errors while entering the data. It also
provides error message while entering invalid data. No formal knowledge is needed for the user to
use this system. Thus by this all it proves it is user-friendly. Employee Leave Management System ,
as described above, can lead to error free, secure, reliable and fast management system. It can assist
the user to concentrate on their other activities rather to concentrate on the record keeping. Thus it
will help organization in better utilization of resources.

Every organization, whether big or small, has challenges to overcome and managing the information
of Leave, Employee, Payroll, Leave Type, Salary. Every Employee Leave Management System has
different Employee needs, therefore we design exclusive employee management systems that are
adapted to your managerial requirements. This is designed to assist in strategic planning, and will
help you ensure that your organization is equipped with the right level of information and details for
your future goals. Also, for those busy executive who are always on the go, our systems come with
remote access features, which will allow you to manage your workforce anytime, at all times. These
systems will ultimately allow you to better manage resources.

DEPT OF CSE,SVCE 2019-2020 Page1


1.2 OBJECTIVES

 To understand the fundamentals of the Project on Employee Leave Management System is to


manage the details of Employee, Leave, Company, Payroll, Salary.
 To manages all the information about Employee, Leave Type, Salary, Employee. The project
is totally built at administrative end and thus only the administrator is guaranteed the access.
 To understand the purpose of the project that is to build an application program to reduce the
manual work for managing the Employee, Leave, Leave Type, Company and to tracks all the
details about the Company, Payroll, Salary.

CHAPTER-2

PYTHON
2.1 Introduction to python

Python is a high-level, interpreted, interactive and object-oriented scripting language. Python is


designed to be highly readable. It is a dynamic scripting language similar to Perl and Ruby. The
principal author of Python is Guido van Rossum. Python supports dynamic typing and has a garbage
collector for automatic memory management. Another important feature of Python is dynamic name
solution which binds the names of functions and variables during execution .Python supports the
multiple programming paradigms, including object-oriented, imperative and functional
programming or procedural styles. It features a dynamic types system and automatic memory
management and has a large and comprehensive standard library. Python interpreters are available
for installation on any operating systems, allowing Python code execution on a wide variety of
systems.

2.2 History

Python was conceived in the late 1980s, and its implementation was started in December 1989 by
Guido van Rossum at CWI in the Netherlands as a successor to the ABC language (itself inspired by
SETL) capable of exception handling and interfacing with the Amoeba operating system. Van
Rossum is Python's principal author, and his continuing central role in deciding the direction of
Python is reflected in the title given to him by the Python community, benevolent dictator for life
(BDFL).
2.3 Datatype and Variable

2.3.1 Data type:

Data types determines whether an object can do something or whether it just would not make sense.
Other programming languages often determine whether an operation makes sense for an object by
making sure the object can never be stored somewhere where the operation will be performed on the
object. Python does not do that instead it stores the type of an object with the object, and checks
when the operation is performed whether that operation makes sense for that object. python has
many native data types. Here are the important ones:

 Booleans are either True or False.


 Numbers can be integers (1 and 2), floats (1.1 and 1.2), fraction (1/2 and 2/3), or even complex
numbers.

 Strings are sequence of Unicode characters, e.g an HTML document.

 Lists are the ordered sequence of values.

 Tuples are ordered, immutable sequence of values.

2.3.2 Variables:

Variables are nothing but reversed memory location to store values. This means that when you
create a variable you reverse some space in memory. By signing different data types to variables,
you can store integers, decimals or characters in these variables .variable names can be arbitrarily
long. They can contain both letters and numbers, but they cannot start with a number. It is legal to
use uppercase letters, but it is a good idea to begin variable with a lower case letters. The underscore
can appear in the name. It is often used in names with multiple words such as my _name so on.

Examples:

 counter=100 #An integer assignment

 miles=1000.0 #A floating point

2.3.3 String:

A String is a sequence of characters. you can access the characters one at a time with the bracket
operator

>>> fruit='banana'

>>>letter=fruit[1]

>>>print(letter)

The second statement extracts the character at index position 1 from the fruit variable and assigns it
to the letter variable.

The letter in the bracket is called an index. The index indicates which character in the sequence you
want.

String slices: A segment of a string is called a slice. Selecting a slice is similar to selecting a character.
>>>s='Monty Python'

>>>print(s[0:5])
Monty

2.4 Tuples:

A tuple is a sequence of immutable python objects. Tuples are sequences, just like lists. The
differences between tuples and lists are, the tuples cannot be changed unlike lists and tuples use
parenthesis, whereas lists use square brackets .Creating a tuple is as simple as putting different
comma
– separated values. Optionally you can put these comma- separated values between parenthesis also.

Tup1=(‘physics’,’chemistry’,1997,2000);

Tup2=(1,2,3,4,5)

2.4.1 Accessing values in tuples:

To access values in tuples, use the square brackets for slicing along with the index or indices to
obtain value variable at that index.

Tup1=(‘physics’,’chemistry’,1997,2000);

Tup2=(1,2,3,4,5)

Print”tup1[0]”,tup1[0]

Print”tup2[1.5]”,tup2[1.5]

2.5 List:

The list is the most versatile datatype available in python which can be written as a list of comma-
separated values between square brackets. Important things about a list is that items in a list need not
be of the same type.

2.5.1 Accessing values in lists:

To access values in lists, use the square brackets for slicing along with the index or indices to obtain
value available at the index.
2.6 File handling in python:

Python to support file handling and allows users to handle files to read and write files, along with
many other file handling options, to operate on files. The concept of file handling has stretched over
various other languages, but the implementation is either complicated or lengthy, but alike other
concepts of python. Python treats file differently as text or binary and this is important. Each line of
code includes a sequence of characters and they form text file. Each line of a file is terminated with
a special character called the EOL or end of line character like comma{,} or new line character. It
ends the current line and tells the interpreter a new one has begun. We use open function in python
to open a file in a read or write mode. As explained above, open() will return a file object. To return
a file object, we use open() function along with two arguments that accepts file name and the mode,
whether to read or write. So the syntax being :open(filename,model). There are three kinds of mode.

 “r” for reading


 “w” for writing
 “a” for appending
 “r+” for both reading and writing

2.7 Advantages

1. Presence of Third Party Modules: The Python Package Index (PyPI) contains numerous third-
party modules that make Python capable of interacting with most of the other languages and
platforms.

2. Extensive Support Libraries: Python provides a large standard library which includes areas like
internet protocols, string operations, web services tools and operating system interfaces.

3. Open Source and Community Development: Python language is developed under an OSI-
approved open source license, which makes it free to use and distribute, including for
commercial purpose
2.8 Application

1. GUI-Based Desktop Applications: Python has simple syntax, modular architecture, rich text
processing tools and the ability to work on multiple operating systems which make it a
desirable choice for .

2. Web Frameworks and Web Applications: Python has been used to create a variety of web-
frameworks including CherryPy, Django, TurboGears, Bottle, Flask etc. ...
CHAPTER -3

SOFTWARE REQIREMENTS AND HARDWARE

REQUIREMENTS

3.1 Software Requirements:

Name of component Specification

Operating System Windows 98, Windows XP, Windows7, Linux

Language Python Runtime Environment

Database MySQL Server

Browser Any of Mozilla, Opera, Chrome etc

Web Server Python

Software Development Kit Python or Above

Scripting Language Enable Django (Python Server Pages)

Database JDBC Driver MySQL Jconnector

3.2 Hardware Requirements:

Name of component Specification

Processor Pentium III 630MHz

RAM 128 MB

Hard disk 20 GB

Monitor 15” color monitor

Keyboard 122 keys


CHAPTER 4

DESIGN

4.1 System Design of Employee Leave Management System

In this phase, a logical system is built which fulfils the given requirements. Design phase of
software development deals with transforming the clients’s requirements into a logically working
system. Normally, design is performed in the following in the following two steps:

1. Primary Design Phase:


In this phase, the system is designed at block level. The blocks are created on the basis of
analysis done in the problem identification phase. Different blocks are created for different
functions emphasis is put on minimising the information flow between blocks. Thus, all
activities which require more interaction are kept in one block.
2. Secondary Design Phase:
In the secondary phase the detailed design of every block is performed.

The general tasks involved in the design process are the following:

1. Design various blocks for overall system processes.


2. Design smaller, compact and workable modules in each block.
3. Design various database structures.
4. Specify details of programs to achieve desired functionality.
5. Design the form of inputs, and outputs of the system.
6. Perform documentation of the design.
7. System reviews.
Project Category

Relational Database Management System (RDBMS) : This is an RDBMS based project which is
currently using MySQL for all the transaction statements. MySQL is an opensource RDBMS
System.

Brief Introduction about RDBSM :

A relational database management system (RDBMS) is a database management system (DBMS)


that is based on the relational model as invented by E. F. Codd, of IBM's San Jose Research
Laboratory. Many popular databases currently in use are based on the relational database model.

RDBMSs have become a predominant choice for the storage of information in new databases used
for financial records, manufacturing and logistical information, personnel data, and much more since
the 1980s. Relational databases have often replaced legacy hierarchical databases and network
databases because they are easier to understand and use. However, relational databases have been
challenged by object databases, which were introduced in an attempt to address the object-relational
impedance mismatch in relational database, and XML databases.
4.2 Flow Diagrams

MVC (Model View Controller Flow) Diagram

Project Planning:

Software project plan can be viewed as the following:

1) Within the organization: How the project is to be implemented? What are various
constraints (time, cost, staff)? What is market strategy?

2) With respect to the customer: Weekly or timely meetings with the customer with
presentation on status reports. Customers feedback is also taken and further modification and
developments are done. Project milestones and deliverables are also presented to the
customer.
For a successful software project, the following steps can be followed:

 Select a project
o Identifying project’s aims and objectives
o Understanding requirements and specification
o Methods of analysis, design and implementation
o Testing techniques
o Documentation

 Project milestones and deliverables

 Budget allocation
o Exceeding limits within control

 Project Estimates
o Cost
o Time
o Size of code
o Duration

 Resource Allocation
o Hardware
o Software
o Previous relevant project information
o Digital Library

 Risk Management
o Risk avoidance
o Risk detection
Project Scheduling:

An elementary Gantt chart or Timeline chart for the development plan is given below. The plan
explains the tasks versus the time (in weeks) they will take to complete.

January February March

Requirement Gathering

Analysis

Design

Coding

Testing

Implement

W1 W2 W3 W4 W1 W2 W3 W4 W1 W2 W3 W4

Wi‘s are weeks of the months, for i =1, 2, 3, 4


4.3 UML
UML stands for Unified Modeling Language is the successor to the wave of Object Oriented
Analysis and Design (OOA&D) methods that appeared in the late 80’s. It most directly unifies the
methods of Booch, Rumbaugh (OMT) and Jacobson. The UML is called a modeling language, not a
method. Most methods consist at least in principle, of both a modeling language and a process. The
Modeling language is that notation that methods used to express design.

4.4 Notations and meta-models:

The notation is the graphical stuff; it is the syntax of the modeling language. For instance, class
diagram notation defines how items are concepts such as class, association, and multiplicity is
represented. These are:

Class Diagram: The class diagram technique has become truly central within object-oriented
methods. Virtually every method has included some variation on this technique. Class diagram is
also subject to the greatest range of modeling concept. Although the basic elements are needed by
everyone, advanced concepts are used less often. A class diagram describes the types of objects in
the system and the various kinds of static relationship that exist among them. There are two
principal kinds of static relationship:

 Association
 Subtype
Class diagram also show the attributes and operations of a class and the constraints that apply to the
way objects are connected.

Association: Association represent between instances of class. From the conceptual perspective,
association represents conceptual relations between classes. Each association has two roles. Each
role is a direction on the association. A role also has multiplicity, which is a indication of how many
object may participate in the given relationship.

Generalization: A typical example of generalization evolves the personal and corporate customer
of a business. They have differences but also many similarity. The similarities can be placed in
generalization with personal customer and corporate customer sub type.
Aggregation: aggregation is the part of relationship. It is like saying a car has engine and wheels
as its parts. This sounds good, but difficult thing is considering, what is the difference is aggregation
and association.

Interaction: interaction diagrams are models that describes how groups of objects collaboration in
some behavior.

Typically, an interaction diagram captures the behavior a single use cases. The diagram
shows a number of example objects and the messages that are passed between these objects in use
cases. These are following approaches with simple use case that exhibits the following behavior.

Objects can send a message to another. Each message is checks with given stock item. There
are two diagrams: Sequence and Collaboration diagram.

Package Diagram: One of the oldest questions in software methods is: how do you break down
a large system into smaller systems? It becomes difficult to understand and the changes we make to

them3.3

4.4 PERT CHART (Program Evaluation Review Technique)

PERT chart is organized for events, activities or tasks. It is a scheduling device that shows
graphically the order of the tasks to be performed. It enables the calculation of the critical path. The
time and cost associated along a path is calculated and the path requires the greatest amount of
elapsed time in critical path.

Design Database Code database

Integrate and Test

Specification Design GUI part Code GUI Part

Implementation
Write User Manual
4.6 GANTT CHART

It is also known as Bar chart is used exclusively for scheduling purpose. It is a project controlling
technique. It is used for scheduling. Budgeting and resourcing planning. A Gantt is a bar chart with
each bar representing activity. The bars are drawn against a time line. The length of time planned
for the activity. The Gantt chart in the figure shows the Gray parts is slack time that is the latest by
which a task has been finished.

1-19 MAY 10 20-3 JUNE 10 6-25 JUNE 10 26-15 JULY 10 JULY 16 AUG 31

Specification

Design Database Part

Design GUI Modulation

CODE DATABASE
PART

CODE GUI BLACK BOX TESTING

INTEGRATE AND TEST

IMPLEMENTATION

WRITE USER MANUAL

GANTT CHART REPRESENTATION


Use Case Model of the Project:

The use case model for any system consists of “use cases”. Use cases represent different
ways in which the system can be used by the user. A simple way to find all the use case of a system
is to ask the questions “What the user can do using the system?” The use cases partition the system
behavior into transactions such that each transaction performs some useful action from the users’
point of view.

The purpose of the use case to define a piece of coherent behavior without reveling the
internal structure of the system. An use case typically represents a sequence of interaction between
the user and the system. These interactions consists of one main line sequence is represent the
normal interaction between the user and the system. The use case model is an important analysis and
design artifact (task).Use cases can be represented by drawing a use case diagram and writing an
accompany text elaborating the drawing.

In the use case diagram each use case is represented by an ellipse with the name of use case
written inside the ellipse. All the ellipses of the system are enclosed with in a rectangle which
represents the system boundary. The name of the system being moduled appears inside the
rectangle. The different users of the system are represented by using stick person icon. The stick
person icon is normally referred to as an Actor. The line connecting the actor and the use cases is
called the communication relationship. When a stick person icon represents an external system it is
annotated by the stereo type<<external system>>.
CHAPTER 5

IMPLEMENTATION

This phase of the systems development life cycle refines hardware and software specifications,
establishes programming plans, trains users and implements extensive testing procedures, to
evaluate design and operating specifications and/or provide the basis for further modification.

5.1 Technical Design

This activity builds upon specifications produced during new system design, adding detailed
technical specifications and documentation.

5.2 Test Specifications and Planning

This activity prepares detailed test specifications for individual modules and programs, job streams,
subsystems, and for the system as a whole.

5.3 Programming and Testing

This activity encompasses actual development, writing, and testing of program units or modules.

5.4 User Training

This activity encompasses writing user procedure manuals, preparation of user training materials,
conducting training programs, and testing procedures.

5.5 Acceptance Test

A final procedural review to demonstrate a system and secure user approval before a system becomes
operational.

5.6 Installation Phase

In this phase the new Computerized system is installed, the conversion to new procedures is fully
implemented, and the potential of the new system is explored.
5.7 System Installation

The process of starting the actual use of a system and training user personnel in its operation.

5.8 Review Phase

This phase evaluates the successes and failures during a systems development project, and to
measure the results of a new Computerized Transystem in terms of benefits and savings projected at
the start of the project.

5.9 Development Recap

A review of a project immediately after completion to find successes and potential problems in
future work.

5.10 Post-Implementation Review

A review, conducted after a new system has been in operation for some time, to evaluate actual
system performance against original expectations and projections for cost-benefit improvements.
Also identifies maintenance projects to enhance or improve the system.

5.11 SOURCE CODE

Code of the Project

from django.conf.urls import url

from . import views

urlpatterns = [

url(r'^$', views.index, name="login"),

url(r'^employee-record$', views.employeelisting,

name="employeelisting"), url(r'^employee-add$', views.add, name="add"),


url(r'^update/(?P<employeeId>\w{0,50})/$', views.update, name="update"),

url(r'^delete/(?P<id>\w{0,50})/$', views.delete, name="delete"),

from django.shortcuts import render,

redirect from django.http import

HttpResponse

from django.conf import settings

from django.db import connection

from django.contrib import messages

# Create your views here.

def index(request):

return render(request,'login.html')

# Create your views here.

def employeelisting(request):

cursor = connection.cursor()

cursor.execute(

"SELECT * FROM employee_employee")

employeelist = dictfetchall(cursor)

context = {

"employeelist": employeelist

context['heading'] = "All Employee Record";


return render(request,'employee-record.html', context)

def getData(id):

cursor = connection.cursor()

cursor.execute("SELECT * FROM employee_employee WHERE employee_id = " + id)

dataList = dictfetchall(cursor)

return dataList[0];

def dictfetchall(cursor):

"Return all rows from a cursor as a dict"

columns = [col[0] for col in cursor.description]

return [

dict(zip(columns, row))

for row in cursor.fetchall()

def update(request, employeeId):

context = {

"fn": "update",

"employeedetails": getData(employeeId),

"heading": 'Employee Update',

if (request.method == "POST"):

cursor = connection.cursor()

cursor.execute("""

UPDATE employee_employee
SET employee_user=%s, employee_password=%s, employee_first_name=%s,
employee_middle_name=%s,

employee_last_name=%s, employee_gender=%s, employee_address=%s,


employee_village=%s, employee_mobil

employee_email=%s, employee_dob=%s, employee_nationalty=%s

WHERE employee_id=%s""", (

request.POST['employee_user'],

request.POST['employee_password'],

request.POST['employee_first_name'],

request.POST['employee_middle_name'],

request.POST['employee_last_name'],

request.POST['employee_gender'],

request.POST['employee_address'],

request.POST['employee_village'],

request.POST['employee_mobile'],

request.POST['employee_email'],

request.POST['employee_dob'],

request.POST['employee_nationalty'],

employeeId

))

context["employeedetails"] = getData(employeeId)

messages.add_message(request, messages.INFO, "Employee updated succesfully !!!")

return redirect('employeelisting')
else:

return render(request, 'employee-add.html', context)

def add(request):

context = {

"fn": "add",

"heading": 'Add Employee'

};

if (request.method == "POST"):

cursor = connection.cursor()

cursor.execute("""

INSERT INTO employee_employee

SET employee_user=%s, employee_password=%s, employee_first_name=%s,


employee_middle_name=%s,

employee_last_name=%s, employee_gender=%s, employee_address=%s,


employee_village=%s, employee_mobile=%s,

employee_email=%s, employee_dob=%s, employee_nationalty=%s

""", (

request.POST['employee_user'],

request.POST['employee_password'],

request.POST['employee_first_name'],

request.POST['employee_middle_name'],

request.POST['employee_last_name'],

request.POST['employee_gender'],
request.POST['employee_address'],

request.POST['employee_village'],

request.POST['employee_mobile'],

request.POST['employee_email'],

request.POST['employee_dob'],

request.POST['employee_nationalty']))

return redirect('employeelisting')

return render(request, 'employee-add.html', context)

def delete(request, id):

cursor = connection.cursor()

return render(request,'login.html', context)

if(getUser.user_password == request.POST['password']):

request.session['authenticated'] = True

request.session['user_id'] = getUser.user_id

request.session['user_name'] = getUser.user_name

return redirect('/users/dashboard')

else:

context['message'] = "Wrong Password"

context['error'] = True

return render(request,'login.html', context)

else:

return render(request,'login.html', context)


def dictfetchall(cursor):

"Return all rows from a cursor as a dict"

columns = [col[0] for col in cursor.description]

return [

dict(zip(columns, row))

for row in cursor.fetchall()

def listing(request):

return render(request,'dashboard.html')

def forgot(request):

return render(request,'forgotpass.html')

def logout(request):

request.session['authenticated']= False

request.session['user_id'] = False

request.session['user_name']= False

return redirect('/')

def changepassword(request):

if (request.method == "POST"):

try:

addUser = user(

user_id = request.session.get('user_id', None),

user_password = request.POST['user_new_password']
)

addUser.save(update_fields=["user_password"])

except Exception, e:

return HttpResponse('Something went wrong. Error Message : '+ str(e))

messages.add_message(request, messages.INFO, "Your Password has been changed


successfully !!!")

return render(request,'change-password.html'

else:

return render(request,'change-password.html')

return render(request,'change-password.html')
CHAPTER 6

SOFTWARE TESTING

6.1 Software Testing

The steps involved during Unit testing are as follows:

a. Preparation of the test cases.


b. Preparation of the possible test data with all the validation checks.
c. Complete code review of the module.
d. Actual testing done manually.
e. Modifications done for the errors found during testing.
f. Prepared the test result scripts.

6.2 Unit Testing

The unit testing done included the testing of the following items:

1. Functionality of the entire module/forms.


2. Validations for user input.
3. Checking of the Coding standards to be maintained during coding.
4. Testing the module with all the possible test data.
5. Testing of the functionality involving all type of calculations etc.
6. Commenting standard in the source files.

After completing the Unit testing of all the modules, the whole system is integrated with all its
dependencies in that module. While System Integration, We integrated the modules one by one and
tested the system at each step. This helped in reduction of errors at the time of the system testing.

6.3 System Testing

The steps involved during System testing are as follows:

 Integration of all the modules/forms in the system.


 Preparation of the test cases.
 Preparation of the possible test data with all the validation checks.
 Actual testing done manually.
 Recording of all the reproduced errors.
 Modifications done for the errors found during testing.
 Prepared the test result scripts after rectification of the errors.

The System Testing done included the testing of the following items:

1. Functionality of the entire system as a whole.


2. User Interface of the system.
3. Testing the dependent modules together with all the possible test data scripts.
4. Verification and Validation testing.
5. Testing the reports with all its functionality.

After the completion of system testing, the next following phase was the Acceptance Testing.
Clients at their end did this and accepted the system with appreciation. Thus, we reached the final
phase of the project delivery.

There are other six tests, which fall under special category. They are described
below:

 Peak Load Test: It determines whether the system will handle the volume of activities that occur
when the system is at the peak of its processing demand. For example, test the system by
activating all terminals at the same time.
 Storage Testing: It determines the capacity of the system to store transaction data on a disk or in
other files.
 Performance Time Testing: it determines the length of time system used by the system to process
transaction data. This test is conducted prior to implementation to determine how long it takes to
get a response to an inquiry, make a backup copy of a file, or send a transmission and get a
response.
 Recovery Testing: This testing determines the ability of user to recover data or re-start system
after failure. For example, load backup copy of data and resume processing without data or
integrity loss.
 Procedure Testing: It determines the clarity of documentation on operation and uses of system by
having users do exactly what manuals request. For example, powering down system at the end of
week or responding to paper-out light on printer.
 Human Factors Testing: It determines how users will use the system when processing data or
preparing reports.
CHAPTER 7

SNAPSHOTS
Home Page:
Home page is the main page for this Employee leave management .It is the start page shown when
the application starts up.

Fig6.1 Home Page Screen


About Project Screen:
It specifics the information about the goal, attitude and aspects of culture
that aren’t strictly tied to the management.

Fig 6.2 About Project Screen


Contact page:
This enable the visitor to contact the site owner or to ensure the responsible for the maintenance of
the site.

Fig 6.3 Contact Screen


Login Page:
It is a set of credentials used to authenticate a user. Most often, these consist of a username and
password.

Fig 6.4 Login Screen


Dashboard Screen:
It is often displayed on a web page which is linked to a database that allows the report to be
constantly updated

Fig 6.5 Dashboard Screen


Change Password Screen:
This page is used to change the password of the user.

Fig 6.6 Change Password Screen


Employee Add Leave Screen:
This page is used to add the information about leave taken by the user or the employee.

Fig 6.7 Employee Add Leave Screen


Fig 6.8 Employee Add Screen
Employee Leave Report:
Maintains a information about the employee leave and the employee who has visited the page .

Fig 6.9 Employee Leave Report Screen


Employee Leave Management System

Fig 6.10 Employee Listing Screen

DEPT OF CSE,SVCE 2019-2020 Page39


CONCLUSION

Conclusion of the Project Employee Leave Management System:

Our project is only a humble venture to satisfy the needs to manage their project work.
Several user friendly coding have also adopted. This package shall prove to be a powerful package
in satisfying all the requirements of the school. The objective of software planning is to provide a
frame work that enables the manger to make reasonable estimates made within a limited time frame
at the beginning of the software project and should be updated regularly as the project progresses.

At the end it is concluded that we have made effort on following points…

 A description of the background and context of the project and its relation to work already
done in the area.
 Made statement of the aims and objectives of the project.
 The description of Purpose, Scope, and applicability.
 We define the problem on which we are working in the project.
 We describe the requirement Specifications of the system and the actions that can be done on
these things.
 We understand the problem domain and produce a model of the system, which describes
operations that can be performed on the system.
 We included features and operations in detail, including screen layouts.
 We designed user interface and security issues related to system.
 Finally the system is implemented and tested according to test cases.
FUTURE SCOPE OF THE PROJECT:

In a nutshell, it can be summarized that the future scope of the project circles around
maintaining information regarding:
 We can add printer in future.
 We can give more advance software for Employee Leave Management System including
more facilities
 We will host the platform on online servers to make it accessible worldwide
 Integrate multiple load balancers to distribute the loads of the system
 Create the master and slave database structure to reduce the overload of the database queries
 Implement the backup mechanism for taking backup of codebase and database on regular
basis on different servers
The above mentioned points are the enhancements which can be done to increase the
applicability and usage of this project. Here we can maintain the records of Employee and Leave.
Also, as it can be seen that now-a-days the players are versatile, i.e. so there is a scope for
introducing a method to maintain the Employee Leave Management System. Enhancements can be
done to maintain all the Employee, Leave, Company, Payroll, Salary.
We have left all the options open so that if there is any other future requirement in the system
by the user for the enhancement of the system then it is possible to implement them.In the last we
would like to thanks all the persons involved in the development of the system directly or indirectly.
We hope that the project will serve its purpose for which it is develop there by underlining success
of process.
REFERENCES
 Google for problem solving
 http://www.pythonworld.com/pythonworld/jw-01-1998/jw-01-Credentialreview.html
 Database Programming with JDBC and Python by O'Reilly
 Head First Python
 http://www.jdbc-tutorial.com/
 Python and Software Design Concepts by Apress
 https://www.tutorialspoint.com/python/
 http://www.pythontpoint.com/python-tutorial
 https://docs.oracle.com/javase/tutorial/
 http://www.wampserver.com/en/
 http://www.Django.net/
 http://www.tutorialspoint.com/mysql/
 httpd.apache.org/docs/2.0/misc/tutorials.html

You might also like