First Page Cs-Merged - 241208 - 214415
First Page Cs-Merged - 241208 - 214415
EMPLOYEE MANAGEMENT
SYSTEM
FOR
AISSCE 2024-2025 EXAMINATION
As a part of the
BONAFIDE CERTIFICATE
This is to certify that this project report entitled Employee
during the year 2024-2025. This project has been submitted in partial
------------------------------------------ --------------------------------------------
------------------------
PRINCIPAL
ACKNOWLEDGEMENT
Apart from the efforts of me the success of any project depends largely on
the encouragement and guidelines of many others. I take this opportunity
to express my gratitude to the people who have been instrumental in the
successful completion of this project.
I express the sense of gratitude to almighty god for giving me strength for
the successful completion of the project.
The guidance and support received from all the members who contributed
and who are contributing to this project was vital and for the success for
the project. I am grateful for their constant support and help.
Your’s Sincerely,
CONTENT
1 Introduction 1
2 Proposed system 3
5 Source Code 12
6 Output 19
7 Software Testing 22
8 Bibiliography 29
INTRODUCTION
PROJECT OVERVIEW
An Employee Management System (EMS) is a software application
designed to manage and streamline various tasks related to employee
administration within an organization. The system provides a central
platform for managing employee information, attendance, payroll,
performance, leave requests, and other HR-related activities.
PROJECT DESCRIPTION
The Employee Management System (EMS) is a comprehensive
software solution designed to automate and streamline the
management of employee-related tasks within an organization.
This system centralizes essential employee information, including
personal details, job roles, attendance records, payroll,
performance data, and leave requests, making it easier for HR
teams and managers to manage these processes efficiently. By
replacing manual methods with automated workflows, the EMS
reduces human error, ensures data accuracy, and saves time.
Employees can view and update their profiles, request leaves,
track attendance, and access payslips through a self-service portal,
fostering a sense of empowerment and transparency.
HR staff and managers benefit from tools to oversee employee
performance, process payroll, manage attendance, and generate
reports on various HR metrics such as leave usage, attendance
1
trends, and salary breakdowns. Built with modern technologies
like React.js for the frontend, Node.js or Django for the backend,
and a secure database system such as MySQL or PostgreSQL, the
EMS ensures a secure, scalable, and efficient solution for
managing employee information. With role-based access control,
the system safeguards sensitive data, ensuring that only authorized
users can access specific information. Ultimately, the Employee
Management System improves organizational efficiency,
enhances employee experience, and supports informed decision-
making by providing accurate, real-time data.
2
PROPOSED SYSTEM
This Employee Management System project will help the
organization with the management of the information of the
employees. The system will centralize the management system
and will provide different options through access to data will
become accessible. The system will be based on the internet so that
any user can use it from any place with ease. The Employee
Management System software will make a report of each
employee of the organization at the end of the month so that the
organization will have information about the work of each
employee. This Employee Management System will not only
reduce the time but as well it will make the system efficient.
Employee Management System Module
• Admin: The admin will be the chairman of the organization
and will have access to the whole system. The admin can add
or remove any user from the system while it will provide the
user ID and password to the user at the time of registration.
• Login: The user will get access to the system only after they
will enter the password and ID provided by the admin.
• Register: The user needs to provide the information to get
registered into the system.
• Help: This will provide instruction about different options
provided in the system.
3
SOFTWARE AND HARDWARE
REQUIREMENTS
DBMS
The software required for the management of data is called as DBMS.
It has 3 models:
➢ Relation model
➢ Hierarchical model
➢ Network model
RELATIONAL MODEL:
It’s based on the concept on relation. Relation is the table that consists of
rows and columns. The rows of the table are called tuple and the columns
of the table are called attribute. Numbers of rows in the table is called as
cardinality. Number of columns in the table is called as degree.
4
HIERARCHICAL MODEL:
In this, the data is represented by collection of records and relationship is
represented by link or association.
CHARACTERISTICS OF DBMS:
➢ It reduces the redundancy
➢ Reduction of data in inconsistency
➢ Data sharing
➢ Data standardization
5
SOFTWARE DEVELOPMENT LIFE
CYCLE
The Software Development Life Cycle (SDLC) refers to a
methodology with clearly defined processes for creating high-
quality software. In detail, the SDLC methodology focuses on the
following phases of software development:
• Requirement analysis
• Planning
• Software design such as architectural design
• Software development
• Testing
• Deployment
This article will explain how SDLC works, dive deeper in each of
the phases, and provide you with examples to get a better
understanding of each phase.
What is the software development life cycle?
SDLC or the Software Development Life Cycle is a process that
produces software with the highest quality and lowest cost in the
shortest time possible. SDLC provides a well-structured flow of
phases that help an organization to quickly produce high-quality
software which is well-tested and ready for production use. The
SDLC involves six phases as explained in the introduction.
So, how does the Software Development Life Cycle
work?
6
How the SDLC Works
SDLC works by lowering the cost of software development while
simultaneously improving quality and shortening production time.
SDLC achieves these apparently divergent goals by following a
plan that removes the typical pitfalls of software development
projects. That plan starts by evaluating existing systems for
deficiencies.
7
Stages and Best Practices
Following the best practices and/or stages of SDLC ensures the
process works in a smooth, efficient, and productive way.
1. Identify the Current Problems
“What are the current problems?” This stage of the SDLC means
getting input from all stakeholders, including customers,
salespeople, industry experts, and programmers. Learn the
strengths and weaknesses of the current system with improvement
as the goal.
8
2. Plan
“What do we want?” In this stage of the SDLC, the team
determines the cost and resources required for implementing the
analyzed requirements. It also details the risks involved and
provides sub-plans for softening those risks.
3. Design
“How will we get what we want?” This phase of the SDLC starts
by turning the software specifications into a design plan called the
Design Specification. All stakeholders then review this plan and
offer feedback and suggestions. It’s crucial to have a plan for
collecting and incorporating stakeholder input into this document.
Failure at this stage will almost certainly result in cost overruns at
best and the total collapse of the project at worst.
4. Build
“Let’s create what we want.”
At this stage, the actual development starts. It’s important that
every developer sticks to the agreed blueprint. Also, make sure you
have proper guidelines in place about the code style and practices.
5. Code Test
“Did we get what we want?” In this stage, we test for defects and
deficiencies. We fix those issues until the product meets the
original specifications.
In short, we want to verify if the code meets the defined
requirements.
9
SOURCE CODE
10
print("10. Exit\n")
print("")
print("--->>Kindly Select Options [1-10]<<---")
print("")
ch = int(input("Enter Your Choice:"))
if ch == 1:
system("cls")
Add_Employee()
elif ch == 2:
system("cls")
Display_employee()
elif ch == 3:
system("cls")
Update_Employee()
elif ch == 4:
system("cls")
Promote_employee()
elif ch == 5:
system("cls")
Remove_employee()
elif ch == 6:
system("cls")
Search_employee()
11
elif ch == 7:
system("cls")
Manage_Departments()
elif ch == 8:
system("cls")
Manage_Projects()
elif ch == 9:
system("cls")
Manage_Employee_Projects()
elif ch == 10:
exit()
else:
print("Invalid Choice...")
press = input("Press any key to go back to the menu:")
menu()
# Function to add employee records
def Add_Employee():
print("")
print("--->> Add Employee Records <<---")
Id = input("Enter Employee Id:")
Name = input("Enter Employee Name:")
Email_id = input("Enter Employee Email id:")
Phone_no = int(input("Enter Employee Phone Number:"))
Salary = int(input("Enter Employee Salary:"))
12
data = (Id, Name, Email_id, Phone_no, Salary)
sql = 'insert into employeedata values(%s,%s,%s,%s,%s)'
c = con.cursor()
c.execute(sql, data)
con.commit()
print("Employee Records added successfully....")
press = input("Press any key to go back to the menu:")
menu()
# Function to display employee records
def Display_employee():
sql = 'select * from semp'
c = con.cursor()
c.execute(sql)
r = c.fetchall()
for i in r:
print("Employee id:", i[0])
print("Employee Name:", i[1])
print("Employee Email id:", i[2])
print("Employee Phone Number:", i[3])
print("Employee Salary:", i[4])
print("\n")
press = input("Press any key to go back to the menu:")
menu()
13
# Function to display employee records
def Display_employee():
sql = 'select * from semp'
c = con.cursor()
c.execute(sql)
r = c.fetchall()
for i in r:
print("Employee id:", i[0])
print("Employee Name:", i[1])
print("Employee Email id:", i[2])
print("Employee Phone Number:", i[3])
print("Employee Salary:", i[4])
print("\n")
press = input("Press any key to go back to the menu:")
menu()
# Function to update employee records
def Update_Employee():
Id = input("Enter Employee Id:")
Email_id = input("Enter Employee Email id:")
Phone_no = int(input("Enter Employee Phone Number:"))
sql = 'UPDATE semp set Email_id=%s,Phone_no=%s WHERE
id=%s'
data = (Email_id, Phone_no, Id)
c = con.cursor()
c.execute(sql, data)
14
con.commit()
print("Employee Records Updated Successfully!!")
press = input("Press any key to go back to the menu")
menu()
15
# Function to remove an employee
def Remove_employee():
Id = input("Enter Employee Id:")
sql = 'delete from semp where id=%s'
data = (Id,)
c = con.cursor()
c.execute(sql, data)
con.commit()
print("Employee Removed...")
press = input("Press any key to go back to the menu")
menu()
# Function to search an employee
def Search_employee():
Id = input("Enter Employee Id:")
sql = 'select * from semp where id=%s'
data = (Id,)
c = con.cursor()
c.execute(sql, data)
r = c.fetchall()
for i in r:
print("Employee id:", i[0])
print("Employee Name:", i[1])
print("Employee Email id:", i[2])
print("Employee Phone Number:", i[3])
16
print("Employee Salary:", i[4])
print("\n")
press = input("Press any key to go back to the menu")
menu()
OUTPUT:
17
18
19
SOFTWARE TESTING
It is a method to assess the functionality of the software program.
The process checks whether the actual software matches the
expected requirements and ensures the software is bug-free. The
purpose of software testing is to identify the errors, faults, or
missing requirements in contrast to actual requirements. It mainly
aims at measuring the specification, functionality, and
performance of a software program or application.
Software testing can be divided into two steps
1. Verification: It refers to the set of tasks that ensure that the
software correctly implements a specific function. It means
“Are we building the product right?”
2. Validation: It refers to a different set of tasks that ensure that
the software that has been built is traceable to customer
requirements. It means “Are we building the right product?”
Importance of Software Testing
• Defects can be identified early: Software testing is
important because if there are any bugs they can be identified
early and can be fixed before the delivery of the software.
• Improves quality of software: Software Testing uncovers
the defects in the software, and fixing them improves the
quality of the software.
• Increased customer satisfaction: Software testing ensures
reliability, security, and high performance which results in
saving time, costs, and customer satisfaction.
20
• Helps with scalability: Software testing type non-functional
testing helps to identify the scalability issues and the point
where an application might stop working.
• Saves time and money: After the application is launched it
will be very difficult to trace and resolve the issues, as
• performing this activity will incur more costs and time. Thus,
it is better to conduct software testing at regular intervals
during software development.
21
Software Testing can be broadly classified into 3 types:
1. Functional testing: It is a type of software testing that
validates the software systems against the functional
requirements. It is performed to check whether the
application is working as per the software’s functional
requirements or not. Various types of functional testing are
Unit testing, Integration testing, System testing, Smoke
testing, and so on.
2. Non-functional testing: It is a type of software testing that
checks the application for non-functional requirements like
performance, scalability, portability, stress, etc. Various
types of non-functional testing are Performance testing,
Stress testing, Usability Testing and so on.
3. Maintenance testing: It is the process of changing,
modifying, and updating the software to keep up with the
customer’s needs. It involves regression testing that verifies
that recent changes to the code have not adversely affected
other previously working parts of the software.
Apart from the above classification software testing can be further
divided into 2 more ways of testing:
1. Manual testing: It includes testing software manually, i.e.,
without using any automation tool or script. In this type, the
tester takes over the role of an end-user and tests the software
to identify any unexpected behavior or bug. There are
different stages for manual testing such as unit testing,
integration testing, system testing, and user acceptance
testing. Testers use test plans, test cases, or test scenarios to
test software to ensure the completeness of testing. Manual
22
testing also includes exploratory testing, as testers explore the
software to identify errors in it.
2. Automation testing: It is also known as Test Automation, is
when the tester writes scripts and uses another software to test
the product. This process involves the automation of a
manual process. Automation Testing is used to re-run the test
scenarios quickly and repeatedly, that were performed
manually in manual testing.
Apart from Regression testing, Automation testing is also used
to test the application from a load, performance, and stress point
of view. It increases the test coverage, improves accuracy, and
saves time and money when compared to manual testing.
23
BIBILIOGRAPHY
1. HTTP://WWW.GOOGLE.COM/
2.HTTP://EN.WIKIPEDIA.ORG
3.COMPUTER SCIENCE WITH PYTHON BY SUMITA
ARORA
4.COMPUTER SCIENCE WITH PYTHON BY PREETI
ARORA
5. IEEE (INSTITUTE OF ELECTRICAL AND ELECTRONICS
ENGINEERS) GUIDE TO SOFTWARE REQUIREMENTS
SPECIFICATION
24