COMPUTER SCIENCE PROJECT
DEEPIKA ENGLISH MEDIUM SCHOOL
SECTOR-5, ROURKELA
SESSION-2025-26
CLASS XII
Topic:__EMPLOYEE MANAGEMENT SYSTEM
___________________________________
Submitted by: -
NAME: ASHISH KUMAR
SECTION: ____B_________
ROLL NO: ___08________
BOARD ROLL NO.: _________________
CERTIFICATE
This is to certify that Ashish Kumar of class- XII- B
Roll No: 08 has successfully completed the project Work entitled
in the subject Computer Science(083) laid down in the regulations of
CBSE for the purpose of Practical Examination in Class XII to be
held in Deepika English Medium School.
Signature of Signature of
Internal Examiner External Examiner
ACKNOWLEDGEMENT
I would like to express my sincere gratitude to my Computer
Science teacher, Mr. Dilip Kumar Barik for their valuable
guidance, constant support, and encouragement throughout the
development of this project titled “Employee Management
System.” Their insightful suggestions and continuous
supervision played a significant role in the successful
completion of this project.
I am also thankful to the school administration for providing the
necessary facilities and a supportive learning environment
required to carry out this work effectively. I would like to extend
my heartfelt thanks to my parents for their motivation,
cooperation, and moral support during the course of this
project.
Lastly, I acknowledge all the reference materials, textbooks,
and online resources that helped me enhance my
understanding of Python programming and file handling
concepts used in this project.
Introduction
In modern organizations, managing employee information efficiently
is very important. Manual record keeping is time-consuming and
prone to errors. An Employee Management System helps
organizations store, manage, and update employee data in a
systematic and digital manner.
The Employee Management System is a Python-based application
designed to manage employee records such as employee ID, name,
department, designation, and salary. The system uses Python file
handling and Python–MySQL connectivity to store and retrieve data,
making it a practical and useful real-life application.
This project demonstrates how Python programming can be used to
develop a simple, functional, and tangible system for managing
employee data efficiently.
Objective of the project
The objective of an Employee Management System is to develop a
comprehensive and centralized solution that effectively manages all
employee-related information and activities within an organization.
The system is designed to automate and streamline routine human
resource functions such as employee registration, record
maintenance, attendance monitoring, leave management, payroll
processing support, and performance evaluation. By replacing
manual and paper-based processes, the system minimizes errors,
saves time, and improves overall operational efficiency. It also
ensures secure handling of sensitive employee data through
authentication and role-based access control, thereby maintaining
confidentiality and data integrity.
Additionally, the Employee Management System provides reporting
and analytical tools that assist management in making informed
decisions, tracking employee performance, ensuring legal and
organizational compliance, and supporting future growth. Ultimately,
the system aims to enhance productivity, improve transparency, and
create a well-organized and efficient working environment.
Proposed System
The proposed Employee Management System is a computerized and
integrated system designed to automate and manage all employee-
related operations within an organization efficiently. The system will
replace the existing manual or semi-automated processes with a
centralized digital platform that stores employee information such as
personal details, job roles, department data, attendance records,
leave details, and performance reports. It will provide secure access
through user authentication and role-based permissions for
administrators, HR personnel, and employees.
The proposed system will enable automated attendance and leave
management, reducing errors and improving accuracy. It will support
payroll-related data management, performance evaluation, and
report generation to assist management in decision-making. The
system will also ensure data security, easy retrieval of records, and
scalability to accommodate organizational growth. Overall, the
proposed Employee Management System aims to improve efficiency,
transparency, data reliability, and productivity while reducing
administrative workload and operational costs.
Advantages:
1. Reduces manual work and paperwork
2. Improves efficiency and productivity
3. Minimizes human errors in employee records
4. Centralized storage of employee information
5. Easy and quick access to employee data
6. Enhances data security and confidentiality
7. Supports attendance and leave management
System Design
The system design of an Employee Management System defines the
overall structure, components, and workflow required to manage
employee-related activities efficiently. The system follows a modular
and user-friendly design to ensure scalability, security, and ease of
use.
1. Architecture Design
The Employee Management System is designed using a client–server
architecture. Users access the system through a web or desktop
interface, while the server handles business logic, data processing,
and communication with the database.
2. User Roles
Admin: Manages system settings, user roles, and overall
control.
HR Manager: Manages employee records, attendance, leave,
payroll data, and reports.
Employee: Views personal details, attendance, leave status, and
performance information.
3. Module Design
Authentication Module: Handles user login, logout, and access
control.
Employee Management Module: Stores and manages
employee personal and professional details.
Attendance Management Module: Tracks daily attendance and
working hours.
Leave Management Module: Handles leave requests,
approvals, and history.
Payroll Management Module: Manages salary-related data and
calculations.
Performance Management Module: Records appraisals,
feedback, and evaluations.
Reporting Module: Generates reports for management and HR
decision-making.
4. Database Design
The system uses a centralized database with tables such as
Employee, Department, Attendance, Leave, Payroll, and
Performance. Relationships between tables ensure data integrity and
consistency.
5. Security Design
The system implements role-based access control, secure
authentication, and data encryption to protect sensitive employee
information.
6. User Interface Design
The interface is simple, responsive, and easy to navigate, allowing
users to perform tasks efficiently with minimal training.
Overall, the system design ensures efficient data management,
security, scalability, and improved organizational productivity.
Data Flow Diagram of the System
Data Flow Diagrams illustrate how data flows through the Employee
Management System, showing interactions between users,
processes, and data storage.
Level 0:
It represents the entire Employee Management System as a single
process and shows its interaction with external entities.
External Entities:
Admin
HR Manager
Employee
Process:
Employee Management System
Data Flow:
Admin/HR Manager provides employee data, attendance, leave,
and payroll information to the system.
Employees submit personal details, attendance, and leave
requests.
The system provides reports, employee details, attendance
status, and payroll information to users.
This level gives a high-level overview of how the system interacts
with users.
Level 1:
It breaks the main system into major sub-processes.
Processes:
1. User Authentication
2. Employee Record Management
3. Attendance Management
4. Leave Management
5. Payroll Management
6. Report Generation
Data Stores:
Employee Database
Attendance Database
Leave Database
Payroll Database
Data Flow:
Users log in through the authentication process.
Employee details are added, updated, or retrieved from the
Employee Database.
Attendance data is recorded and stored in the Attendance
Database.
Leave requests are submitted by employees and approved by
HR.
Payroll data is processed using attendance and employee
records.
Reports are generated for management review.
Level 2:
It further explains individual processes in detail.
Example: Employee Record Management
Add Employee Details
Update Employee Information
Delete Employee Records
View Employee Details
Data flows between HR/Admin and the Employee Database.
Example: Attendance & Leave Management
Mark Attendance
View Attendance
Apply for Leave
Approve/Reject Leave
Attendance and leave data are stored and retrieved from
respective databases.
Benefits of Using DFD
Clearly explains system functionality
Helps understand data movement
Improves system analysis and design
Useful for documentation and presentations
Algorithm for Employee Management System
The following algorithm describes the step-by-step working of the
Employee Management System
developed using Python with MySQL connectivity and file handling. This
algorithm clearly explains the logical flow of the program and how different
operations are performed.
Step 1: Start the program.
Step 2: Establish a connection between the Python program and the MySQL
database using valid credentials.
Step 3: Display the main menu on the screen with the following options: -
Add Employee – View Employee Records - Update Employee Salary - Delete
Employee Record - Exit
Step 4: Accept the user’s choice from the menu.
Step 5: Check the selected option using conditional statements: -
If the user selects Add Employee: -
Accept employee details such as Employee ID, Name, Department,
Designation, and Salary. - Insert the entered data into the MySQL employee
table. - Display a confirmation message.
If the user selects View Employees:
Retrieve all employee records from the database.
Display the records on the screen in a readable format.
If the user selects Update Employee Salary:
Ask for Employee ID and new salary.
Update the corresponding record in the database.
Display a success message.
If the user selects Delete Employee:
Ask for Employee ID.
Remove the employee record from the database.
Display a confirmation message.
If the user selects Exit:
Terminate the program execution.
Step 6: After each database operation, create or update a backup file using
Python file handling.
Step 7: Ask the user whether they want to continue or exit.
Step 8: If the user chooses to continue, return to Step 3.
Step 9: Stop the program.
Data Flow Diagrams
Database Structure and Designs
The database is designed using a relational model to ensure
data consistency, integrity, and easy retrieval. Each table
represents a specific entity, and relationships are maintained
using primary and foreign keys.
1. Employee Table
Field Name Data Type Description
employee_id (PK) INT Unique employee ID
first_name VARCHAR(50) Employee first name
last_name VARCHAR(50) Employee last name
gender VARCHAR(10) Gender
date_of_birth DATE Date of birth
email VARCHAR(100) Email address
phone_number VARCHAR(15) Contact number
address VARCHAR(255) Address
department_id (FK) INT Department ID
designation VARCHAR(50) Job title
date_of_joining DATE Joining date
salary DECIMAL(10,2) Basic salary
status VARCHAR(20) Active / Inactive
2. Department Table
Field Name Data Type Description
department_id (PK) INT Department ID
department_name VARCHAR(50) Department name
location VARCHAR(50) Department location
3. Attendance Table
Field Name Data Type Description
attendance_id (PK) INT Attendance ID
Field Name Data Type Description
employee_id (FK) INT Employee ID
attendance_date DATE Date
check_in_time TIME Check-in time
check_out_time TIME Check-out time
status VARCHAR(20) Present / Absent
4. Leave Table
Field Name Data Type Description
leave_id (PK) INT Leave ID
employee_id (FK) INT Employee ID
leave_type VARCHAR(30) Sick / Casual / Paid
start_date DATE Leave start date
end_date DATE Leave end date
reason VARCHAR(255) Reason
leave_status VARCHAR(20) Approved / Rejected / Pending
6. User Login Table
Field Name Data Type Description
user_id (PK) INT User ID
employee_id
INT Employee ID
(FK)
username VARCHAR(50) Login username
VARCHAR(100
password Encrypted password
)
Admin / HR /
role VARCHAR(20)
Employee
Entity Relationship (ER) Diagram
An entity-relationship diagram (ERD) is a data modeling
technique that graphically illustrates an information system's
entities and the relationships between those entities. An ERD is
a conceptual and representational model of data used to
represent the entity framework infrastructure.
ER diagram has three main components:
1. Entity
2. Attribute
date_of_birth check_out_time
email status
phone_number Leave
address leave_id (PK)
designation leave_type
date_of_joining start_date
salary end_date
status reason
Department leave_status
department_id (PK)
department_name
basic_salary
allowances
Payroll deductions
payroll_id (PK) net_salary
month payment_date
3. ER Diagram
Project Description
The Employee Management System is a software application designed
to efficiently manage and organize employee-related information within
an organization. The main objective of this project is to automate and
simplify human resource operations by replacing traditional manual and
paper-based processes with a centralized digital system. The application
maintains detailed records of employees, including personal information,
job details, department assignments, attendance, leave records, payroll
data, and performance-related information.
The system provides role-based access for administrators, HR
managers, and employees to ensure data security and confidentiality.
Administrators and HR personnel can add, update, delete, and view
employee records, manage attendance and leave requests, process
payroll information, and generate various reports for management
decision-making. Employees can log in to view their personal details,
attendance status, leave balances, and submit leave requests online.
The Employee Management System improves accuracy, efficiency, and
transparency in HR operations. It reduces administrative workload,
minimizes errors, and ensures easy data retrieval. The system is
scalable and adaptable, making it suitable for organizations of different
sizes. Overall, this project enhances productivity, supports better
workforce management, and contributes to effective organizational
growth.
ADVANTAGES
Reduces manual work and paperwork
Saves time and operational cost
Improves accuracy of employee records
Centralized storage of employee data
Easy and quick data retrieval
Enhances data security and confidentiality
Supports attendance and leave management
Improves transparency in HR processes
Helps in better decision-making through reports
System Development
Language/Tool
Python
Python is a computer programming language often used to
build websites and software, automate tasks, and analyze data.
Python is a general-purpose language, not specialized for any
specific problems, and used to create various programmes.
This versatility and its beginner-friendliness have made it one of
the most used programming languages today. In 2020, more
than one-third of Indian IT professionals said Python was their
preferred programming language. It continues to top lists of the
most desired programming languages in the country.
Python is commonly used for developing websites and
software, task automation, data analysis, and data
visualisation. Since it's relatively easy to learn, Python has
been adopted by many non-programmers, such as accountants
and scientists, for a variety of everyday tasks, like organising
finances.
MySQL
MySQL is an Oracle-backed open-source relational database
management system based on Structured Query Language. MySQL
runs on virtually all platforms, including Linux, Windows.
A database is a structured collection of data. It may be anything from a
simple shopping list to a picture gallery or the vast amounts of
information in a corporate network. To add, access, and process data
stored in a computer database, you need a database management
system such as MySQL Server. Since computers are very good at
handling large amounts of data, database management systems play a
central role in computing, as standalone utilities, or as parts of other
applications
A relational database stores data in separate tables rather than putting
all the data in one big storeroom. The database structures are organized
into physical files optimized for speed. The logical model, with objects
such as databases, tables, views, rows, and columns, offers a flexible
programming environment. You set up rules governing the relationships
between different data fields, such as one-to-one, one-to-many, unique,
required or optional, and "pointers" between different tables. The
database enforces these rules, so that with a well-designed database,
your application never sees inconsistent, duplicate, orphan, out-of-date,
or missing data.
Today, MySQL is the RDBMS behind many of the top websites in the
world and countless corporate and consumer-facing web-based
applications, including Facebook, Twitter and YouTube.
[Link]
MySQL Connectors provide connectivity to the MySQL server for client
programs. APIs provide low-level access to MySQL resources using
either the classic MySQL protocol or X Protocol. Both Connectors and
the APIs enable you to connect and execute MySQL statements from
another language or environment, including ODBC, Java (JDBC), C++,
Python, [Link], PHP, Perl, Ruby, and C.
MySQL Connector/Python includes support for:
● Almost all features provided by MySQL Server version 5.7 and higher.
● Converting parameter values back and forth between Python and
MySQL data types, for example Python date time and MySQL
DATETIME. You can turn automatic conversion on for convenience, or
off for optimal performance.
● All MySQL extensions to standard SQL syntax.
● Protocol compression, which enables compressing the data stream
between the client and server.
● Connections using TCP/IP sockets and on Unix using Unix sockets.
● Secure TCP/IP connections using SSL.
● Self-contained driver. Connector/Python does not require the MySQL
client library or any Python modules outside the standard library.
User Manual – Employee Management
System
1. Introduction
The Employee Management System (EMS) is designed to help
organizations manage employee information, attendance, leave, payroll,
and reports efficiently. This user manual provides step-by-step
instructions on how to use the system.
2. System Requirements
Operating System: Windows / Linux / macOS
Browser: Google Chrome / Firefox / Edge
Internet Connection (for web-based system)
Valid Username and Password
3. User Roles
Admin: Full access to system settings and user management
HR Manager: Manages employee records, attendance, leave,
payroll, and reports
Employee: Views personal information, attendance, and applies
for leave
4. Login Procedure
1. Open the Employee Management System application
2. Enter your username and password
3. Click on the Login button
4. If credentials are valid, the system displays the dashboard
5. Admin / HR Operations
5.1 Employee Management
Add new employee details
Update existing employee records
Delete employee records
View employee information
5.2 Department Management
Add new departments
Update department details
Assign employees to departments
5.3 Attendance Management
Record daily attendance
View attendance reports
Edit attendance if required
5.4 Leave Management
View leave requests
Approve or reject leave applications
Maintain leave history
5.5 Payroll Management
Add salary details
Calculate allowances and deductions
Generate payroll reports
5.6 Report Generation
Employee reports
Attendance reports
Leave reports
Payroll reports
6. Employee Operations
6.1 View Profile
View personal and job-related details
6.2 Attendance
View daily attendance status
View monthly attendance summary
6.3 Leave Application
Apply for leave
View leave status (Approved / Rejected / Pending)
6.4 Logout
Click on Logout to safely exit the system
7. Security Guidelines
Keep login credentials confidential
Always logout after use
Change password regularly
8. Error Handling
Invalid login shows an error message
Missing or incorrect data prompts user to re-enter information
9. System Exit
Click on Logout
Close the browser or application
Advantages of the System
Easy management of employee records
Reduces paperwork
Saves time and effort
Accurate and reliable data storage
Limitations of the System
Console-based interface
Requires basic knowledge of database setup
Future Enhancements
Add graphical user interface
Implement login authentication
Generate employee reports
Codes
My SQL command used
Python Program:
Employee
Management System
Python File
Handling
(Employee
Backup)
Sample output
Conclusion
The Employee Management System successfully provides an efficient
and organized approach to managing employee-related information
within an organization. By automating core HR activities such as
employee record management, attendance tracking, leave management,
and payroll processing, the system reduces manual effort, minimizes
errors, and saves time. The centralized database ensures secure
storage and quick retrieval of data, while role-based access improves
data confidentiality and system reliability. Overall, the project enhances
productivity, improves transparency in HR operations, and supports
effective decision-making. The Employee Management System is a
scalable and practical solution that can be further enhanced with
additional features such as web integration, advanced analytics, and
mobile access to meet future organizational needs.
Bibliography
Files:
● [Link] for login page
● match_new.php for create new match
● [Link]-admin console
● pay_fees.php-fees payment page
● register_match.php registering for new match
● [Link] user console