Sei sulla pagina 1di 46

SAMPURNANAND SANSKRIT VISWAVIDYALAYA VARANASI

Sant Ravidas Bharatiya Takaniki Evam Vyavasayik Siksha Sansthan


Session 2011-12

A project report on

EMPLOYEE MANAGEMENT SYSTEM

Submitted in fulfillment for the award of the Diploma of

Post Graduate Diploma in Computer Application (PGDCA)

Guide by
Mr. Vijay Mani Tripathi Mr. Mohit Shukla Mr. Asha Pati Shastri

Submitted By
Meena Mishra Simi Shukla Priti Singh

Index
SL No. TOPIC

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

TITLE OF THE PROJECT ACKNOWLEDGEMENT INTRODUCTION OBJECTIVE SOFTWARE REQUIREMENT HARDWARE REQUIREMENT CODING SCREEN SHOTS CONCLUSION FUTURE SCOPE & ENHANCEMENT BIBLOGRAPHY

ACKNOWLEDGEMENT
It is the matter of great satisfaction for us that we are making our project on EMPLOYEE MANAGEMENT SYSTEM. There were certain other people involved in this project that helped us in completing this project on time. They provided us the kind of backing up that one requires for successful completion of the task. We are extremely thankful to the faculties of class who gave us a helping hand whenever we faced any sort of difficulties during our project work. We would like to acknowledge our parents who provided the able support in all respects and our friends who supported us in completing our project work. Above all, we would like to thank our project guide, Mr.Vijay Mani Tripathi and Mr. Mohit Mishra and Mr. Asha Pati Sashtri who helped us whenever we needed him. He provided all the information pertaining to the project regarding database design and also kipped us in removing the inadequacies of the project.

Introduction
Employees are the spine of any company; their management plays a major role in the ultimate success of the organization. In a consistent format. in all fields and sectors The revolutionary trends of computerization have reached the peaks achieving global goals. The Employee systems getting computerized are leading to a new and innovative way to approach to above said. With the major organizations hosting services of EMS our project specifically aims to the total computerization of maintain data of Employee. Todays trend demands high rate of automation for the Employee Management as the organizations are growing in exponential form and maintaining employment records. Using this software, the companies can gather, organize and manage all information of the staff as and when required. The workforce management requirements vary from organization to organization. So, we develop custom employee information management software that could be the exact fit for your companys needs This software allows you to edit your employees, add new employees, show list of employees and delete data of employee. Each employee in the database is associated with a position, which you can add/edit as well.

Thanks,

Objective
Your employees are the core of any company and the main factors in determining a companys success or growth. This makes it very important to invest in effective and well planned employee management system and I m going to help you choose the right employee management system for your business that will help you create a good management system.

Quick availability of accurate information makes it easy for the heads to determine future management requirements that result in higher productivity

Maintain the record of the tasks performed by all employees in an individual manner, which turns helpful for the management during their yearly or quarterly appraisals

It performs a number of functions such as employee data analysis, employee monitoring, centralized employee database, worksheet & timesheet management, and so on.

Decrease in the overall administration and managerial cost Higher profits and reduced burdens Easy to use software that meet all your business requirements efficiently.

HARDWARE &SOFTWARE REQUIRMENT

The Installation of the software is very easy but it is to be ensured by the user that the following software and hardware requirements are met at the time of installation.

SYSTEM REQUIREMENT SPECIFICATION


In this section, we are going to discuss about the hardware and software requirements of the software so as I can work properly and also we are going to discuss about the tools which are going to be used to code the software.

HARDWARE SPECIFICATION:It is recommended that the minimum configuration for clients is as appended below:Suggested Configuration of Windows clients:Microprocessor Ram Hard Disk :::Pentium-III & Above 256MB of RAM 20 gigabytes (GB) on installation drive, This includes 500 MB on system drive. CD ROM Drive Printer Scanner :::52 X CD ROM Drive High quality laser printer. High quality Scanner.

SOFTWARE SPECIFICATION
LANGUAGE/PLATFORM USED

Microsoft Windows XP OS. Turbo C++ MS office. Printer s/w installed. Scanner s/w installed.

Software Engineering Paradigm


Software Characteristics The following are the main characteristics of the software: 1. The software will be user friendly. Any user with the basic computer skills will be able to use the web site. 2. This has minimum hardware requirements so that much efficient coding. 3. It will be highly secure application software. Only authorized person will be able to use the software. 4. The site can be used on both Internet and Intranet without any major changes. Modular approach is used for developing the proposed system A system is considered modular if it consists of discrete components so that each component can be implemented separately and a change to one component has minimal impact on other components Every system is a hierarchy of components This system is not a exception to design such a Hierarchy there are two approaches:

1. Top down 2. Bottom up Both approaches have some merits & demerits for this system top-down approach have been used. It starts by identifying the major components of the system. Decomposing them into their lower level components and iterating until the derived level of detail is achieved. Top-down design method often results in some form of stepwise refinement starting from an abstract design, in each step the design is refined to a concrete level, until we reach a level where no more refinement is needed & the design can be implemented directly. A

top-down approach is suitable only if the specification of the system is from scratch.

A bottom-up approach starts with designing the basic or primitive components and proceeds to higher level components that use the lower level components. Requirement of user is most important factor associated with, any software & for that purpose prototyping model is used.

Prototyping has certain advantage s like we dont have to freeze the user requirement before any design and coding can proceeds, instead a throw away prototyping is build to help understand the requirements. Development of prototype is built to help understand the requirements. Development of prototype obviously undergoes design, coding & testing but each of these phases is not done very formally or thoroughly.

By using this prototype the client can get an actual feel of the system, since the interaction with the prototype can enable the client to better understand the requirement of the desired system. Because the system is complicated & large and there is no existing system (computerized) Prototyping is an attractive idea. It is also an effective method of demonstrating the feasibility of the certain approach.

LIMITATION OF THE EXISTING SYSTEM

In this section, we shall discuss the limitation and drawbacks of the existing system that forced us to take up this project. This problem produced a need to change the existing system. Some of these shortcomings are discussed below:

LOW FUNCTIONALITY

With the existing system, the biggest problem was the low functionality of the Employee system. The problem faced hampered the work of the Employee system. For small tasks like keeping the record a large number of employees are appointed who would have been utilized in other useful tasks.

ERRONEOUS INPUT AND OUTPUT

In the existing system, humans performed all the tasks. As in the human tendency, errors are also possibility. Therefore, the data entered by the employee in the register may not be absolutely foolproof and may be erroneous. As a result of wrong input, the output reports etc. will also be wrong which would in turn affect the performance of the system.

PORTABILITY

System that existed earlier was manual. As a result, the system was less portable. One has to carry the load of so many records to take the data from one place to another. A big problem was that the system was less flexible and if one wanted to make a change would need to change in all the register that would also prove to be big headache.

SECURITY

Security concern was also one of the motives of the EMPLOYEE SYSTEM for the need of the software. In the records, the data is not secure as anybody can temper with the data written in the records. Also for the security of the register, a lot of problem arises to store the records in a place and the appointment of security personal can also cost a bit. Whereas in the given web service, just the password make it absolutely secure from the reach of unauthorized users.

DATA REDUNDANCY

In the case of manual system, the records are maintained in which a lot of data is written. Therefore there is a problem in the records that the same data may be written again and again against the employee no, a lots of data will be repeated which will cause a lot of problems at the time of query as well as at the time of preparing the reports because a single data that will be left mistakenly will largely affect the report and subsequently the performance of the EMPLOYEE system. In the software the concept of the primary key

and foreign key is used very efficiently which will prevent the redundancy of data that will prove to be very beneficial to the EMPLOYEE system because it will nullify the human error completely.

PROCESSING SPEED

In manual system, for a simple work, a number of employees are appointed and in case of a number of calculation and in preparation of EMPLOYEE system report, they will take a lot of time, which will affect the performance of the MOBILE system as well as hamper the progress of the EMPLOYEE system. It also affects the speed of working in the EMPLOYEE system and the work that could be completed in a small span of time would take a lot of time. But in the case of software, all the tasks are performed at the touch of the key, which improves the performance.

FINANCIAL PROBLEMS

One other area of major concern is the unnecessary drainage of the capital of the concerning body by means of payment to the employees that are appointed to familial the tasks that, the software can perform in seconds. When this software will be implemented, this one will save a lot of colleges capital in the year to come that will improve the position of the company by a large extent.

MANUAL ERRORS

When a number of tough tasks are prepared by the human like the preparation of reports, preparation of employee system records etc. then some errors at obvious due to a number of factor like mental stress , tiredness etc. But as we know that computer never gets tires irrespective of the amount of the woks it has to do. So this software can nullify the probability of manual error that improves the Employee system performance.

COMPLEXITY IN WORK
In manual system, whenever the record is to be updated or to be deleted, a lot of cutting and overwriting needs to be done on all the register that are concerned deleted or updated record which make the work very complex. However in the software, once a record is updated or deleted, all the concerned changes are made in the database automatically. The above are the limitation of the existing system that forced the Employee system to request for foolproof software that would help Employee system get rid of all the above problems. In the subsequent sections, we will discuss the steps that were involved in the successful completion of the project in details.

APPROACH TO PROBLEM SOLVING


In software engineering there are various process models, which deal with the way the software is made Since the when it is not clear what the requirement is before designing the system, and system requirement can change then the best approach is to use PROTOTYPE MODEL In this project the requirement were not known before head Therefore I have used Prototype as an approach for designing the new system

PROTOTYPING MODEL

The goal of a prototyping-based development is that instead of freezing the requirements before any design or coding can proceed, a throwaway prototype is built to help understand the requirements. Development of prototype model obviously undergoes design, coding and testing but for each phase is not done very formally or thoroughly By using this prototype, the client can get an actual feel of the system, because the interaction with the prototype can enable the client to better understand the requirements of the desired system. This result in more stable requirement changes less frequently. After the prototype is made, the end users and the clients are given an opportunity to use the prototype and play with it. Based on their experience, they provide feedback to the developers regarding the prototype: what is correct, what needs to be modified, what is needed, what is wrong and suggest changes that can be done easily. Then the client and user are given the prototype again This cycle continues until in judgment of the prototype and analysts, the benefit from further changing the system and obtaining feedback is overweigh by the cost and time involved in making the changes and obtaining the feedback. Back on the feed back, the initial requirement specification which is then used to develop the production quality system.

DESCRIPTION OF THE PROPOSED SYSTEM

The basic aim in the proposed new system was to provide all improvised functionality and flavors of the existing system minus the entire drawbacks or the shortcoming analyzed with front-end like C++ most of the major irritants due to the convention file system were removed without any efforts. All records in this system are stored in separate databases that are updated regularly, so whenever required these databases used to respond to user queries. Several other aspects that the proposed system provides are easy updating, insertion and deletion of the customer detail along with this it is also capable of showing all customers information.

EXPECTATIONS FROM THE PROPOSED SYSTEM

The basic aim of the system was to provide all improved function minus all drawbacks that existed in the previous system. All the major drawback or shortcomings listed are removed. The advantage that occurred from having centralized control of data was following: Redundancy could be removed Security checks could be incorporated Standard could be forced Inconsistency could be removed to some extent

Performance Requirement
The following performance requirements were taken care of in developing the system:-

USER FRIENDLY The system is easy to learn and understand. A native user can use the system efficiently without any difficulty.

USER SATISFACTION The system is also such that it stands utmost to the user expectation

QUICK RESPONSE The rest time had been tried to keep minimum though there exited a bulk of data.

SECURITY The program is able to apply some security checks.

ROBUSTNESS The system recovers from undesired system without human intervention.

BENEFITS FROM THE PROPOSED SYSTEM

Computer system is a new system based on modern technologies. This system is primarily used to overcome the drawbacks of the manual system and also for the additional benefits, which are not possible otherwise. The advantages of the computer-based system can be listed in brief as given below: Computer saves the manpower In our cases reports are prepared accurately, easily and economically with the help of computer. If computer system is properly managed and protected, malpractice and tempering may be checked completely. Differently types of inferences may he drawn which is not possible manually. Neat and clean print out is obtained through computers. Paper records are damaged easily and preparation of second copy is very tedious job having big possibilities of human, logical, and technical errors. If due care is not taken, duplicate records may not be mirror image of that of original one. Computer easily tackles this problem, where number of backup copies can be prepared easily. Storage media that are used in computers are compact and safe as that voluminous data can be stored in a very small place. This automated system is less time consuming and quite efficient. This system is user friendly .Since it is menu driven software so it is easily understandable by the user. As the system is computerized there wont be any calculation mistake, moreover proper checks have been incorporated to detect any kind of errors. There is no data redundancy Since data in the computer is normalized form there wont be repetition of same data at different levels there are proper constraints incorporated to check the repetition of data. Computerization will increase throughput of the system as the retrieval of the information is fast depending on the user requirement. All the report can be prepared without delay.

Coding
#include<iostream.h> #include<string.h> #include<iomanip.h> #include<dos.h> #include<conio.h> #include<stdio.h> #define max 20 struct employee { char name[20]; long int code; char designation[20]; int exp; int age; }; int num; employee emp[max],tempemp[max],sortemp[max],sortemp1[max]; void main() { clrscr(); void build(); void list(); void insert(); void deletes(); void edit(); void search();

void sort(); char option; void menu(); menu(); while((option=cin.get())!='q') { switch(option) { case 'b': build(); break; case 'l': list(); break; case 'i': insert(); break; case 'd': deletes(); break; case 'e': edit(); break; case 's': search(); break; case 'n': sort();

break; } menu(); } } void menu() { clrscr(); highvideo(); cout<<" "; cprintf("*****...WelCome To Employee Data Centre...*****"); normvideo(); cout<<endl; cout<<"\n"; cout<<"Press b---->Built The Employee Table "; cout<<"\n"; cout<<"Press l---->List The Employee Table"; cout<<"\n"; cout<<"Press i---->Insert New Entry"; cout<<"\n"; cout<<"Press d---->Delete An Entry"; cout<<"\n"; cout<<"Press e---->Edit An Entry"; cout<<"\n"; cout<<"Press s---->Search A Record"; cout<<"\n"; cout<<"Press n---->Sort The Table"; cout<<"\n";

cout<<"Press q---------->QUIT "; cout<<"\n"; cout<<"Option Please ----->"; }

void build() {

clrscr(); highvideo(); cprintf("Build The Table "); cout<<endl; normvideo(); cout<<"maximum number of entries ----- > 20"<<endl; cout<<"\nhow many do you want ----->"; cin>>num; cout<<"\nEnter The Following Items"; for(int i=0;i<=num-1;i++) { cout<<"\nName "; cin>>emp[i].name; cout<<"\nCode "; cin>>emp[i].code; cout<<"\nDesignation "; cin>>emp[i].designation; cout<<"\nYears of Experience "; cin>>emp[i].exp; cout<<"\nAge";

cin>>emp[i].age; } cout<<"going to main menu"; delay(500); }

void list() { clrscr(); highvideo(); cprintf(" cout<<endl; normvideo(); cout<<" \tName Code Designation Years(EXP) Age\n"; ********...List The Table...********\n");

cout<<"\t--------------------------------------------------------\n"; for(int i=0;i<=num-1;i++) { cout<<setw(13)<<emp[i].name; cout<<setw(6)<<emp[i].code; cout<<setw(15)<<emp[i].designation; cout<<setw(10)<<emp[i].exp; cout<<setw(15)<<emp[i].age; cout<<"\n"; } cout<<"\n\tgoing to main menu"; getch(); } void insert()

{ clrscr(); int i=num; num+=1; highvideo(); cprintf("Insert New Record"); cout<<endl; normvideo(); cout<<"Enter The Following Items\n"; cout<<"Name "; cin>>emp[i].name; cout<<"Code "; cin>>emp[i].code; cout<<"Designation "; cin>>emp[i].designation; cout<<"Years of Experience "; cin>>emp[i].exp; cout<<"Age "; cin>>emp[i].age; cout<<endl<<endl; cout<<"going to main menu"; delay(500); } void deletes() { clrscr(); highvideo(); int code;

int check; cprintf("Delete An Entry\n"); normvideo(); cout<<endl; cout<<"Enter An JobCode To Delete That Entry\n"; cin>>code; int i; for(i=0;i<=num-1;i++) { if(emp[i].code==code) { check=i; } } for(i=0;i<=num-1;i++) { if(i==check) { continue; } else { if(i>check) { tempemp[i-1]=emp[i]; } else {

tempemp[i]=emp[i]; } } } num--; for(i=0;i<=num-1;i++) { emp[i]=tempemp[i]; } }

void edit() { clrscr(); int jobcode; highvideo(); cprintf(" Edit An Entry "); cout<<endl; cout<<endl; int i; void editmenu(); void editname(int); void editcode(int); void editdes(int); void editexp(int); void editage(int); char option; normvideo();

cout<<"Enter An jobcode To Edit An Entry---- "; cin>>jobcode; editmenu(); for(i=0;i<=num-1;i++) { if(emp[i].code==jobcode) {

while((option=cin.get())!='q') { switch(option) { case 'n': editname(i); break; case 'c': editcode(i); break; case 'd': editdes(i); break; case 'e': editexp(i); break; case 'a': editage(i); break; }

editmenu(); } } } } void editmenu() { clrscr(); cout<<" What Do You Want To edit\n"; cout<<" n--------->Name\n"; cout<<" c--------->Code\n"; cout<<" d--------->Designation\n"; cout<<" e--------->Experience\n"; cout<<" a--------->Age\n"; cout<<" q----->QUIT\n"; cout<<" Options Please ---->>> "; } void editname(int i) { cout<<"Enter New Name-----> "; cin>>emp[i].name; } void editcode(int i) { cout<<"Enter New Job Code-----> "; cin>>emp[i].code; } void editdes(int i)

{ cout<<"enter new designation-----> "; cin>>emp[i].designation; } void editexp(int i) { cout<<"Enter new Years of Experience"; cin>>emp[i].exp; } void editage(int i) { cout<<"Enter new Age"; cin>>emp[i].age; }

void search() { clrscr(); highvideo(); cprintf("Welcome To Search Of Employee Database"); normvideo(); cout<<endl; cout<<endl; int jobcode; cout<<"You Can Search Only By Jobcode Of An Employee"; cout<<"Enter Code Of An Employee"; cin>>jobcode; for(int i=0;i<=num-1;i++)

{ if(emp[i].code==jobcode) {

cout<<" Name Code Designation Years(EXP) Age"; cout<<" ------------------------------------------------------"; cout<<setw(13)<<emp[i].name; cout<<setw(6)<<emp[i].code; cout<<setw(15)<<emp[i].designation; cout<<setw(10)<<emp[i].exp; cout<<setw(15)<<emp[i].age; cout<<endl; }

} cout<<"going to main menu"; getch();

void sort() { clrscr(); highvideo(); cprintf("Sort The Databse By JobCode"); normvideo(); void sortmenu();

void sortname(); void sortcode(); void sortdes(); void sortexp(); char option; void sortage();

cout<<endl; cout<<endl; sortmenu(); while((option=cin.get())!='q') { switch(option) { case 'n': sortname(); break; case 'c': sortcode(); break; case 'd': sortdes(); break; case 'e': sortexp(); break; case 'a': sortage();

break; } sortmenu(); } }

void sortmenu() { clrscr(); cout<<" What Do You Want To edit\n"; cout<<" n--------->Name\n"; cout<<" c--------->Code\n"; cout<<" d--------->Designation\n"; cout<<" e--------->Experience\n"; cout<<" a--------->Age\n"; cout<<" q----->QUIT\n"; cout<<" Options Please ---->>> "; }

void sortname() { clrscr(); int i,j; struct employee temp[max]; for(i=0;i<=num-1;i++)

{ sortemp1[i]=emp[i]; } for(i=0;i<=num-1;i++) { for(j=0;j<=num-1;j++) { if(strcmp(sortemp1[i].name,sortemp1[j].name)<=0) { temp[i]=sortemp1[i]; sortemp1[i]=sortemp1[j]; sortemp1[j]=temp[i]; } } }

for( i=0;i<=num-1;i++) {

cout<<" Name Code Designation Years(EXP) Age"; cout<<" ------------------------------------------------------"; for( i=0;i<=num-1;i++) { cout<<setw(13)<<sortemp1[i].name; cout<<setw(6)<<sortemp1[i].code; cout<<setw(15)<<sortemp1[i].designation; cout<<setw(10)<<sortemp1[i].exp; cout<<setw(15)<<sortemp1[i].age;

cout<<endl; } cout<<"Press Any Key To Go Back"; getch();

}}

void sortcode() { clrscr(); int i,j; struct employee temp[max]; for(i=0;i<=num-1;i++) { sortemp1[i]=emp[i]; } for(i=0;i<=num-1;i++) { for(j=0;j<=num-1;j++) { if(sortemp1[i].code<sortemp1[j].code) { temp[i]=sortemp1[i]; sortemp1[i]=sortemp1[j]; sortemp1[j]=temp[i]; } } }

for( i=0;i<=num-1;i++) {

cout<<" Name Code Designation Years(EXP) Age"; cout<<" ------------------------------------------------------"; for( i=0;i<=num-1;i++) { cout<<setw(13)<<sortemp1[i].name; cout<<setw(6)<<sortemp1[i].code; cout<<setw(15)<<sortemp1[i].designation; cout<<setw(10)<<sortemp1[i].exp; cout<<setw(15)<<sortemp1[i].age; cout<<endl; } cout<<"Press Any Key To Go Back"; getch();

}}

void sortdes() { clrscr(); int i,j; struct employee temp[max]; for(i=0;i<=num-1;i++) {

sortemp1[i]=emp[i]; } for(i=0;i<=num-1;i++) { for(j=0;j<=num-1;j++) { if(strcmp(sortemp1[i].designation,sortemp1[j].designation)<=0) { temp[i]=sortemp1[i]; sortemp1[i]=sortemp1[j]; sortemp1[j]=temp[i]; } } }

for( i=0;i<=num-1;i++) {

cout<<" Name Code Designation Years(EXP) Age"; cout<<" ------------------------------------------------------"; for( i=0;i<=num-1;i++) { cout<<setw(13)<<sortemp1[i].name; cout<<setw(6)<<sortemp1[i].code; cout<<setw(15)<<sortemp1[i].designation; cout<<setw(10)<<sortemp1[i].exp; cout<<setw(15)<<sortemp1[i].age; cout<<endl;

} cout<<"Press Any Key To Go Back"; getch(); }}

void sortage() { clrscr(); int i,j; struct employee temp[max]; for(i=0;i<=num-1;i++) { sortemp1[i]=emp[i]; } for(i=0;i<=num-1;i++) { for(j=0;j<=num-1;j++) { if(sortemp1[i].age<sortemp1[j].age) { temp[i]=sortemp1[i]; sortemp1[i]=sortemp1[j]; sortemp1[j]=temp[i]; } } } for( i=0;i<=num-1;i++) {

cout<<" Name Code Designation Years(EXP) Age"; cout<<" ------------------------------------------------------"; for( i=0;i<=num-1;i++) { cout<<setw(13)<<sortemp1[i].name; cout<<setw(6)<<sortemp1[i].code; cout<<setw(15)<<sortemp1[i].designation; cout<<setw(10)<<sortemp1[i].exp; cout<<setw(15)<<sortemp1[i].age; cout<<endl; } cout<<"Press Any Key To Go Back"; getch(); }}

void sortexp() { clrscr(); int i,j; struct employee temp[max]; for(i=0;i<=num-1;i++) { sortemp1[i]=emp[i]; } for(i=0;i<=num-1;i++) { for(j=0;j<=num-1;j++) {

if(sortemp1[i].exp<sortemp1[j].exp) { temp[i]=sortemp1[i]; sortemp1[i]=sortemp1[j]; sortemp1[j]=temp[i]; } } } for( i=0;i<=num-1;i++) { cout<<" Name Code Designation Years(EXP) Age"; cout<<" ------------------------------------------------------"; for( i=0;i<=num-1;i++) { cout<<setw(13)<<sortemp1[i].name; cout<<setw(6)<<sortemp1[i].code; cout<<setw(15)<<sortemp1[i].designation; cout<<setw(10)<<sortemp1[i].exp; cout<<setw(15)<<sortemp1[i].age; cout<<endl; } cout<<"Press Any Key To Go Back"; getch();

} }

Screen shots

Main Menu

Build a Record

List of Records

Insert a new Record

Edit a Record

Search a Record

Sort a Record