University Copy EMPLOYEE MANAGEMENT SYSTEM PDF
University Copy EMPLOYEE MANAGEMENT SYSTEM PDF
University Copy EMPLOYEE MANAGEMENT SYSTEM PDF
A PROJECT REPORT
Submitted in partial fulfilment of the Requirements for the award of the Degree of
BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY)
By
Akshay Gosavi 21
Yukta Bhalerao 67
Under the esteemed guidance of
Mrs. Preeti Sarode
K. M. AGRAWAL COLLEGE
(Affiliated to University of Mumbai)
2022-2023
PROFORMA FOR THE APPROVAL PROJECT PROPOSAL
CERTIFICATE
This is to certify that the project entitled, "Employee Management System", is bonafied
work of Akshay Gosavi and Yukta Bhalerao bearing Seat No: and submitted in
partial fulfilment of the requirements for the award of degree of BACHELOR OF SCIENCE
in INFORMATION TECHNOLOGY from University of Mumbai.
____________________
Project Guide
_____________________ _____________________
Co-ordinator External Examiner
ABSTRACT
Before we describe in brief about our project, we would like to add a few
heartfelt words for the people who were very much helpful for us in developing
this project.
We are heartily thankful to Mrs. Preeti Sarode for giving us this opportunity to
develop the project. We give her our sincere salute for inspiring and motivating
us.
We would like to thanks whole teaching staff of Center, who have
contributed greatly for the success of this project. We would especially like to
express our gratitude to Preeti Sarode.
We would also like to pay our sincere thanks all those, who have co-
operated us, inspired us and have provided moral support directly or indirectly
for this project.
Your’s sincerely,
Akshay Gosavi
Yukta Bhalerao
DECLARATION
Signature: _____________________
INDEX
Chapter 1 Introduction
1.1 Background
1.2 Objectives
1.3.1 Purpose
1.3.2 Scope
1.3.3 Applicability
1.4 Achievements
Chapter 7: References
Chapter 1
Employee Management System
1.1 Background
Employees are the backbone of any company therefore their management plays a
major role in deciding the success of an organization [1]. Human Resource
Management Software makes it easy for the employer to keep track of all records.
This software allows the administrator to edit employees, add new employees as
well as evaluate an employee’s performance. Employees can be managed efficiently
without having to retype back their information in the database. You can check to
see if there are duplicate positions/employees in the database. A flexible and easy to
use Employee Management software solution for small and medium sized
companies provides modules for personnel information management thereby
organization and companies are able to manage the crucial organization asset people
. The combination of these modules into one application assures the perfect platform
for re-engineering and aligning
After identifying the scope of the project, the feasibility study is needed to be carried
out. It is basically keeping the following points in mind.
Building the software for meeting the scope: This software has met the scope. As
there is no data involved in the system, processing on the file, and the behaviour of
this project is already identified and bundled in quantitative manner.
The processing of this software is very simple as it has been designed in php and it
has been well divided into several functions according to the need.
Technically feasible: This software is very much technically feasible. This software is
very much concerned with specifying equipment and the software will successfully
satisfy almost all the admin’s requirements. The technical need for this system may
vary considerably but might include:
State of Art: The project is very much within the state of art since the project is a
WINDOWS based; it uses very modern and common technique.
Beside it is very much modern and user friendly. It also works as middleware i.e.
only in between the user and the file. So, it is completely a state of art project.
Moreover, it requires some training for the use. So, training cost can be neglected
and the resources of this software are very much available. It also reduces the labour
and extra cost to be paid for labour. So indeed, it is financially feasible.
Resources: As motioned earlier that the resources are easily available and the cost of
training is almost negligible. Sometimes situations may arise when it may not be so
much easy. For a person completely unaware of using a computer system could
result in a training cost or for a very small organization the purchase of a computer,
instalment of the system and other charges may lead to a difficult matter.
It is simple to understand and can be used by anyone who is not even familiar with
simple employees 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.
This software package has been developed using the powerful coding tools of
PYTHON at Front End and Microsoft Sqlite3 Server at Back End. The software is
very user friendly. The package contains different modules like Employee details.
This version of the software has multi-user approach.
1.2 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.
This project simplifies the task of maintaining records because of its user friendly
nature. The objective of this project is to provide a comprehensive approach towards
the management of employee information. This will be done by designing and
implementing an HR management system that will bring up a major paradigm shift
in the way that employee information is handled.
3. A user friendly front-end for the user to interact with the system.
Finally, we can say that this system will not only automate the process but save the
valuable time of the manager or the admin, which can be well utilized buy his
institute. This will be an additional advantage and management of power based on
their free time from his normal duty.
1.3.2 Scope
It is cost effective as the user control the web application himself and does not go
for professional service.
It is secure as the employee database and the payroll process is managed by the
admin in house rather than sending private information to a third party.
1.4 Achievements
Project Achievement is a measurable and positive result that is received upon
successful completion of a project’s object (goal, deliverable, objective) or work item
(task, activity, stage). It can be also defined as the process of achieving a desired
outcome within a project under certain criteria that determine success and failure of
the project.
People involved in projects needs to apply their own skills, knowledge and
perseverance in order to reach some positive result. If something goes wrong and the
result is not positive (for example: broken objectives; overdue tasks; rejected
deliverables), this result is not actually an achievement but a failed attempt.
Achievements are always positive and have a favorable impact on related projects.
There are 6 basic steps to gain successful project achievements. The steps are:
• Dataflow Diagram (DFD) Zero Level DFD, 1st Level DFD, 2nd Level DFD of
Employee Management System
Large quantities of registers are to be maintained for this purpose which results in
down right waste of time in generating reports or searching for employee’s records
and loss of data if any file is lost. It is also an arduous task for organizations as it is
an expensive process. However,
somewhere new technologies such as web based systems, Iot based systems are used
but they also are costly and difficult to implement at some places. The other
techniques that are in the market are dependent on facial recognition, biometric scan
or card punching. But all of these require an external device to be installed in the
working area, which is again a costly process and requires regular maintenance. This
project eliminates or reduces as much as possible the difficulties of the existing
system and avoids errors while entering data. In comparison to the existing system it
is cheaper, easy to implement, easy to use, no maintenance required, on time data
and saves lots of time.
Disadvantages:
Design analysis is a step in which each design of screen is planned and analysed
whether it would be capable of giving desired results. This step is repeated
whenever required. If something new or update is required that begins from here.
The most challenging part here was to make design. It give simple user experience. It
is an incremental step in which first designing is done such that it is capable of
implementing all the required functionalities and later on design can be made
attractive.
CHAPTER 3: REQUIREMENTS AND
ANALYSIS
This web application is reduced as much as possible to avoid errors while entering
data. It also provides error message while entering invalid data. It is user-friendly as
no formal knowledge is required to use the system.
The basis of project planning is the entire project. Unlikely, project scheduling
focuses only on the project-related tasks, the project start/end dates and project
dependencies. Thus, a ‘project plan’ is a comprehensive document that contains the
project aims, scope, costing, risks, and schedule. And a project schedule includes the
estimated dates and sequential project tasks to be executed.
1. Identifying the key project sponsors and stakeholders, to determine the basis
of project scope, budget, and time-frame for project execution.
2. Upon enlisting the stake-holder requirements, prioritizing/setting project
objectives.
3. Identifying the project deliverables required to attain the project objectives.
4. Creating the project schedule.
5. Identifying the project risks, if any, and develop suitable mitigation plans.
6. Communicating and presenting the project plan to stakeholders.
Route-Map: The project plan offers a road-way that gives direction to the
project from start to end.
Documentation of Customer Requirements: A well-articulated project plan
enables the record of the requirements of the customers in a documented
form. This provides a precise direction instead of relying on assumptions,
which could be incorrect and may lead to project errors.
Task Autonomy: Planning enables one to assign tasks to specific team
members and gives autonomy. The team feels a sense of responsibility and
ownership of the success or failure of a project. Consequently, it urges them to
work better or encourages them to bring inconsistent results.
Resource Estimation: Planning is vital as in a way, it enables us to estimate
resources, costing and time. It gives a judgment of any delays if several
members are working on various projects at a time.
Mitigation Plan: The project plan gives a way to forecast risks, if any, and plan
for mitigation strategies accordingly.
Identification of Employee Capabilities: The planning phase enables to
identify employees with certain skill-sets or expertise. And as the tasks get
assigned, team members get trained on a lacking skill-sets or either upgraded
on the ones they possess.
Strengths and Short-Comings of Previous Projects: Project plans also help to
analyze and improve or learn from the previous project records and facilitate
decision-making.
Database Sqlite3
What is SQL?
What Is SQLite?
SQLite is an embedded, server-less relational database management system. It is an
in-memory open-source library with zero configuration and does not require any
installation. Also, it is very convenient as it’s less than 500kb in size, which is
significantly lesser than other database management systems.
SQLite is an open-source software. The software does not require any license after
installation.
SQLite is a cross-platform DBMS that can run on all platforms, including macOS,
Windows, etc.
RAM 64 MB
HDD 10GB
We will be able to add, delete, view, update the data with ease, also we get a excel
sheet so that we can directly send to higher authority in case they need to do some
work or track the employee accordingly.
3.6 Conceptual Models
As you can see admin can add the data after that he can update/delete the data or he
can view the data in normal table format or he can also view a graph of it
In other words
Admin can add data to the table by clicking on the "Add Data" button.
Admin can update data in the table by clicking on the "Update Data" button.
Admin can delete data in the table by clicking on the "Delete Data" button.
Admin can view data in the table by clicking on the "View Data" button.
Admin can view a graph of the data by clicking on the "View Graph" button.
CHAPTER 4: SYSTEM DESIGN
Additional modules are often useful when creating code libraries within your own
project or when you want to create different sets of code and resources for different
device types, such as phones and wearables, but keep all the files scoped within the
same project and share some code.
Add a new module to your project by clicking File > New > New Module.
Provides a container for your app's source code, resource files, and app level
settings such as the module-level build file and Android Manifest file. When
you create a new project, the default module name is "app".
In the Create New Module window, Android Studio offers the following
types of app modules:
Wear OS Module
Android TV Module
Glass Module
Each provides essential files and some code templates that are appropriate for
the corresponding app or device type.
Add
User
Delete
User Edit User
Data
Storage
Unit
View
graph for
top 5 View List
salaries
2. We can retrieve, edit or delete existing data by knowing the unique ID.
Data integrity is the maintenance and the assurance of data accuracy and consistency
applied, these constraints ensure that all data can be traced, connected, recovered and
searched, therefore improving the stability, the performance and the maintainability
of the database.
ID NAME SALARY
1 amitt 98000
2 sumit 14000
3 neha 9000
4 sHUBHAM 100001
5 Om 12000
6 john 8001
7 joe 15000
8 jony 17600
9 Aman 21000
Entity integrity
The entity integrity constraint states that relations must have a primary key that is
In order to choose a primary key, we must first identify all of the possible attributes
of a relation that match the primary key criteria, these attributes being then
On the contrary, choosing a person’s first name as candidate key would contradict
the entity integrity constraint, as searching for “amitt” or “Rohan” in the database
will not result in retrieving a specific record but probably dozens of them.
ID NAME SALARY
1 amitt 98000
2 amitt 14000
3 neha 9000
4 sHUBHAM 100001
5 Om 12000
6 john 8001
7 joe 15000
8 jony 17600
9 Aman 21000
Not Unique
E-R Diagrams
What is ER Diagram?
1. Using employee data we can add, view user data and graph for top
five employee salary.
3. We can also edit and delete data of employee with the help of unique
id.
4. Employee id i.e unique id is the key to all the data of employee in it.
Unique ID Salary
Add
Unique ID
Salary of top 5
employees
Employee
Name View
Data Graph
Salary
Manage
Delete
Unique ID
Edit Salary
Unique ID
Name
Data Flow Diagrams / UML
A data flow diagram (DFD) maps out the flow of information for any process or
system. It uses defined symbols like rectangles, circles and arrows, plus short text
labels, to show data inputs, outputs, storage points and the routes between each
destination. Data flowcharts can range from simple, even hand-drawn process
overviews, to in-depth, multi-level DFDs that dig progressively deeper into how the
data is handled. They can be used to analyze an existing system or model a new one.
Like all the best diagrams and charts, a DFD can often visually “say” things that
would be hard to explain in words, and they work for both technical and
nontechnical audiences, from developer to CEO. That’s why DFDs remain so
popular after all these years. While they work well for data flow software and
systems, they are less applicable nowadays to visualizing interactive, real-time or
database-oriented software or systems.
Level 1: Also known as a "context diagram," this is the highest level and
represents a very simple, top-level view of the system being represented.
Level 2: Still a relatively broad view of the system, but incorporates subprocesses
and more detail.
First Level Diagram :
Add Employee
Edit employee
View Admin data
Delete
Second Level Diagram:
Add Delete
Edit View Graph
View Data
Add New of Top five
Employee employees
Data Edit existing View Data of
Employee all employees
Delete
data using
Employee
ID
Data
Employee Data
1. Admin can add, edit, view and delete employee data.
2. When we select add data we have to put employee name, salary and id.
3. When we select edit we have to put the exact id we need to edit the data of and
then we have to put his name and salary for editing.
4. When we select view the data of all the employees is view in table format.
5. When we select delete we have to put only the id we want to delete the data of.
6. When we select graph a precised graph is shown for top five employees with
highest salaries.
Class Diagram
Class diagram is a static diagram. It represents the static view of an application. Class
diagram is not only used for visualizing, describing, and documenting different
aspects of a system but also for constructing executable code of the software
application.
Use Case Diagram
In the Unified Modeling Language (UML), a use case diagram can summarize the
details of your system's users (also known as actors) and their interactions with the
system. To build one, you'll use a set of specialized symbols and connectors. An
effective use case diagram can help your team discuss and represent:
Goals that your system or application helps those entities (known as actors)
achieve
Linear data structure: Data structure in which data elements are arranged
sequentially or linearly, where each element is attached to its previous and next
adjacent elements, is called a linear data structure.
Examples of linear data structures are array, stack, queue, linked list, etc.
Static data structure: Static data structure has a fixed memory size. It is
easier to access the elements in a static data structure.
An example of this data structure is an array.
Dynamic data structure: In dynamic data structure, the size is not fixed. It
can be randomly updated during the runtime which may be considered
efficient concerning the memory (space) complexity of the code.
Examples of this data structure are queue, stack, etc.
Non-linear data structure: Data structures where data elements are not placed
sequentially or linearly are called non-linear data structures. In a non-linear
data structure, we can’t traverse all the elements in a single run only.
Examples of non-linear data structures are trees and graphs.
What is an algorithm?
An Algorithm is a procedure to solve a particular problem in a finite number of
steps for a finite-sized input.
The algorithms can be classified in various ways. They are:
1. Implementation Method
2. Design Method
3. Design Approaches
4. Other Classifications
In this article, the different algorithms in each classification method are discussed.
Classification by Implementation Method: There are primarily three main
categories into which an algorithm can be named in this type of classification. They
are:
User interface (UI) design is the process designers use to build interfaces in software
or computerized devices, focusing on looks or style. Designers aim to create
interfaces which users find easy to use and pleasurable. UI design refers to graphical
user interfaces and other forms—e.g., voice-controlled interfaces
User interfaces are the access points where users interact with designs. They come in
three formats:\Graphical user interfaces (GUIs)—Users interact with visual
representations on digital control panels. A computer’s desktop is a GUI.
Another security issue is unauthorized access to project resources. This can happen
when people who are not authorized to access certain project resources gain access
to them. This can be a problem if the unauthorized access leads to the resources
being compromised or misused.
Another security issue that can arise in project management is fraud. This can occur
when people falsify project information or commit other fraudulent activities. This
can be a problem if it leads to the project being over budget or behind schedule.
Finally, another security issue that can arise in project management is sabotage. This
can occur when someone deliberately tries to sabotage the project or when they
intentionally damage project resources. This can be a problem if it leads to the
project being delayed or cancelled.
If any employee has access to data he/she can change any data of anyone he want or
even delete it. So we must ensure that we give access to only limited and trust
worthy people.
organizational goals.
Gantt Chart
Source Code
#creating functions
def f1():
main_window.withdraw()
add_window.deiconify()
def f2():
add_window.withdraw()
main_window.deiconify()
def f3():
main_window.withdraw()
view_window.deiconify()
vw_st_data.delete(1.0,END)
info=""
con=None
try:
con=connect("ems.db")
cursor=con.cursor()
sql="select * from employee"
cursor.execute(sql)
data=cursor.fetchall()
con.commit()
for d in data:
info= info + "Id= " + str(d[0]) + "\t"+ " Name= "
+str(d[1]) + "\t\t"+ " Salary=Rs" + str(d[2]) + "\n"
vw_st_data.insert(INSERT,info)
except Exception as e:
showerror("Issue",e)
finally:
if con is None:
con.close()
def f4():
view_window.withdraw()
main_window.deiconify()
def f5():
main_window.withdraw()
update_window.deiconify()
def f6():
update_window.withdraw()
main_window.deiconify()
def f7():
main_window.withdraw()
delete_window.deiconify()
def f8():
delete_window.withdraw()
main_window.deiconify()
def chart():
#################################creating main
window################
main_window=Tk()
main_window.title(" E.M.S ")
main_window.geometry("500x550+400+100")
main_window.iconbitmap("py.ico")
main_window.configure(bg="PaleGreen1")
#initializing font
f=("Ink Free",12,"bold")
#initializing y axis
y=15
#initializing Buttons
#BTN add
add_btn=Button(main_window,activeforeground="orange",activebackg
round="pink",text="ADD",font=f,width=9,height=2,command=f1)
add_btn.pack(pady=y)
#btn view
view_btn=Button(main_window,text="VIEW",activeforeground="yello
w",activebackground="purple",font=f,width=9,height=2,command=f3)
view_btn.pack(pady=y)
#btn update
update_btn=Button(main_window,activeforeground="cyan",text="UPD
ATE",height=2,font=f,width=9,command=f5)
update_btn.pack(pady=y)
#btn delete
delete_btn=Button(main_window,activeforeground="yellow",activeback
ground="silver",text="DELETE",font=f,width=9,height=2,command=f7)
delete_btn.pack(pady=y)
#btn charts
charts_btn=Button(main_window,activeforeground="yellow",activeback
ground="cyan",text="CHARTS",font=f,width=9,height=2,command=cha
rt)
charts_btn.pack(pady=y)
#Label Quote
fq=("Lucida Calligraphy",12)
quote_lab=Label(main_window,fg="blue",bg="yellow",text="Quote Of
The Day:\n When it comes to luck, Make your own\n -Bruce
Springsteen",font=fq,width=48,height=3,)
quote_lab.pack(pady=5)
#####################Add window
initialization##########################
add_window=Toplevel(main_window)
add_window.title("ADD EMPLOYEE")
add_window.geometry("500x550+400+100")
add_window.iconbitmap("py.ico")
add_window.configure(bg="LightSkyBlue1")
#Label name
aw_lab_id=Label(add_window,text="Enter
ID",font=f,height=2,width=9)
aw_lab_id.pack(pady=y)
#Entry id
aw_ent_id=Entry(add_window,font=f,)
aw_ent_id.pack(pady=y)
#Label Name
aw_lab_name=Label(add_window,text="Enter Name",font=f,height=2)
aw_lab_name.pack(pady=y)
#Entry name
aw_ent_name=Entry(add_window,font=f,)
aw_ent_name.pack(pady=y)
#Label Salary
aw_lab_salary=Label(add_window,text="Enter Salary",font=f,height=2)
aw_lab_salary.pack(pady=y)
#Entry salary
aw_ent_salary=Entry(add_window,font=f,)
aw_ent_salary.pack(pady=y)
def save():
con=None
try:
id=aw_ent_id.get()
if len(id) == 0:
raise Exception("Id should not be Empty")
elif id.isnumeric()==0:
aw_ent_id.delete(0,END)
raise Exception("ID Should Be In In Positive Numbers
")
elif int(id) == 0:
aw_ent_id.delete(0,END)
raise Exception("ID Should Be In In Positive
Numbers")
else:
id1=int(id)
name=aw_ent_name.get()
if len(name)==0:
raise Exception("Name Should not be empty")
elif name.isalpha()==0:
aw_ent_name.delete(0,END)
raise Exception("Only alphabets are allowed in Name")
elif salary.isnumeric()==0:
aw_ent_salary.delete(0,END)
raise Exception("Salary should be in Positive
Numbers")
else:
salary1=float(salary)
con=connect ("ems.db")
cursor=con.cursor()
sql="insert into employee values('%d','%s','%f')"
cursor.execute(sql % (id1,name1,salary1))
con.commit()
showinfo("Record","Employee added Successfully")
finally:
if con is not None:
con.close()
aw_ent_id.delete(0,END)
aw_ent_name.delete(0,END)
aw_ent_salary.delete(0,END)
#Button save
aw_btn_save=Button(add_window,text="Save",font=f,height=2,width=6
,activeforeground="yellow",activebackground="cyan",command=save)
aw_btn_save.pack()
#Button back
aw_btn_back=Button(add_window,activeforeground="yellow",activeba
ckground="cyan",text="Back",font=f,height=2,width=6,command=f2)
aw_btn_back.pack(pady=y)
#to close add window
add_window.withdraw()
###########################View
Emp##############################
view_window=Toplevel(main_window)
view_window.title("View Emp")
view_window.geometry("500x550+400+100")
view_window.iconbitmap("py.ico")
view_window.configure(bg="LightGoldenrod1")
#scroll text
vw_st_data=ScrolledText(view_window,width=44,height=19,font=f)
vw_st_data.pack(pady=y)
#btn back
vw_btn_back=Button(view_window,activeforeground="yellow",activeb
ackground="red",text="Back",font=f,width=8,height=2,command=f4)
vw_btn_back.pack(pady=y)
#to close
view_window.withdraw()
###########################Update
Window#######################
update_window=Toplevel(main_window)
update_window.title("View Emp")
update_window.geometry("500x550+400+100")
update_window.iconbitmap("py.ico")
update_window.configure(bg="LightPink1")
#Label name
uw_lab_id=Label(update_window,text="Enter
ID",font=f,height=2,width=9)
uw_lab_id.pack(pady=y)
#Entry id
uw_ent_id=Entry(update_window,font=f,)
uw_ent_id.pack(pady=y)
#Label Name
uw_lab_name=Label(update_window,text="Enter
Name",font=f,height=2)
uw_lab_name.pack(pady=y)
#Entry name
uw_ent_name=Entry(update_window,font=f,)
uw_ent_name.pack(pady=y)
#Label Salary
uw_lab_salary=Label(update_window,text="Enter
Salary",font=f,height=2)
uw_lab_salary.pack(pady=y)
#Entry salary
uw_ent_salary=Entry(update_window,font=f,)
uw_ent_salary.pack(pady=y)
def update():
con=None
try:
con=connect("ems.db")
cursor=con.cursor()
sql="update employee set name='%s',salary='%f' where
id='%d' "
id=(uw_ent_id.get())
if len(id) == 0:
raise Exception("Id should not be Empty")
uw_ent_id.delete(0,END)
elif id.isnumeric()==0:
raise Exception("ID Should Be In Positive Numbers")
uw_ent_id.delete(0,END)
elif int(id) == 0:
raise Exception("ID Should Be In Positive Numbers")
uw_ent_id.delete(0,END)
else:
id1=int(id)
name=uw_ent_name.get()
if len(name)==0:
raise Exception("Name Should not be empty")
uw_ent_name.delete(0,END)
elif name.isalpha()==0:
raise Exception("Only alphabets are allowed in Name")
uw_ent_name.delete(0,END)
elif len(name) < 2:
raise Exception("Name too short")
uw_ent_name.delete(0,END)
else:
name1=name
salary=(uw_ent_salary.get())
if len(salary)==0:
raise Exception("Salary Should not be Empty")
uw_ent_salary.delete(0,END)
elif salary.isnumeric()==0:
raise Exception("Salary should be in Numbers")
uw_ent_salary.delete(0,END)
elif float(salary) < 8000:
raise Exception("Salary should be greater than
RS8000")
uw_ent_salary.delete(0,END)
else:
salary1=float(salary)
cursor.execute(sql % (name1,salary1,id1))
if cursor.rowcount == 1:
con.commit()
showinfo("Record","Record Updated Successfully")
else:
showerror("Record","Record does not exists")
#Button save
uw_btn_save=Button(update_window,activeforeground="yellow",active
background="green",text="Save",font=f,height=2,width=6,command=up
date)
uw_btn_save.pack()
#Button back
uw_btn_back=Button(update_window,activeforeground="gold",activeb
ackground="red",text="Back",font=f,height=2,width=6,command=f6)
uw_btn_back.pack(pady=y)
###########################delete
window#################
delete_window=Toplevel(main_window)
delete_window.title("Delete Emp")
delete_window.geometry("500x550+400+100")
delete_window.iconbitmap("py.ico")
delete_window.configure(bg="AntiqueWhite2")
#Label name
dw_lab_id=Label(delete_window,text="Enter
ID",font=f,height=2,width=9)
dw_lab_id.pack(pady=y)
#Entry id
dw_ent_id=Entry(delete_window,font=f,)
dw_ent_id.pack(pady=y)
def delete():
con=None
try:
con=connect("ems.db")
cursor=con.cursor()
sql="delete from employee where id='%d' "
id=(dw_ent_id.get() )
if len(id) == 0:
raise Exception("Id should not be Empty")
dw_ent_id.delete(0,END)
elif id.isnumeric()==0:
raise Exception("ID Should Be In Numbers only")
dw_ent_id.delete(0,END)
elif int(id) == 0:
raise Exception("Id should be Number")
dw_ent_id.delete(0,END)
else:
id1=int(id)
cursor.execute(sql % (id1))
if cursor.rowcount == 1:
con.commit()
showinfo("Record","Employee Deleted Successfully")
else:
showwarning("Record","Employee-ID does not Exists")
#Exporting data into csv file
cursor=con.cursor()
cursor.execute("select * from employee")
with open("empdata.csv","w",newline='',encoding='utf-8') as
csv_file:
csv_writer=csv.writer(csv_file)
csv_writer.writerow([i[0] for i in cursor.description])
csv_writer.writerows(cursor)
dirpath=os.getcwd()+"/empdata.csv"
except Exception as e:
showerror("Issue",e)
con.rollback()
finally:
if con is not None:
con.close()
dw_ent_id.delete(0,END)
#Button save
dw_btn_save=Button(delete_window,activeforeground="red",activebac
kground="cyan",text="Delete",font=f,height=2,width=6,command=delet
e)
dw_btn_save.pack()
#Button back
dw_btn_back =
Button(delete_window,activeforeground="red",activebackground="cyan
",text="Back",font=f,height=2,width=6,command=f8)
dw_btn_back.pack(pady=y)
main_window.mainloop()
Chapter 6
Conclusion and Future Work
Conclusion:
In conclusion, the system proved to be an effective tool for managing employee data,
improving communication, and increasing transparency within the organization.
The system was well-received by employees, and it helped to streamline operations
and improve employee engagement.
Limitations:
Future Work:
Looking ahead, there are several areas where the Employee Management System
could be further developed and improved. One area of focus could be on expanding
the system's functionality to include additional features such as performance
analytics, training and development tracking, and employee recognition programs.
Another potential area for future work could be to integrate the system with other
organizational systems. Finally, continued efforts should be made to ensure that the
system is user-friendly and accessible to all employees within the organization,
regardless of their technical proficiency.
Chapter 7
References
Books
Websites
1. https://docs.python.org
2. https://www.w3schools.com
3. https://www.github.com
4. https://www.stackoverflow.com