Ems Project Report
Ems Project Report
Ems Project Report
A PROJECT REPORT
Submitted by
MOHANA PRIYA S (1613044)
AJITHA P (1613003)
DINESH KUMAR S (1613017)
DINESH PAUL G (1613019)
of
BACHELOR OF ENGINEERING
in
TIRUCHENGODE-637 215
MARCH-2019
1
K.S.R. COLLEGE OF ENGINEERING
TIRUCHENGODE – 637215
ANNA UNIVERSITY, CHENNAI-600025
BONAFIDE CERTIFICATE
Certified that this project report “EMPLOYEE MANAGEMENT
SYSTEM” is the bonafide work of “MOHANAPRIYA S
(1613044),AJITHA P (1613003), DINESH KUMAR S(1613017) and
DINESH PAUL G(1613019)”whocarried out the project work under my
supervision.
SIGNATURE SIGNATURE
Dr. A. RAJIV KANNAN M.E., Ph.D., Dr.E. BABY ANITHA,M.E.,Ph.D,
HEAD OF THE DEPARTMENT SUPERVISOR
Professor Professor
Department of CSE Department of CSE
K.S.R College of Engineering, K.S.R College of Engineering,
(Autonomous) (Autonomous)
Tiruchengode - 637215. Tiruchengode - 637215.
-----------------------------------------------------------------------------------------------------
Submitted for Project viva-voce held on ……………
2
ACKNOWLEDGEMENT
We feel highly honoured to extend our sincere gratitude to our beloved
Founder cum Chairman, Lion Dr. K.S. RANGASAMY, MJF, K.S.R
Educational Institutions and our Chairman cum Managing Trustee Mr. R.
SRINIVASAN, BBM, MISTE., for providing all facilities to complete this
project work.
We would like to acknowledge the constant and kind support provided
by our Principal Dr. P. SENTHILKUMAR, M.E., Ph.D.(IITM), who
supported us in all the endeavours and been responsible for inculcating us all
through our career.
3
ABSTRACT
4
CONTENTS
SYNOPSIS PAGE NO
1 INTRODUCTION
1.1 PROJECT DESCRIPTION 7
2 SYSTEM ANALYSIS 8
2.1 EXISTING SYSTEM 8
2.2 DRAWBACKS OF EXISTING SYSTEM 8
2.3 PROPOSED SYSTEM 8
2.4 ADVANTAGES OF PROPOSED SYSTEM 8
3 SYSTEM REQUIREMENTS 9
3.1 HARDWARE REQUIREMENTS 9
3.2 SOFTWARE REQUIREMENTS 9
4 DESIGN 10
4.1USE CASE DIAGRAM 10
4.2REGISTER 11
4.3 ACTIVITY DIAGRAM 12
4.4 INVALID USERNAME/ PASSWORD 13
4.5 REGISTRATION 13
4.6 ADMIN APPROVAL 14
4.7 SOFTWARE REQUIREMENT 15
5
5 TESTING AND IMPLEMENTATION20
5.1 TESTING20
5.1.1 UNIT TESTING 20
5.1.2 INTEGRATION TESTING 21
5.1.3 VALIDATION TESTING 21
5.1.4 RECOVERY TESTING 21
5.1.5 SECURITY TESTING 21
5.1.6 STRESS TESTING 22
5.1.7 WHITE BOX TESTING 22
5.1.8 BLACK BOX TESTING 22
5.2 SYSTEM IMPLEMENTATION 22
6 CONCLUSION 23
7 APPENDICES 24
7.1 SOURCE CODE 21
7.2 SCREENSHOTS 29
8 REFERENCES 32
9 PUBLICATIONS 32
6
LISTOF ABBREVIATIONS AND DEFINITIONS
OS - Operating System
GUI -Graphical User Interface
RAM -Random Access Memory
MB -Mega Bytes
GB -Giga Bytes
HDD -Hard Disk Drive
UML - Uniform Modeling Language
EMS -Employee Management System
1.INTRODUCTION
Among all users, only the admins have all privileges to access all the
information of EMS. So the admins will insert, update, remove the
employees, departments, generate reports and whereas other users will have
limited roles. Once the user’s login they can perform few tasks specific to
their role. Employee information can be modified by either Admin, Managers
or by the employee himself/herself. Suppose if we want to keep track of a list
of all changes made to an employee profile, we need to maintain logs.
7
2.SYSTEM ANALYSIS
8
3.SYSTEM REQUIREMENTS
9
4.DESIGN
10
4.2.REGISTER
The use case describes how a User registers and logs in into the
Course Registration System.Takes more time for consuming of
managing numerous users and prevent error from manual method.
All course registrations are immediately not updated.
Anyone can view others details. No login is given specifically.
11
4.3.ACTIVITY DIAGRAM:
Basic Flow
This use case starts when the actor wishes to Register to the Course
Registration System.
1. The System requests the Student/Staff to give the needed details
for registration.
2. The Student/Staff enters his/her details.
3. The System validates the details to check if all the mandatory
fields are given.
12
Alternative Flows
4.5.REGISTERATION:
Brief Description
This use case allows a Student to register for any one of the courses offered.
The course catalog, that is created and saved in the Database by the
Administrator, provides a list of all the course offered.
Flow of Events
Basic Flow
This use case starts when a Student wishes to register for a course.
1. The System prompts the Student to give an option that he/she
would like to choose from the displayed catalog.
2. Based on the given choice, the Database is checked to see if seats
are available for that course.
3. If it is available then it is displayed to the Student and the course
is reserved.
13
4. Details regarding the payment is got from the Student and then on
successful registration the Database is updated.
5. A message is displayed to he Student to indicate the successful
registration.
6. If enough seats are not available the secondary choice is offered
to the Student.
Alternate Flow
None
Special Requirements
None
Pre-Conditions
To view the catalogue and register the Student should be logged in
into the System.
Post-Conditions
If the use case was successful, the Student would have registered for
a course. Otherwise, the system state is unchanged.
Extension Points
None
4.6.ADMIN APPROVAL:
Brief Description
This use case describes how a Staff gives his/her preference to teach
a course and how he is able to view the details of all the Students he is
teaching.
Flow of Events
Basic Flow
This use case starts when a Staff who has registered wants to give
his/her preference to teach a course to be taught from the catalog provided by
the Administrator.
1. The System prompts the Staff to give his/her preference details.
2. The Staff enters his/her preference.
3. The preference details given by the Staff is stored in the database.
4. The System then displays the list of Students who have opted for
that course along with their details.
5. The Staff teaches the Student the preferred course.
14
Alternate Flow
None
Special Requirements
None
Pre-Conditions
The Staff should be logged in into the System and a minimum
number of Students should have opted for that course that he prefers to teach.
Post-Conditions
If, there are a minimum of 5 Students opting for the Staff’s preferred
course, he/she starts teaching them. If not, the System state is unchanged.
Extension Points
None
OVERVIEW:
The rest of the Software Requirement Specification
documents explains in detail the various software and hardware requirements
and also elaborates on the constraints involved in the system.
OVERALL DESCRIPTION:
4.7.1PRODUCT PERSPECTIVE:
15
4.7.2 SYSTEM INTERFACE:
User Interfaces:
A very interactive GUI is provided to the student and the staff. It
prompts the actors to give the required input for each activity of the system.
Operations:
This software is active and can be used to learn as per the staff’s
schedule.
Product Functions:
The major functions include:
Entering the student details into the database.
User Characteristics:
16
Interface to other application-not applicable.
User Interfaces:
The user interfaces is a typical form which includes text boxes, command
buttons and label boxes that are appropriate. During any illegal access an
error message appears using a message box on the screen. The user interface
is designed using MS-Access.
The introductory screen will ask if the user is a student or a staff with
the registration screen to follow. Once the registration is successful, login
screen is provided followed by the course selection, reservation and payment.
Windows format/organizations:
Each function will lead to another window. The user can switch to
the previous window whenever required.
Data format:
17
End message:
When there are some errors on entering invalid data, correct data is
asked via the error message else leads to termination of the software.
DESIGN CONSTRAINTS:
RELIABILITY:
SECURITY:
Payment transactions made are highly secure.
PORTABILITY:
It can operate on all operating systems.
4.7.5. MANTAINABILITY:
LOGICAL DATABASE:
The system requires the use of Oracle database
table to hold the details of all the students and staffs.
18
ACTIVITYDIAGRAM :
19
5. TESTING AND IMPLEMENTATION
5.1 TESTING
Testing is a process of executing a program with the inent of
finding an error.
A good test case is one that has a probability of finding an as yet
undiscovered error.
A successful test is that uncovers as an yet undiscovered error.
TESTING PRINCIPLE
All tests should be traceable to customer requirement.
Tests should be planned long before testing begins.
The Pareto principle applies to software testing.
Exhaustive testing is not possible.
To be most effective,an independent third party should conduct
testing.
5.1.1UNIT TESTING
Unittesting focuses verification effort on the smallest unit of software
design-the software component or module. Using the component-level design
description as a guide, important control paths are tested to uncover errors
within the boundary of the module. The relative complexity of tests and
uncovered errors is limited by the constrained scope established foe unit
20
testing. The unit test is white- box oriented and the step can be conducted in
parallel for multiple components.
21
categorized under performance testing and sometimes also carried out with
load testing.
22
6.CONCLUSION
6.1 SCOPE
The Scope of the software product developed involves paid service to the
students to select and learn a restricted number of courses that are being
offered. It involves a very simple registration procedure to be done by the
student while being guided by a mentor through the course. The course is
not offered until a minimum number of students opt for it.
7. APPENDICES
23
7.1 SOURCE CODE
<?php
session_start();
error_reporting(0);
include('includes/config.php');
if(isset($_POST['signin']))
{
$uname=$_POST['username'];
$password=md5($_POST['password']);
$sql ="SELECT EmailId,Password,Status,id FROM tblemployees WHERE
EmailId=:uname and Password=:password";
$query= $dbh -> prepare($sql);
$query->bindParam(':uname', $uname, PDO::PARAM_STR);
$query->bindParam(':password', $password, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
foreach ($results as $result) {
$status=$result->Status;
$_SESSION['eid']=$result->id;
}
if($status==0)
{
$msg="Your account is Inactive. Please contact admin";
} else{
$_SESSION['emplogin']=$_POST['username'];
echo "<script type='text/javascript'>document.location = 'emp-
changepassword.php'; </script>";
}}
else{
echo "<script>alert('Invalid Details');</script>";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Title -->
<title>ELMS | Home Page</title>
24
<!-- Styles -->
<link type="text/css" rel="stylesheet"
href="assets/plugins/materialize/css/materialize.min.css"/>
<link href="assets/css/materialdesign.css" rel="stylesheet">
<link href="assets/plugins/material-preloader/css/materialPreloader.min.css"
rel="stylesheet">
<!-- Theme Styles -->
<link href="assets/css/alpha.min.css" rel="stylesheet" type="text/css"/>
<link href="assets/css/custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div class="loader-bg"></div>
<div class="loader">
<div class="preloader-wrapper big active">
<div class="spinner-layer spinner-blue">
<div class="circle-clipper left">
<div class="circle"></div>
</div><div class="gap-patch">
<div class="circle"></div>
</div><div class="circle-clipper right">
<div class="circle"></div>
</div>
</div>
<div class="spinner-layer spinner-spinner-teal lighten-1">
<div class="circle-clipper left">
<div class="circle"></div>
</div><div class="gap-patch">
<div class="circle"></div>
</div><div class="circle-clipper right">
<div class="circle"></div>
</div>
</div>
<div class="spinner-layer spinner-yellow">
<div class="circle-clipper left">
<div class="circle"></div>
</div><div class="gap-patch">
<div class="circle"></div>
</div><div class="circle-clipper right">
<div class="circle"></div>
</div>
</div>
25
<div class="spinner-layer spinner-green">
<div class="circle-clipper left">
<div class="circle"></div>
</div><div class="gap-patch">
<div class="circle"></div>
</div><div class="circle-clipper right">
<div class="circle"></div>
</div>
</div>
</div>
</div>
<div class="mn-content fixed-sidebar">
<header class="mn-header navbar-fixed">
<nav class="cyan darken-1">
<div class="nav-wrapper row">
<section class="material-design-hamburger navigation-toggle">
<a href="#" data-activates="slide-out" class="button-collapse show-on-large
material-design-hamburger__icon">
<span class="material-design-hamburger__layer"></span>
</a>
</section>
<div class="header-title col s3">
<span class="chapter-title">ELMS | Employee Leave Management
System</span>
</div>
</form>
</div>
</nav>
</header>
<aside id="slide-out" class="side-nav white fixed">
<div class="side-nav-wrapper">
<ul class="sidebar-menu collapsible collapsible-accordion" data-
collapsible="accordion" style="">
<li> </li>
<li class="no-padding"><a class="waves-effect waves-grey"
href="index.php"><i class="material-icons"></i>Employe Login</a></li>
<li class="no-padding"><a class="waves-effect waves-grey" href="forgot-
password.php"><i class="material-icons"></i>Emp Password
Recovery</a></li>
26
</ul>
<div class="footer">
<p class="copyright">BATCH 6 ©</p>
</div>
</div>
</aside>
<main class="mn-inner">
<div class="row">
<div class="col s12">
<div class="page-title"><h4>Welcome to Employee Leave Management
System</h4></div>
<div class="col s12 m6 l8 offset-l2 offset-m3">
<div class="card white darken-1">
<div class="card-content ">
<span class="card-title" style="font-size:20px;">Employee Login</span>
<?php if($msg){?><div class="errorWrap"><strong>Error</strong> : <?php
echo htmlentities($msg); ?></div><?php }?>
<div class="row">
<form class="col s12" name="signin" method="post">
<div class="input-field col s12">
<input id="username" type="text" name="username" class="validate"
autocomplete="off" required >
<label for="email">Email Id</label>
</div>
<div class="input-field col s12">
<input id="password" type="password" class="validate" name="password"
autocomplete="off" required>
<label for="password">Password</label>
</div>
<div class="col s12 right-align m-t-sm">
27
</div>
</main>
</div>
<div class="left-sidebar-hover"></div>
JAVASCRIPT:
<script src="assets/plugins/jquery/jquery-2.2.0.min.js"></script>
<script src="assets/plugins/materialize/js/materialize.min.js"></script>
<script src="assets/plugins/material-
preloader/js/materialPreloader.min.js"></script>
<script src="assets/plugins/jquery-blockui/jquery.blockui.js"></script>
<script src="assets/js/alpha.min.js"></script>
</body>
</html>
7.2 SCREENSHOTS
Home Page:
WELCOME TO EMPLOYEE MANAGEMENT SYSTEM
28
ADMIN LOGIN:
29
CHANGE PASSWORD:
ADD EMPLOYEE:
30
ADMIN APPROVAL:
UPDATE EMPLOYEE:
31
REFERENCES:
The books referred during predevelopment stages of
project include:
Software Engineering by Roger S.Pressman.
Introduction to Object Oriented Analysis And Design
by Craig Larman.
www.wikepedia.com
PUBLICATIONS
32