You are on page 1of 100

EMPLOYEE/STAFF MANAGEMENT SYSTEM

A Project Report
Submitted for the partial fulfillment of
the Degree of
Master of Computer Applications
(5 Years Integrated Course)
IN
Guru Jambheshwar University
of science and Technology, Hisar:

UNDER THE SUPERVISION OF: SUBMITTED BY:


PARMOD
Enroll NO: 17031007064

GURU JAMBHESHWAR UNIVERSITY OFF


SCIENCE&TECHNOLOGY
HISAR, HARYANA (INDIA) - 125001
(SESSION 2017-2022)

1
ANNEXURE – I

DECLARATION

I hereby declare that the minor project work entitled “Employee/Staff

Management System” submitted for the MCA (5 year integrated course) is my original

work carried out by me under the guidance of Mr. Anil Gupta for partial fulfilment

of the awards of the degree of the master of computer applications. The matter

embodies in this report has not been submitted anywhere else for the award of

any other degree / diploma.

Place: Signature of the


Candidate

Date:

2
Acknowledgement

I am highly grateful to Mr. Anil Gupta for guiding me at each and every step

in making this project a success. Without their sincere effort it would not be

possible for us to complete the project within committed time.

(PARMOD)
Enrollment No :-17031007064

3
Annexure – II

Certificate

This is to certify that Mr. Parmod, Registration No. 17031007064 has

worked under my supervision to prepare his is project report entitled “

EMPLOYEE/STAFF MANAGEMENT SYSTEM ”. This work has not been submitted

in part or full to this or any other university for the award of any other degree or

diploma.

Signature of supervisor

Name : Mr. Anil Gupta

Designation : Senior Faculty

Organization/Institute :

Forwarded by head, study center (with signature,Name of Head and Seal)

4
Annexure - III

List of Figure

S.no Fig no. Description Page no.

1 7.2 SDLC 37

2 7.3 WATERFALL MODEL 38

3 7.4 E R DIAGRAM 39

4 7.5 USE CASE DIAGRAM 40

5 7.6 DATA FLOW DIAGRAM 41-46

8 7.7 ACTIVITY DIAGRAM 47

5
GURU JAMBHESHWAR UNIVERSITY OF SCIENCE & TECHNOLOGY,

HISAR

Format for Resume of Supervisor

1. Name : Mr. Anil Gupta


2. Designation : Senior Faculty
3. Qualification : MCA , M. Tech
4. Area of specialization : C , C++ , C# , HTML , DHTML , XML , DSA
5. Experience : More than 9 years
6. Offical address : International Institute of Management,Media & IT
7. E-mail : anilgupta086@gmail.com

I am willing to supervise Mr. PARMOD

Enrollment No. 17031007064

On the topic “ Employee/Staff Management System .”

(Signature with Seal)

Countersigned by Designed of study centre with seal


Suggestion/Approval of the coordinator

6
DECLARATION OF THE STUDENT (ANNEXURE – I)

ACKNOWLEDGEMENT

CERTIFICATE ISSUED BY THE SUPERVISOR (ANNEXURE – II )

List of Figures (ANNEXURE – III)

CONTENTS

1. Abstract……………………………………………………………………….. 9
2. Introduction…………………………………………………………………… 10-11
2.1. Objective……………………………………………………………………. 12
2.2. Purpose ……………………………………………………………………. 13
2.3. Scope of the project............................................................................. 14
2.4. System Specification……………………………………………………… 15-16
3. Problem Analysis…………………………………………………………….. 17
3.1. Existing System……………………………………………………………. 17-19
3.2. Proposed System………………………………………………………….. 20-22
3.3. Implemented System……………………………………………………… 23-24
4. Project Monitoring System…………………………………………………... 25
4.1. Module Description………………………………………………………... 25-26
4.2. Services Provided to the User……………………………………………. 27
5. System Study…………………………………………………………………. 28
5.1. Feasibility Study……………………………………………………………. 28
5.1.1. Economic Feasibility……………………………………………... 28
5.1.2. Behavioural Feasibility…………………………………………… 28
5.1.3. Technical Feasibility……………………………………………… 28
5.1.4. Time Feasibility........................................................................ 29
6. Tools, Platform And Language Used………………………………………. 30-33
7. System Analysis………………………………………………………………. 34
7.1. Requirement Specification………………………………………………… 34
7.1.1. Software Requirement Specification……………………………. 34
7.1.2. Software Requirement……………………………………………. 35

7
7.1.3. Hardware Requirement…………………………………………… 36
7.2. SDLC…………………………………………………………………………. 37
7.3. Iterative WaterFall Model…………………………………………………... 38
7.4. E R Diagram…………………………………………………………………. 39
7.5. Use Case Diagram………………………………………………………….. 40
7.6. Data Flow Diagram................................................................................. 41-46
7.7. Activity Diagram……………………………………………………………… 47
8. System Design........................................................................................... 48-50
8.1. Design Methodology………………………………………………………… 51
8.2. Structured Design……………………………………………………………. 52-53
8.3. Module Coupling……………………………………………………………... 54-55
8.4. Module Cohesion…………………………………………………………….. 56-57
8.5. Strategy of Design……………………………………………………………. 58-59
9. System Testing and Implementation…………………………………………. 60
9.1. Testing………………………………………………………………………… 60-62
9.2. Level of Testing………………………………………………………………. 63-65
9.3. Implementation……………………………………………………………….. 66
9.4. Evaluation……………………………………………………………………… 67
9.5. Maintenance…………………………………………………………………… 68
10. Documentation…………………………………………………………………... 69
10.1. Coding………………………………………………………………………... 69-82
10.2. Screen Shot………………………………………………………………….. 83-97
11. Conclusion……………………………………………………………………….. 98
12. References………………………………………………………………………. 99
13. Appendices………………………………………………………………………. 100

8
1. ABSTRACT

The objective of “Emplo2222222yee Management System” is designing a scheduling


system for a work centre. Scheduling is such a tool with which the process of intimating
activities and notifications will be easy and even online in the organization where it is
installed. But these task of scheduling the different activities if manually done whether
they may be personal or official is time consuming and also may lead to confusion if not
properly scheduled. Employee Management System is a distributed application,
developed to maintain the details of employees working in any organization. It maintains
the information about the personal details of their employees. The application is actually
a suite of applications developed using c. It is simple to understand and can be used by
anyone who is not even familiar with simple employee’s system. It is user friendly and
just asks the user to follow step by step operations by giving him few options. It is fast
and can perform many operations of a company or organization. This software project
has been developed using the powerful coding tools of c at Front End and Microsoft Sql
Server at Back End. The software is very user friendly. The project contains modules
like Employee and Admin. This version of the software has multi-user approach. For
further enhancement or development of the package, user’s feedback will be
considered.

Keywords: employee management system, employees, staff, human resources, leave


management, task management, dbms, php, html, css.

9
2. INTRODUCTION

The objective of “Employee Management System” is designing a scheduling system for


a work centre. Scheduling is such a tool with which the process of intimating activities
and notifications will be easy and even online in the organization where it is installed.
But these task of scheduling the different activities if manually done whether they may
be personal or official is time consuming and also may lead to confusion if not properly
scheduled. Employee Management System is a distributed application, developed to
maintain the details of employees working in any organization. It maintains the
information about the personal details of their employees. The application is actually a
suite of applications developed using Java. It is simple to understand and can be used
by anyone who is not even familiar with simple employee’s system. It is user friendly
and just asks the user maintains the information about the personal details of their
employees. The application is actually a suite of applications developed using Java. It is
simple to understand and can be used by anyone who is not even familiar with simple
employee’s system. It is user friendly and just asks the user to follow step by step
operations by giving him few options. It is fast and can perform many operations of a
company or organization. This software project has been developed using the powerful
coding tools of c at Front End and Microsoft Sql Server at Back End. The software is
very user friendly. The project contains modules like Employee and Admin. This version
of the software has multi-user approach. For further enhancement or development of
the package, user’s feedback will be considered

10
Employee Management system is an application that enables users to create and store
Employee Records. The application also provides facilities of a payroll system which
enables user to generate Pay slips too. This application is helpful to department of the
organization which maintains data of employees related to an organization. Java is a
platform independent language. Its created applications can be used on a standalone
machine as well as on distributed network. More over applications developed in java
can be extended to Internet based applications. Thus java was chosen as background
to design this application.

11
2.1.OBJECTIVE

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 in an
organization. This project simplifies the task of maintain records because of its user
friendly nature.

Paperless: To make existing system paperless and save lots of bunching logs of files on
the shelf which makes the later on access of the record not at all easy task and
overhead to peoples.

Automatic: Making the existing system fully automatic which will save lots of human
resources work. As the current system is all human resource work is needed to maintain
and keep the record and details of every employee under and organization to keep track
of every employee in staff working in an organization.

12
2.2 PURPOSE

The system is designed to satisfy employees by delivering services like salary


accurately , on time and quickly. Employees are managed easily. Employees
attendance and salary system are automated. This system will store all staff data and
transactions.

When needed, it will take just a few second to find out the backgroung of an employee
his/her work status, services and responsibility to the organization.

It’ll also facilitate keeping record of employees, such as their date of hiring & date of
leaving. So all the information about an employee will be available in a few seconds. It’ll
also make it very easy to generate statistical data or custom data, like finding a certain
sets of employees

13
2.3 SCOPE

The scope of this project will be limited to the following:


 
Employee profiles:
Employees will have access to their personal profiles and will be able to edit their
details.

Electronic leave application:


Complete elimination of paperwork in leave management by enabling an employee
applyfor leave as well as check their leave status through the system. This will also
enable theHR manager to accept/reject leave application through the system

 
Project Management:
Assign tasks and projects to employees, assign a project team and keep track of
the progress.

Report generation:
The HR manager will be able to generate timely reports in order to monitor
employeesand this can be used for performance appraisals. The reports will be have all
theinformation of an employee from educational background, trainings attended,
projectsdone as well as technical skills.
 
Recruitment Process:
The admin will add an employee and a default password and employee id will
begenerated and sent to the new employees email. The HR manager will then have the
ability to add an employee’s information to the database.

14
2.4 SYSTEM SPECIFICATIONS

Software Engineers have been trying various tools, methods and procedures to control
the process of software development in order to build high quality software with high
productivity. This method provides “how it is” for building the software while the tools
provide automated or semi automated support for the methods. They are used in all
stages of software development process, namely, planning, analysis, design,
development and maintenance. The software development procedure integrates the
methods and tools together and enables rational and timely development of the
software system.

Software Development

Procedures

Methods

Tools

They provide the guidelines as how to apply these methods and tools, how to

produce the deliverable at each stage, what controls to apply, and what milestones

to use to assess the performance of the program. There exist a number of software

development paradigms each using a different set of methods and tools. The

selection of a particular paradigm depends on the nature of application of the

15
programming language used for the controls and the deliverables required. The

development of such successful systems depends not only on the use of appropriate

methods and techniques but also the developers’ commitment to the objective of

the system.

A successful system must: -

1. Satisfy the user requirements

2. Be easy to understand by user and operator

3. Be easy to operate

4. Have a good user interface

5. Be easy to modify

6. Be expandable

7. Have adequate security control against the misuse of data

8. Handle the errors and exceptions satisfactorily

9. Be delivered on schedule within the budget

16
3. PROBLEM ANALYSIS

3.1 EXISTING SYSTEM

The problem definition for designing the system is to maintain data of employee, to
make easy controlling employees, to divide jobs and access control of employees, to
use technology for accurate and timely processing by fully privacy and full authority
access. The objective of the project is to set up employee information system about
status of employee and attendance of employee and monthly salary process and
delivery. To eliminate or reduce as much as possible the hardships of existing system
and avoid errors while entering data. In existing method employee management are
employee record are maintaining in records. It’s a manual process. Complicated to
search the employee salary

Disadvantages:

. Needs for extra manual effort.

. In existing system is standalone process normal employee cannot track their


employee status.

. Less Accuracy Danger of losing some files.

17
. Certain required report is not available Time-consuming process.

Problem Statement
Manual handling of employee information poses a number of challenges. This is evident
in procedures such as leave management where an employee is required to fill in a
form which may take several weeks or months to be approved. The use of paper work
these processes could lead to human error, papers may end up in the wrong hands and
not forgetting the fact that this is time consuming. A number of current systems lack
employee self-service meaning employees are not able to access and manage their
personal information directly without having to go through their HR departments or their
managers. Another challenge is that multi-national companies will have all the
employee information stored at the headquarters of the company making it difficult to
access the employee information from remote places when needed at short notice. The
aforementioned problems can be tackled by designing and implementing a web-based
HR management system. This system will maintain employee information in a database
by fully privacy and authority access. The project is aimed at setting up employee
information system about the status of the employee, the educational background and
the work experience in order to help monitor the performance and achievement of the
employee through a password protected system. This report’s documentation goes
through the whole process of both application program and database development. It
also comprises the development tools have been utilized for these purposes. This
system should consist of an application program, on one hand, and a database
(repository of data) on the other. The program should perform the basic operations upon
the database as retrieving, inserting, updating and deleting data. Any additional
functionality is a goal of a further module development. It is a kind of strategy to start the
development from designing and constructing the database, as this structure will
determine the further structure of the application program. The logical database model
(tables, their content and the relationships between them) should respond to the given
task and cover the basic requirements. The Interface of the program should be user-

18
friendly, and the program should be as easy for use as it is possible. Both controls and
forms should logically and functionally be related within the program and fully respond
to the structure of the database. Another problem is establishing the connections with
the database, every time, when a query is needed to be performed upon it. Exception-
handling should also be taken into an account during the system’s development due to
eventual exceptions that may occur.

19
3.2 PROPOSED SYSTEM

This chapter builds on the work done in the Analysis Chapter and gives documentation
for the Design of the Employee Management System. The EMS is modelled in terms of
objects and classes and their interactions with each other. Explanation of the proposed
system is done as well structure of the Entity Relationship Diagram (ERD). Design of
the User Interface is also discussed. The proposed system is designed to eliminate all
the drawbacks of the existing employee management software. The system shall be
responsible for maintaining information about employees, thus their personal profile.
The system shall incorporate leave management all the way from application to
acceptance/rejection of leave requests as well as all employee projects with close
monitoring of the projects from creation to completion and trainings to assist in
monitoring active and inactive employees.

The main features to be added include:

. Employee profiles

. Leave management

. Task management

. Notifications

. Employee Self-Service (ESS)

Consistent- The website should have a similar look and feel on every page. Every page
should have the same header/logo, heading style, fonts, navigations etc.

20
Efficient and easy to maintain- This refers to the fact that there is need to separate
content from layout, so that you can easily change your page design without editing
every page on the site.

Layout-The layout of each page should have a good contrast between the text and
background area. This helps considerably with visibility as it will be difficult to read the
text if it is almost the same color as the background. Monitor size should also be taken
into consideration.

Easy to navigate and use- Users should not have a hard time trying to navigate the site.
Navigation links should be consistent and clearly labelled. All navigation links should
also be working properly and should point to the intended page/site.

Browser compatible- When designing the site consider different browser environments.
Extensive testing should be done on each page in all the major browsers and the design
changed appropriately to cater for all.

Visually appealing- The use of color, text, fonts and graphics should be carefully
considered and used to ensure that the site is visually appealing to its visitors.

Features

. Portability

. Compatibility

. Secure

. User Friendly

. Generosity

. Runtime Compactness and Speed

21
Advantages

. Transparency to all the user of system.

. Less paper use and removal of redundancy.

. Less prone to errors.

. The whole system is interactive.

22
3.3 IMPLEMENTED SYSTEM

All these features include the ability to add user, update (edit), and retrieve through
search results. It also contains a report generation system that can be saved in a pdf file
format. The system works in the following manner, Accessing the system Various
companies and organizations may have different employee structures and hierarchy.
Being generic, the developed System has four main access levels which are:

 Employee
 Head of Department (HOD)
 Human Resource Manager (HR)
 Administrator

All users are presented with the same login interface. User must login the system by
means of valid username/password combination. After access is granted to the system,
the admin can add a new user to the system by entering the basic information which are
the full names and email address. The admin also assigns the new user a role which
will determine the access level. During the process of user registration, the all users are
issued with a unique username and password combination. Seeing that the system
holds private employee information, the admin has the ability to monitor all activity logs
into the system by date and time.

The newly added user logs into the system with a default password which can later be
changed to a more secure password. All employees can edit basic information such as
newly acquired technical skills and emergency contacts. Employees can apply for leave
by filling in a form as well as submitting an attachment to support their leave request.
The HOD has the ability to view all employees under his/her department, assign a task
and trainings. The HOD can also create a project, add members to the project and
create a work breakdown structure. Being an employee, the HOD can apply for leave as
well as

23
check leave days accrued. Upon logging in to the system, the HR manager gets
notifications on the leave applications submitted and has the ability to approve or reject
leave requests as they are submitted. The HR carries out all employee tasks which
include the ability to view and edit basic details, view pending tasks, projects and
trainings. The HR also has to the ability to generate employee reports in PDF format.
When you use a statement that makes change to the table but does not use INSERT,
DELETE or UPDATE statement, the trigger is not invoked.

24
4. PROJECT MONITORING SYSTEM

4.1 Module Description

1. Admin Module
2. HR Module
3. Payroll Management
4. Employee Module

Admin Module:

Administrator controls the entire application. Administrator can add, delete, edit and view
all employee details and admin can create Employee Payslip. Administrator also manages the
data related to organizations and businesses. Administrator generates reports abased on
various criteria.

HR Module:

HR controls the entire application. Administrator can add, delete, edit and view all
employee details. Administrator also manages the data related to organizations and businesses.

25
Payroll Management:

Admin and HR can add and Delete Payslip details.

Employee Module:

Employees must have valid login information to access the application. Each
employee can view the details of Vacancy, Payslip , schedules and Training Materials.

26
4.2 Services Provided to the User:

 Provides the searching facilities based on various factors. Such as Experience,


Employee, Salary, Informations
 College Management System also sells the employees details online for students
details, employees details, courses.
 It tracks all the information of Leaves, Login, Salary ect
 Manage the information of Leaves
 Shows the information and description of the Experience, Employee
 To increase efficiency of managing the Experience, Leaves
 It deals with monitoring the information and transactions of Salary.
 Manage the information of Experience
 Editing, adding and updating of Records is improved which results in proper resource
management of Experience data.
 Manage the information of Salary
 Integration of all records of Informations.

27
5. SYSTEM STUDY

5.1 FEASIBILITY STUDY:-

The feasibility study of this project has revealed the project as follows: -

5.1.1 ECONOMIC FEASIBILITY


 The project has shown the economic feasibility by the study of the fact that by using
this software the increased number of the consumers can be given service effectively
and efficiently and can save a lot time and saving time means saving money. The cost 
and benefit analysis has shown that cost  that  have incurred  in developing the project
is less than the benefits that the project is going to provide once it is developed, so this
project has passed  the feasibility test.

5.1.2 BEHAVIOURAL FEASIBILITY


   The working staff members are also interested in this project, as it will help them to do
work with ease and efficiently without complexity, so they supported the development of
this project with full enthusiasm. This shows the behavioral feasibility of the project.

5.1.3 TECHNICAL FEASIBILITY


   Technical feasibility centers on the existing computer system (Hardware, Software
etc) and to what extent it supports the existing system. As the existing system computer
system is viable so there is no matter of technical feasibility that is   the system is
technically feasible.

28
5.1.4 TIME FEASIBILITY
       It is the determination of whether a proposed project can be implemented fully
within stipulated time frame. The project was decided to be done in three months and
was thought to be feasible enough.

29
6.TOOLS, PLATFORM AND LANGUAGE USED

 FRONT END:

The programming has been done using the language C++. It is Sun Microsystem’s
strategic language for platform independent programming. It is easy to use, efficient and
flexible. This language is preferred because one can build a program using this object
oriented and platform independent programming with less effort than with any other
programming language. It’s a natural language for building database applications, owing
to the level and sophistication of the tools included with the language.

 BACK END:

Microsoft Sql Server is one of the leading database management systems available on
the market today. It is easy to use and administer, and it comes with tools and wizards
that make it easy to develop applications. The database itself has been redesigned to
automatically perform many tuning functions, leaving you free to focus on most
important tasks.

 PLATFORM USED:

The Acconts Automation System is targeted at Microsoft Windows platforms.

WINDOWS XP PROFESSIONAL

30
 Windows (Operating System)

a) Window derived from its name from the on-screen “WINDOWS” that it used to

display information’s.

b) Windows XP Professional is a multi-user operating system. It has been designed and


developed by Microsoft Co-operation.

c) When a computer is switch on for working, it needs the operating system because all
the activities of a system are supervised by the operating system.

The features of the operating system are:-

1. Provides an interactive environment.

2. Graphical user interfaces.

The Commands are displayed on the screen and we don’t have to remember all
commands.

ii. GUI makes it easy to work with disks and directories. It can display tree

like diagram of directories, directories sub-0 directories on hard disk.

3. Point and Click.

4. User friendly.

31
 LANGUAGE USED – C++:

 C++ is a cross-platform language that can be used to create high-performance


applications.
 C++ was developed by Bjarne Stroustrup, as an extension to the C language.
 C++ gives programmers a high level of control over system resources and memory.

C++ was designed with a bias toward system programming and embedded, resource-


constrained software and large systems, with performance, efficiency, and flexibility of
use as its design highlights.[7] C++ has also been found useful in many other contexts,
with key strengths being software infrastructure and resource-constrained
applications, including desktop applications, video games, servers (e.g. e-
commerce, Web search, or SQL servers), and performance-critical applications
(e.g. telephone switches or space probes)

Inheritance
Inheritance allows one data type to acquire properties of other data types. Inheritance
from a base class may be declared as public, protected, or private. This access
specifier determines whether unrelated and derived classes can access the inherited
public and protected members of the base class. Only public inheritance corresponds to
what is usually meant by "inheritance". The other two forms are much less frequently
used. If the access specifier is omitted, a "class" inherits privately, while a "struct"
inherits publicly. Base classes may be declared as virtual; this is called virtual
inheritance. Virtual inheritance ensures that only one instance of a base class exists in
the inheritance graph, avoiding some of the ambiguity problems of multiple inheritance.

Multiple inheritance is a C++ feature not found in most other languages, allowing a class
to be derived from more than one base class; this allows for more elaborate inheritance
relationships. For example, a "Flying Cat" class can inherit from both "Cat" and "Flying
Mammal". Some other languages, such as C# or Java, accomplish something similar
(although more limited) by allowing inheritance of multiple interfaces while restricting the

32
number of base classes to one (interfaces, unlike classes, provide only declarations of
member functions, no implementation or member data). An interface as in C# and Java
can be defined in C++ as a class containing only pure virtual functions, often known as
an abstract base class or "ABC". The member functions of such an abstract base class
are normally explicitly defined in the derived class, not inherited implicitly. C++ virtual
inheritance exhibits an ambiguity resolution feature called dominance.

33
7. SYSTEM ANALYSIS

7.1 REQUIREMENT SPECIFICATION

7.1.1 Software Requirement Specification (SRS)

The aim of the system is to develope “EMPLOYEE MANAGEMENT SYSTEM”


software, which should automate the process to create and store employee details .
The system is supposed to be used as a subsystem in a large office system, which
could be manual system or a computerized one. Therefore, the proposed system must
be able to function under both circumstances.

The proposed system is not a freeware and due to the usage of swings, becomes
user interactive.

 The project demand a page of employee details that include:

 Employees personel detail.

 Employees salary, allowances, deductions.

34
7.1.2 Software RequirementS

. OPERATING SYSTEM - WindowsXP Professional

. DEVELOPING LANGUAGE - C++

. DATABASE - MICROSOFT SQL SERVER 2005

35
7.1.3 Hardware Requirements

. MEMORY SPACE:

Minimum - 32 MB

Recommended- - 64 MB

. HDD - To install the software at least 2 GB and the data

storage is depending upon the organizational setup.

. PROCESSOR - Intel Pentium IV, 1GHZ or above

. RAM - 256MB or above

. VIDEO - 1024x768, 24-bit colors

. KEYBOARD - Standard 104 Keys(QWERTY)

Blank writable CD to keep the backup of the Package.

7.2 SOFTWARE DEVELOPMENT LIFE CYCLE MODEL

36
The series of stages depicting the various tasks involved in development process is
called Software Life Cycle Model. The model implemented by us is Waterfall Model,
which is most widely used in procedure-oriented development. This model attempts to
break up the identifiable activities into series of actions, each of which must be
completed before the next begins. The activities include problem definition, requirement
analysis, design, coding, testing, maintenance.

Further refinements to this model include iteration back to previous stages in order to
incorporate any changes or missing links.

The phases and the outputs of the waterfall model at each phase are summarized
below in tabular format.

PHASE OUTPUT

Problem Description Feasibility Report

Analysis SRS

Design Detailed Design Report

Coding Complete Source Code

Testing Test plan, report and manual

Installation Installation Report

7.3 ITERATIVE WATERFALL MODEL

37
Software development life cycle process specifies a method of developing the
software. Each software development projects starts with some needs and ends with
some software that satisfies those needs. A software development life cycle specifies
the set of activities that should be preformed to go from user needs to final products.
There are different models of SDLC process and each model specifies the activities and
the order in which they should be preformed. Depending on the nature of project, a
suitable model is chosen and the entire process of software requirement analysis,
design, coding, testing and maintenance is preformed accordingly.

Various life cycle models are present, but our system is based on WATER
FALL MODEL, which is most widely used in procedure oriented development. This
model attempts to break up the identifiable activities into series of action, each of which
must be completed before the next begins. The activities include Problem definition,
Requirement Analysis, Design, Coding, Testing and maintenance.

An initial investigation culminates in a proposal that determines whether a


system is feasible or not. It determines its workability, impact on the organization, ability
to meet user needs, and effective user resources. The objective of feasibility study is
not solve the problem but to acquire a sense of its scope. During the study, the problem
definition is crystallized and aspects of the problem to be included in the system are
determined. Consequently, cost and benefits are estimated with greater accuracy at this
stage. This is a bridge in between the User Requirements and the output that he can
avail under a set of given constraints, inputs and outputs.

The main steps are :

 Statement of constraints

 Identification of specific system objectives

 Description of outputs

7.4 ER-diagram

38
Er-diagram is a detailed representation of the data for an organization and uses three
main constructs- data entities, relationships and their associated attributes

 It high light different aspects of the same system.

7.5 Use Case Diagram

39
This Use Case Diagram is a graphic depiction of the interactions among the elements
of Employee Management System. It represents the
methodology used in system analysis to identify, clarify, and
organize system requirements of Employee Management System.

7.6 Data Flow Diagram

Employee Management System Data flow diagram is often used as a preliminary step
to create an overview of the Employee Management without going into great detail,

40
which can later be elaborated.it normally consists of overall application dataflow and
processes of the Employee Management process. It contains all of the userflow and
their entities such all the flow of Employee, Department, Designation, Leave, Salary,
Attendance, Task. All of the below diagrams has been used for the visualization of data
processing and structured design of the Employee Management process and working
flow.

Zero Level Data Flow Diagram(0 Level DFD) Of Employee

Management System :

This is the Zero Level DFD of Employee Management System , where we have
eloborated the high level process of Employee Management .It’s a basic overview of the
whole Employee Management System or process being analyzed or modeled. It’s
designed to be an at-a-glance viewof Salary,Attendance and Task showing the system
as a single high-level process, with its relationship to external entities of
Employee,Department and Designation. It should be easily understood by a wide
audience, including Employee,Designation and Salary In zero leve DFD of Online
Employee Management System , we have described the high level flow of the
Employee Management system.

High Level Entities and proccess flow of Employee Management

System :

 Managing all the Employee


 Managing all the Department
 Managing all the Designation
 Managing all the Leave
 Managing all the Salary

41
 Managing all the Attendance
 Managing all the Task

First Level Data Flow Diagram(1st Level DFD) Of Employee


Management System :

42
First Level DFD (1st Level) of Employee Management System shows how the system is
divided into sub-systems (processes), each of which deals with one or more of the data
flows to or from an external agent, and which together provide all of the functionality of
the Online Employee Management System system as a whole. It also identifies internal
data stores of Task, Attendance, Salary, Leave, Designation that must be present in
order for the Employee Management system to do its job, and shows the flow of data
between the various parts of Employee, Designation, Attendance, Task, Salary of the
system. DFD Level 1 provides a more detailed breakout of pieces of the 1st level DFD.
You will highlight the main functionalities of Employee Management .

Main entities and output of First Level DFD (1st Level DFD):

 Processing Employee records and generate report of all Employee


 Processing Department records and generate report of all Department
 Processing Designation records and generate report of all Designation
 Processing Leave records and generate report of all Leave
 Processing Salary records and generate report of all Salary
 Processing Attendance records and generate report of all Attendance
 Processing Task records and generate report of all Task

43
44
Second Level Data Flow Diagram(2nd Level DFD) Of
Employee Management System :
DFD Level 2 then goes one step deeper into parts of Level 1 of Employee Management
It may require more functionalities of Employee Managementto reach the necessary
level of detail about the Employee Management functioning. First Level DFD (1st Level)
of Online Employee Management System shows how the system is divided into sub-
systems (processes). The 2nd Level DFD contains more details of Task, Attendance,
Salary, Leave, Designation, Department, Employee.

Low level functionalities of Employee Management System

 Admin logins to the system and manage all the functionalities of Employee
Management System
 Admin can add, edit, delete and view the records of Employee, Designation,
Salary, Task
 Admin can manage all the details of Department, Leave, Attendance
 Admin can also generate reports of Employee, Department, Designation, Leave,
Salary, Attendance
 Admin can search the details of Department, Salary, Attendance
 Admin can apply different level of filters on report of Employee, Leave, Salary
 Admin can tracks the detailed information of Department, Designation, Leave, ,
Salary

45
46
7.7 Activity Diagram

This is the Activity UML diagram of Employee Management System which shows


the flows between the activity of Employee, Experience, , Salary, Leaves. The
main activity involved in this UML Activity Diagram of Employee Management
System are as follows: Employee Activity

47
8. SYSTEM DESIGN

The systems objectives outlined during the feasibility study serve as the basis from
which the work of system design is initiated. Much of the activities involved at this stage
is of technical nature requiring a certain degree of experience in designing systems,
sound knowledge of computer related technology and through understanding of
computers available in the market and the various facilities provided by the vendors.

Nevertheless, a system cannot be design in isolation without the active involvement of


the user. The user has a vital role to pay at this stage too. As we know that data
collected during feasibility study will be utilized systematically during the system design.
It should, however, be kept in mind that detailed study of the existing system is not
necessary over with the completion of the feasibility study.

Depending on the plan of feasibility study, the level of detailed study will vary and the
system design stage will also vary in the amount of investigation that still needs to be
done.

This investigation is generally an urgent activity during the system design as the
designer needs to study minute’s details in all aspects of the system. Sometimes, but
rarely, this investigation may from a separate stage between Feasibility Study and
Computer System Design.

Designing a new system is a creative process, which calls for logical as well as lateral
thinking. The logical approach involves systematic moves towards the end product
keeping in mind the capabilities of the personnel and the equipment at each decision
making step.

Lateral thought implies encompassing of ideas beyond the usual functions and
equipment. This is to ensure that no efforts are being made to fit previous solutions into
new situations.

48
System Design Consideration:

The system design process is not a step-by-step adherence of clear procedure and
guidelines. Though, certain clear procedures and guidelines have emerged in recent
days, but still much of design work depends on knowledge and experience of the
designer.

When designer starts working on system design, he will face different type of problems.
Many of these will be due to constraints imposed by the user or limitations of the
hardware and software available in the market. Sometimes, it is difficult to enumerate
the complexity of the problems and solutions thereof since the variety of likely problems
is so great and no solutions are exactly similar. However, following considerations
should be kept in mind during the system-designing phase.

The primary objective of the design: Of course, is to deliver the requirements as


specified in the feasibility report. In general, the following design objectives should be
kept in mind:

 Practically: The system must be stable and can be operated by people with
average.
 Efficiency: This involves accuracy, timeliness and comprehensiveness of the
system
 Output.
 Cost: It is desirable to aim for a system with a minimum cost subject to the
condition that it must satisfy all the requirements.
 Security: This is very important aspect of the design and should cover areas of
hardware reliability, fall back procedures, physical security of the data and
provision for detection of fraud and abuse.
System design involves first logical design and then physical construction of the
system. The logical design describes the structure and characteristics of feature,
like the outputs, inputs, files databases and procedures. The physical

49
construction, which follows the logical design, procedures actual program
software, files and a working system.

The designer normally will work under following constraints:


 Hardware: The existing hardware will obviously affect the system design.
 Software: The available software (operation system, utilities, language etc.) in
the market will constrain the design.
 Budget: The budget allocated for the project will affect the scope and depth of
design.
 Time-scale: The new system may be required by a particular time (e.g. the start
of a financial year). This may put a constraint on the designer to find the best
design.
 Interface with other systems: The new system may require some data from
another computerized system or may provided data to another system in which
case the files must be compatible in format and the system must operate with a
certain processing cycle.

Processing Techniques:

The processing options available to be designer are:


 Batch processing
 Real-time processing
 On-line processing
 A combination of all the above
You are already aware of these techniques. It is quite interesting to note, however, that
a combination of these is often to be ideal in traditional data processing applications.
This increases throughput of the system as also brings down the response time of on-
line activities. In most of die business applications, 24-hours data is acceptable enough
and hence it is possible to update voluminous data after office-hours in batch mode.

50
8.1 DESIGN METHODOLOGIES

The scope of the systems design is guided by the framework for the new system
developed during analysis. More clearly defined logical method for developing system
that meets user requirements has led to new techniques and methodologies that
fundamentally attempt to do the following:
 Improve productivity of analysts and programmers
 Improve documentation and subsequent maintenance and enhancements
 Cut down drastically on cost overruns and delays
 Improve communication among the user, analyst, designer, and programmer.
 Standardize the approach to analysis and design
 Simplify design by segmentation.

51
8.2 STRUCTURED DESIGN

Structured design is a data flow based methodology. The approach begins with a
system specification that identifies inputs and outputs and describes the functional
aspects of the system. The specifications then are used as a basis for the graphic
representation. The next step is the definition of the modules and their relationships to
one another in a form called a structure chart, using a data dictionary and other
structured tools.

Logical design proceeds from the top down. General features, such as reports and
inputs are identified first. Then each is studied individually and in more detail. Hence,
the structured design partitions a program into small, independent modules. They are
arranged in a hierarchy that approximates a model of the business area and is
organized in a top-down manner. Thus, structured design is an attempt to minimize the
complexity and make a problem manageable by subdividing in into smaller segments,
which is called Modularization or decomposition. In this way, structuring minimizes
intuitive reasoning and promotes maintainable provable systems.

A design is said to be top-down if it consists of a hierarchy of modules, with each


module having a single entry and a single exit subroutine. The primary advantages of
this design are as follow:

 Critical interfaces are tested first.


 Early versions of the design, though incomplete, are useful enough to resemble
the real system.
 Structuring the design, perse, provide control and improves morale.
 The procedural characteristics define the order that determine processing.

52
Major System Design Activities:

Several development activities are carried out during structured design. They are data
base design, implementation planning, system test preparation, system interface
specification, and user documentation.

 Data base design: This activity deals with the design of the physical database.
A key is to determine how to access paths art to be implemented.
 Program design: In conjunction with database design is a decision on the
programming language to be used and the flowcharting, coding, and debugging
procedure prior to conversion. The operating system limits the programming
languages that will run of the system.
 System and program test preparation: Each aspect of the system has a
separate test requirement. System testing is done after all programming and
testing completed the test cases cover every aspect of the proposed system,
actual operations, user interface and so on. System and program test
requirement becomes a part of design specifications – a pre requisite to
implementation.

53
8.3 MODULE COUPLING

Coupling is the measure of the degree of interdependence between modules. Two


modules high coupling are strongly interconnected and thus, dependent on each other.
Two modules with low coupling are not dependent on one another. “Loosely coupled”
systems are made up to modules which are relatively independent. “Highly coupled’
systems share a great deal of dependence between modules.

DATA COUPLING
The dependency between module A and B is said to be coupled it their dependency is
based on the fact they communicate by only passing of data

STAMP COUPLING
Stamp coupling occurs between module A and B when complete data structure is
passed from one module to another.

CONTROL COUPLING
Module A and B are said to be control coupled if they communicate by passing of
control information.

EXTERNAL COUPLING
A form of coupling in which has a dependency to other module, external to the software
being developed or to a particular type of hardware.

54
COMMON COUPLING
With common coupling, module A and B have shared data. Global data areas are
commonly found in programming languages. Making a changes to the common data
means tracing back to all the modules which access that data to evaluate the effect of
change.

CONTENT COUPLING
Content coupling occurs when module a changes data of module B or when control is
passed from one to the middle of another.

55
8.4 MODULE COHESION

Cohesion is a measure of the degree to which the elements of a module are functionally
related. A strongly cohesion module implements functionality that is related to one
feature of the solution and requires little or no interaction with other modules

FUNCTIONAL COHESION
X and Y are part of a single functional task. This is very good reason for them to be
contained in the same procedure.

SEQUENTIAL COHESION
X output some data which forms the input to Y. This is the reason for them to be
contained in the same procedure.

COMMUNICATIONAL COHESION
X and Y both operate on the same input data or contribute towards the same output
data. This is okay, but we might consider making them separate procedures.

PROCEDURAL COHESION
X and Y are both structured in the same way. This is a poor reason for putting them in
the same procedure. Thus, procedural cohesion occurs in modules whose instructions
although accomplish different tasks yet have been combined because there is a specific
order in which the tasks are to the completed.

TEMPORAL COHESION
X and Y both must perform around the same time. So, module exhibits temporal
cohesion when it contains tasks the are related by the fact that all tasks must be
executed in the same-span.

56
LOGICAL COHESION
X and Y perform logically similar operations. Therefore, logical cohesion occurs in
modules that contain instruction that appear to be related because they fail into the
same logical class.

COINCIDENTAL COHESION
X and Y here no conceptual relationship other than shared code Hence, coincidental
cohesion exists in modules that contain instructions that have little or no relationship to
one another.

57
8.5 STRATEGY DESIGN

A good system design strategy is to organize the program modules in such a way that
are easy to develop and later to, change. Structured design techniques help developers
to deal with the size and complexity of programs. Analysts create instructions for the
developers about how code should be written and how pieces of code should fit
together to form a program.

BOTTOM UP DESIGN
These approach lead to a design where we decide how to combine these modules to
provide larger ones; to combine those to provide a large ones, and so on, till we arrive
at one big module which is the whole of the desired program. The set of these modules
form a hierarchy. This is a cross-linked tree structured in which each module is
subordinate to those in which it is used.
Since the design progressed form bottom layer upwards, the method is called bottom up
design. This method has one terrible weakness; we need to use a lot of intuition to
design exactly what functionality a module should provide. If we it wrong, then at higher
level, we will find that it is not as per requirements; then we have to redesign at a lower
level.

TOP-DOWN DESIGN
A top design approach starts by identifying the major modules of the system,
decomposing them into lower level and iterating until the desired level of detail is
achieved. This is a stepwise refinement; starting from an abstract design, in each step
the design is refined to a more concrete level, until we reach a level where no
refinement is needed and the design can be implemented directly. Most design
methodologies are based on this approach is suitable, if the specifications are clear and
development is from the scratch.

58
HYBRID DESIGN

Hybrid approach has really become popular after the acceptance of reusability of
modules. Standard libraries, Microsoft foundation classes, object oriented concepts are
steps in this direction. We may soon have internationally acceptable standards for
reusability.

59
9. SYSTEM TESTING AND IMPLEMENTATION

9.1 TESTING

During systems testing, the system is used experimentally to ensure that the software
does not fail. In other words, we can say that it will run according to its specifications
and in the way users expect. Special test data are input for processing, and the results
examined. A limited number of users may be allowed to use the system so that analyst
can see whether they try to use it in unforeseen ways. It is desirable to discover any
surprises before the organization implements the system and depends on it.

Software modules are tested for their functionality as per the requirements identified
during the requirements analysis phase. To test the functionality of the file transfer and
chat application, a Quality Assurance (QA) team is formed. The requirements identified
during the requirements analysis phase are submitted to the QA team. In this phase the
QA team tests the application for these requirements. The development team submits a
test case report to the QA team so that the application can be tested in the various
possible scenarios.

The software development project, errors can be injected at any stage during
development i.e. if there is an error injected in the design phase then it can be detected
in the coding phase because there is the product to be executed ultimately on the
machine, so we employ a testing process.

60
During the testing the program to be tested is executed with certain test cases and
output of these test cases is evaluated to check the correctness of the program. It is the
testing that performs first step in determining the errors in the program.

TEST CASES AND TEST CRITERIA

During Test Cases that are good at revealing the presence of faults is central to
successful testing. The reason for this is that if there is a fault in the program, the
program can still provide the expected behavior on the certain inputs. Only for the set of
inputs the faults that exercise the fault in the program will the output of the program
devise from the expected behavior. Hence, it is fair to say that testing is as good as its
test case.

The number of test cases used to determine errors in the program should be minimum.
There are two fundamental goals of a practical testing activity:-

 maximize the number of errors detected and.


 minimize the number of test cases.

As these two goals are contradictory so the problem of selecting test cases is a complex
one. While selecting the test cases the primary objective is to ensure that if there is an
error or fault in the program, it is exercised by one of its test cases. An ideal test case is
one which succeeds (meaning that there are no errors, revealed in its execution) only it
there are no errors in the program one possible set of ideal test cases is one which
includes all the possible inputs to the program. This is often called "exhaustive testing",
however it is impractical and infeasible as even a small program can have an infinite
input domain.

61
So to avoid this problem we use "test criteria" in selection of the test cases. There are
two aspects of the test case selection:-

 specifying a criteria for evaluating the test cases


 generating the set of cases that satisfy a given criteria.

The fully automated process of generating test criteria has not been yet found rather
guidelines are only the automated tool available to us previously. The two fundamental
properties for a testing criterion are:-

 Reliability: a criterion is reliable if all the sets that satisfy the criteria detect the
same error. .
 Validity: a criterion is valid if for any error in the program there is some set
satisfying the criteria that will reveal the error.

The fundamental theorem of testing is that if a testing criterion is valid and reliable, if a
set satisfying criteria succeeds then the program contains no errors.

62
9.2 LEVEL OF TESTING

There are two fundamental approaches to testing they are:

Functional Testing/Black Box Testing:

In functional testing the structure of the program is not considered. Test cases are
solely determined on the basis of requirement or specification of the program or module.
Internals of the modules and the programs are not considered for selection of test
cases. Due to this nature it is also called "black box testing".

The most obvious functional testing procedure is "exhaustive testing", which is


impractical.

The other criteria for generating the test case are to generate them "randomly" this
strategy has a little chance of resulting in a test case that is close to optimal.

There is no appropriate criterion for developing the test case so we have certain
heuristic approaches-:

a) Equivalence Class Partitioning: in which the domain of all inputs is divided into a
set of equivalence classes, so that if any test in that class succeeds, then every test in
that class will succeed i.e. the success of one set element implies the success of the
other.

63
b) Boundary Value Analysis: It has been observed that programs work correctly for a
set of values in an equivalence class fail on certain values. These values generally lie
on the boundary of equivalence class. So in the boundary value analysis we chose an
input for a test case from an equivalence class, such that input lies on the edge of
equivalence class. Boundary value test cases are also called "extreme cases".

c) Cause-Effect Graphing: The problem with the prior approaches is that they consider
each input separately i.e. both concentrate on classes and conditions of one input. The
combination of inputs is not considered which is used in many cases. One way to
exercise the combination of various input conditions is to consider all the valid
combinations of the equivalence class of the input conditions. The technique starts with
identifying the causes and the effect of system under testing.

STRUCTURAL TESTING:

In the structural approach the test cases are generated an the basis of the actual code
of the program or the module to be tested, This structural approach is sometimes called
"glass box testing", This testing is concerned with the implementation of the program.
The content is not to exercise the various input conditions rather different programming
structures and data structures used in the program.

There are three different approaches to structural testing they are- :

) Control flow based criteria:

64
Most common structure based criteria use control flow based testing in which the
control flow graph of the program is considered and coverage of various aspects of
graph are specified as criteria. The various control flow based strategies are

 statement coverage,
 branch coverage and
 all path coverage

b) Data Flow based testing:

The basic idea behind the data flow based testing is to make sure that during testing,
the definitions of variables and their subsequent use is tested. To implement the data
flow based testing the data flow graph is first made from the control flow graph.

) Mutation Testing:

In the above two testing techniques the focus is on which path to be executed, but
mutation testing is not a path-based approach. The mutation testing requires that the
set of test cases must be such that they can distinguish between the original programs
and is mutants. In software world there is no fault model as in hardware so most of the
techniques do guess work regarding where the fault must lie and then select the test
cases to reveal those faults. In Mutation testing faults of some pre-decided types are
introduced in the program being tested. Then those faults are found in the mutants.

65
9.3 IMPLEMENTATION

Implementation is the process of having systems personnel check out and put new
equipment into use, train users, install the new application and construct any files of
data needed to use it. This phase is less creative than system design. Depending on the
size of the organization that will be involved in using the application and the risk
involved in its use, systems developers may choose to test the operation in only one
area of the firm with only one or two persons. Sometimes, they will run both old and new
system in parallel way to compare the results. In still other situations, system
developers stop using the old system one day and start using the new one the next.

66
9.4 EVALUATION

Evaluation of the system is performed to identify its strengths and weaknesses. The
actual evaluation can occur along any of the following dimensions:

1. Operational Evaluation: Assessment of the manner in which the system


functions, including case of use, response time, overall reliability and level of
utilization.
2. Organizational Impact: Identification and measurement of benefits to the
organization in such areas as financial concerns, operational efficiency and
competitive impact.
3. User Manager Assessment: Evaluation of the attitudes of senior and user
manager within the organization, as well as end-users.
4. Development Performance: Evaluation of the development process in
accordance with such yardsticks as overall development time and effort,
conformance to budgets and standards and other project management criteria.

67
9.5 MAINTENANCE

Maintenance is necessary to eliminate errors in the working system during its working
life and to tune the system to any variations in its working environment often small
system deficiencies are found as a system is brought into operations and changes are
made to remove them. System planners must always plan for resource availability to
carry out these maintenance functions. The importance of maintenance is to continue to
bring the new system to standards.

68
10. DOCUMENTATION

10.1 CODING

Coding is a process of translating designs into machine

Once the design is complete, most of the major decision about the system has been
made. The goal of the coding phase is to translate the design of the system into code in
a given programming language. For a given design, the aim of the phase is to
implement the design in the best possible manner.

The coding phase affects both testing and maintenance profoundly. A well written code
reduces the testing and maintenance effort. Since the testing and maintenance cost of
software are much higher that the coding cost, the goal of coding should be to reduce
the testing and maintenance effort. Hence, during coding the focus should be on
developing programs that are easy to write. Simplicity and clarity should be strived for,
during the coding phase.

An important concept that helps the understandability of programs is structured


programming. The goal of structured programming is to arrange the control flow in the
program. This is, program text should be organized as a sequence of statements, and
during execution, and the statements are executed in the sequence in the program.

For structured programming, a few single-entry-single-exit constructs should be used.


These constructs includes selection (if-then-else), and iteration (while – do, repeat –
until etc). With these constructs it is possible to construct a program as sequence of
single – entry – single – exit constructs.

69
These are many methods available for verifying the code. Some methods are static in
nature that is, that is they do not involve execution of the code.

Example of such methods is data flow analysis, code reading, code reviews, testing (a
method that involves executing the code, which is used very heavily). In the coding
phase, the entire system is not tested together. Rather, the different modules are tested
separately. This testing of modules is called “Unit Testing”. Consequently, this phase is
often referred to as “coding and until testing”. The output of this phase is the verified
and until tested code of the different modules.

70
 SOURCE CODE:

#include<iostream>

#include<conio.h>

#include<cstdlib>

#include<cstring>

#include<cstdio>

#include<windows.h>

#include<unistd.h>

using namespace std;

class employee{

private:

// Variables for employee details

char name[30];

char id[5];

char designation[10];

int age;

int ctc;

int experience;

71
// Utility functions

void waitForEnter(void){

cout<<"\n\n\n Press enter to go back \n\n";

cin.get();

cin.get();

// Functions to perform desired actions

void listEmployees(void){ //To list total employees with Name, Id and


Designation

system("cls");

FILE *file;

file= fopen("data.txt", "r");

cout<<"\n\t List of Employees\n";

cout<<"\n----------------------------------------------";

cout<<"\n NAME | ID | DESIGNATION\n";

cout<<"----------------------------------------------";

while(fscanf(file, "%s %s %s %d %d %d", &name[0], &id[0] ,


&designation[0], &age, &ctc, &experience)!= EOF)

cout<<"\n"<<name<<"\t\t"<<id<<"\t\t"<<designation;

fclose(file);

waitForEnter();

72
void showDetails(void){ //Displays all details according to Employee's id

system("cls");

FILE *file;

char checkId[5];

cout<<"\n\nEnter Employee ID: ";

cin>>checkId;

file= fopen("data.txt", "r");

while(fscanf(file, "%s %s %s %d %d %d", &name[0], &id[0] ,


&designation[0], &age, &ctc, &experience)!=EOF)

if(strcmp(checkId,id)==0){

cout<<"\n---------------------";

cout<<"\nName: "<<name;

cout<<"\n---------------------";

cout<<"\nId: "<<id;

cout<<"\n---------------------";

cout<<"\nDesignation: "<<designation;

cout<<"\n---------------------";

cout<<"\nAge: "<<age;

cout<<"\n---------------------";

cout<<"\nCTC: "<<ctc;

cout<<"\n---------------------";

cout<<"\nExperience: "<<experience;

73
cout<<"\n---------------------";

fclose(file);

waitForEnter();

void editExisting(void){ //edits Designation and CTC of an employee

system("cls");

char checkId[5];

cout<<"\nEnter employee id: ";

cin>>checkId;

char newDesignation[10];

cout<<"\n-----------------------------";

cout<<"\nEnter new designation: ";

cin>>newDesignation;

int newCtc;

cout<<"------------------------------";

cout<<"\nEnter new CTC: ";

cin>>newCtc;

FILE *file, *tempfile;

file= fopen("data.txt", "r");

tempfile= fopen("temp.txt", "w");

74
while(fscanf(file, "%s %s %s %d %d %d", &name[0], &id[0] ,
&designation[0], &age, &ctc, &experience)!=EOF){

if(strcmp(checkId, id)==0)

fprintf(tempfile, "%s %s %s %d %d %d \n", name, id, newDesignation,


age, newCtc, experience );

else

fprintf(tempfile, "%s %s %s %d %d %d \n", name, id, designation, age,


ctc, experience );

fclose(file);

fclose(tempfile);

int isRemoved= remove("data.txt");

int isRenamed= rename("temp.txt", "data.txt");

waitForEnter();

void addNewEmployee(void){ //adding records

system("cls");

cout<<"\n----------------------------------------";

cout<<"\n Enter First Name of Employee: ";

cin>>name;

cout<<"\n----------------------------------------";

cout<<"\n Enter Employee ID [max 4 digits]: ";

75
cin>>id;

cout<<"\n----------------------------------------";

cout<<"\n Enter Designation: ";

cin>>designation;

cout<<"\n----------------------------------------";

cout<<"\n Enter Employee Age: ";

cin>>age;

cout<<"\n----------------------------------------";

cout<<"\n Enter Employee CTC: ";

cin>>ctc;

cout<<"\n----------------------------------------";

cout<<"\n Enter Employee Experience: ";

cin>>experience;

cout<<"\n----------------------------------------";

char ch;

cout<<"\nEnter 'y' to save above information\n";

cin>>ch;

if(ch=='y'){

FILE *file;

file= fopen("data.txt","a");

fprintf(file, "%s %s %s %d %d %d \n", name, id, designation, age, ctc,


experience );

76
fclose(file);

cout<<"\nNew Employee has been added to database\n";

else

addNewEmployee();

waitForEnter();

void deleteEmployeeDetails(void){ //removing records

system("cls");

char checkId[5];

cout<<"\n----------------------------------";

cout<<"\nEnter Employee Id To Remove: ";

cin>>checkId;

char ch;

cout<<"----------------------------------";

cout<<"\n\n\n\n\nCONFIRMATION\nEnter 'y' To Confirm Deletion \n";

cin>>ch;

if(ch=='y'){

FILE *file, *tempfile;

file= fopen("data.txt", "r");

tempfile= fopen("temp.txt", "w");

77
while(fscanf(file, "%s %s %s %d %d %d", &name[0], &id[0] ,
&designation[0], &age, &ctc, &experience)!=EOF)

if(strcmp(checkId, id)!=0)

fprintf(tempfile, "%s %s %s %d %d %d \n", name, id, designation,


age, ctc, experience );

fclose(file);

fclose(tempfile);

int isRemoved= remove("data.txt");

int isRenamed= rename("temp.txt", "data.txt");

cout<<"\nRemoved Successfully\n";

waitForEnter();

else

deleteEmployeeDetails();

public:

// Function to serve as end point

void options(void){ //menu

int login(); //login declaration

login();//login screen

while(true){

78
system("cls");

// Options to choose an action

cout<<"\n\t\t\t>>>>>>>>> EMPLOYEE MANAGEMENT SYSTEM


<<<<<<<<<";

cout<<"\n";

cout<<"\n\t\t\t------------------------------------------------";

cout<<"\n\t\t\tENTER 1: To View List of Employees";

cout<<"\n\t\t\t------------------------------------------------";

cout<<"\n\t\t\tENTER 2: To View Employee Details";

cout<<"\n\t\t\t------------------------------------------------";

cout<<"\n\t\t\tENTER 3: To Modify Existing Employee Details";

cout<<"\n\t\t\t------------------------------------------------";

cout<<"\n\t\t\tENTER 4: To Add New Employee Details";

cout<<"\n\t\t\t------------------------------------------------";

cout<<"\n\t\t\tENTER 5: To Remove an Employee Details";

cout<<"\n\t\t\t------------------------------------------------";

cout<<"\n\t\t\tENTER 0: To Exit ";

cout<<"\n\t\t\t------------------------------------------------";

cout<<"\n\n\t\t\t Please Enter Your Choice: ";

// Taking the action input

int choice;

79
cin>>choice;

// Calling relevant function as per choice

switch (choice) {

case 0:

system("CLS");

cout<<"\n\nEMPLOYEE MANAGEMENT SYSTEM \n\n Brought To


You By code-projects.org\n\n ";

Sleep(10);

return;

case 1:

listEmployees();

break;

case 2:

showDetails();

break;

case 3:

editExisting();

break;

case 4:

addNewEmployee();

break;

case 5:

deleteEmployeeDetails();

80
break;

default:

cout<<"\n Sorry! I don't understand that! \n";

break;

};

int main(){

// Call the options function

employee e;

e.options();

return 0;

int login(){ //login procedure

string pass ="";

char ch;

cout <<"\n\n\n\n\t\t\t\t\tEMPLOYEE MANAGEMENT SYSTEM";

cout <<"\n\n\n\n\n\t\t\t\t\tEnter Your Password :";

81
ch = _getch();

while(ch != 13){//character 13 is enter

pass.push_back(ch);

cout << '*';

ch = _getch();

if(pass == "pass"){

cout<<"\n\n\n\t\t\t\t\tLOADING \n\t\t\t\t\t";

for(int a=1;a<8;a++) // Change 'a<?' to how many * you want

Sleep(500);

cout << "...";

cout << "\n\n\n\t\t\t\t\tAccess Granted!! \n\n\n";

system("PAUSE");

system("CLS");

}else{

cout << "\nAccess Aborted...\n";

login();

82
10.2 SCREEN SHOTS

83
84
85
86
87
88
89
90
91
92
93
94
95
96
11. CONCLUSION
97
In this report, an information system’s development has been presented. It was
emphasized on the basic steps, consequently taken during the project’s
development course as a particular attention was turned to the basic operative
functions performed upon the data into the database. The report’s content comprises
the whole task solution, starting from the programming environments have been
selected, going through the database, the application’s analyze and construction,
and finishing with the code-implementation and test-samples, shown separately in
Appendix chapters. As a future work, some additional stuff could be implemented
and integrated into the application code making it much more reliable and flexible;
especially what concerns a pay-roll module, for instance. Apparently, the role of
such systems is basic and essential within each company that wants to keep a really
good control and record concerning its personnel data, functionality and
performance on all levels in its structure. Every organization, in nowadays, has the
necessity of managing its staff on a really good level as the staff has definitely the
greatest merit of building up a company as such as it is. The wellmanaged staff
means giving the appropriate financial award-ness and all kind of benefits as such
as they have been deserved. That’s why the development of such systems is not
just a programming business – a lot of people are ordinarily involved in such projects
and one of the basic requirements is the reliability of the system, especially what
concerns the storage of data and all of the operations that will be performed upon it.

12. REFERENCES

98
1. Begg Carolyn, Connolly Thomas, Database systems (a Practical approach to
Design, Implementation, and Management), Addison-Wesley, an imprint of
Pearson Education, University of Paisley (U.K.), Fourth edition 2005
2. Bodnar George /Duquesne University/, Hopwood William /Florida Atlantic
University/, Accounting Information systems, Eighth Edition, Prentice Hall, Upper
Saddle River, New Jersey .
3. Andersen Virginia, Access 2000: The Complete Reference, Blacklick, OH,
USA: McGraw-Hill Professional Book Group, 2001,
http://site.ebrary.com/lib/vaxjo/Doc?id=5002842 (2006-05-25).
4. Andersson Tobias, [DAB744] C# Course Lectures, School of Mathematics
and System Engineering, Växjö University.
5. http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/vbcon/html/vboritextboxctltasks.asp (2006-05-25).

13.BIBLIOGRAPHY

99
 www.google.com
 www.wikipedia.com
 www.studymafia.org
 www.pptplanet.com

100

You might also like