0% found this document useful (0 votes)
21 views7 pages

A Microproject Report On Worker Management System

The Worker Management System (WMS) is a Python-based software designed to automate employee data management, attendance tracking, wage calculation, and report generation. It features a simple command-line interface and focuses on CRUD operations to manage worker information effectively. The system includes classes for individual workers and the management system, allowing for easy updates and maintenance of employee records.

Uploaded by

suyashmeshram61
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views7 pages

A Microproject Report On Worker Management System

The Worker Management System (WMS) is a Python-based software designed to automate employee data management, attendance tracking, wage calculation, and report generation. It features a simple command-line interface and focuses on CRUD operations to manage worker information effectively. The system includes classes for individual workers and the management system, allowing for easy updates and maintenance of employee records.

Uploaded by

suyashmeshram61
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

A Microproject Report on Worker Management System

1. Introduction

The Worker Management System (WMS) is a software solution aimed at improving


the way organizations handle employee data, track work hours, manage attendance,
calculate wages, and generate reports. It is designed to enhance efficiency in worker
management by automating tasks that are traditionally done manually. This project
focuses on building a basic Worker Management System in Python.

The system will enable managers and HR departments to:

 Add new employees to the system with their personal details and hourly rates.
 Track attendance to record whether employees are present or absent each day.
 Track hours worked to calculate wages.
 Generate reports based on attendance and hours worked.

The project will be implemented in Python using simple data structures and will work
in a command-line interface (CLI). The main focus is on CRUD operations (Create,
Read, Update, Delete), which are foundational in database-driven applications.

2. Objectives

The key objectives of this Worker Management System are:

 To provide a structured way to manage employee information, including


personal details and work-related data.
 To enable attendance tracking for employees.
 To compute wages based on hours worked and hourly rate.
 To generate reports on employee attendance, hours worked, and wages.
 To allow for easy updating and maintenance of employee records.
3. System Design

The Worker Management System will be implemented using Python and will simulate
a simple CRUD application for managing employees. The design will consist of two
main components:

1. Worker Class:
o This class will represent a single worker (employee) in the system. It will
have attributes for the worker's ID, name, hourly rate, hours worked, and
attendance. It will also include methods to update attendance, add hours
worked, calculate wages, and display the worker's information.
2. Worker Management System Class:
o This class will handle the collection of workers (employees). It will
include methods for adding new workers, updating existing workers,
marking attendance, updating work hours, and generating reports on all
workers.

4. Technologies Used

 Programming Language: Python (for simplicity and readability).


 Data Structures:
o List: Used to store the collection of worker objects.
o Dictionaries/Lists inside the Worker class to store attendance data.

This design focuses on using simple data structures in Python, without the need for an
external database or complex user interface.
5. Implementation

Let's dive deeper into the Python implementation. Here is the breakdown of the code:

class Worker:
def __init__(self, worker_id, name, hourly_rate):
"""
Initializes a Worker object with given worker_id, name, and hourly_rate.
"""
self.worker_id = worker_id # Unique identifier for each worker
self.name = name # Employee name
self.hourly_rate = hourly_rate # Hourly rate of the worker
self.hours_worked = 0 # Total hours worked by the worker
self.attendance = [] # List to track attendance (e.g., 'Present', 'Absent')

def mark_attendance(self, status):


"""
Marks attendance for the worker. Status is either 'Present' or 'Absent'.
"""
self.attendance.append(status)

def update_hours(self, hours):


"""
Updates the number of hours worked by the worker.
"""
self.hours_worked += hours

def calculate_wages(self):
"""
Calculates wages based on hours worked and hourly rate.
"""
return self.hours_worked * self.hourly_rate

def display_info(self):
"""
Displays detailed information about the worker, including the total hours worked,
attendance records, and calculated wages.
"""
print(f"ID: {self.worker_id} | Name: {self.name} | Hours Worked:
{self.hours_worked} | "
f"Attendance: {self.attendance} | Wages: ${self.calculate_wages():.2f}")

class WorkerManagementSystem:
def __init__(self):
"""
Initializes the Worker Management System with an empty list of workers.
"""
self.workers = []

def add_worker(self, worker_id, name, hourly_rate):


"""
Adds a new worker to the system by creating a new Worker object.
"""
worker = Worker(worker_id, name, hourly_rate)
self.workers.append(worker)
print(f"Worker {name} added successfully!")

def update_worker(self, worker_id, name=None, hourly_rate=None):


"""
Updates an existing worker's information (e.g., name or hourly rate).
"""
for worker in self.workers:
if worker.worker_id == worker_id:
if name:
worker.name = name
if hourly_rate:
worker.hourly_rate = hourly_rate
print(f"Worker {worker_id} updated successfully!")
return
print("Worker not found!")

def mark_attendance(self, worker_id, status):


"""
Marks the attendance for a specific worker.
"""
for worker in self.workers:
if worker.worker_id == worker_id:
worker.mark_attendance(status)
print(f"Attendance for {worker.name} marked as {status}.")
return
print("Worker not found!")

def update_hours(self, worker_id, hours):


"""
Updates the number of hours worked by a specific worker.
"""
for worker in self.workers:
if worker.worker_id == worker_id:
worker.update_hours(hours)
print(f"{hours} hours added to {worker.name}'s record.")
return
print("Worker not found!")

def generate_reports(self):
"""
Generates and displays reports for all workers in the system.
"""
print("Employee Reports:")
for worker in self.workers:
worker.display_info()

# Example of system usage


def main():
"""
Main function to demonstrate the Worker Management System.
"""
system = WorkerManagementSystem()

# Adding workers
system.add_worker(1, "John Doe", 20)
system.add_worker(2, "Jane Smith", 25)

# Updating worker details


system.update_worker(1, hourly_rate=22)

# Marking attendance
system.mark_attendance(1, "Present")
system.mark_attendance(2, "Absent")

# Updating hours worked


system.update_hours(1, 8)
system.update_hours(2, 7)

# Generating reports
system.generate_reports()

if __name__ == "__main__":
main()
6. Detailed Explanation of the Code

Worker Class

 __init__ method: Initializes the worker object with a worker_id, name, and
hourly_rate. It also initializes hours_worked to 0 and an empty list for
attendance.
 mark_attendance method: Adds an attendance status (either "Present" or
"Absent") to the worker's attendance record.
 update_hours method: Adds a specified number of hours to the worker’s total
worked hours.
 calculate_wages method: Calculates the total wages for the worker based on
their hourly rate and total hours worked.
 display_info method: Displays a summary of the worker's data, including their
total hours worked, attendance, and calculated wages.

WorkerManagementSystem Class

 __init__ method: Initializes the system with an empty list of workers.


 add_worker method: Adds a new worker to the system by creating a Worker
object and appending it to the list of workers.
 update_worker method: Allows updating an existing worker's details, such as
their name or hourly rate.
 mark_attendance method: Marks a worker's attendance as "Present" or
"Absent".
 update_hours method: Updates the hours worked for a specific worker.
 generate_reports method: Prints a detailed report for each worker in the
system, displaying their total hours worked, attendance record, and wages.
7. Output Example

When the program is run, it will generate the following output:

Worker John Doe added successfully!


Worker Jane Smith added successfully!
Worker 1 updated successfully!
Attendance for John Doe marked as Present.
Attendance for Jane Smith marked as Absent.
8 hours added to John Doe's record.
7 hours added to Jane Smith's record.
Employee Reports:
ID: 1 | Name: John Doe | Hours Worked: 8 | Attendance: ['Present'] | Wages: $176.00
ID: 2 | Name: Jane Smith | Hours Worked: 7 | Attendance: ['Absent'] | Wages: $175.00

8. Conclusion

This project demonstrates a simple yet effective Worker Management System that helps
in managing employee information, tracking attendance, calculating wages, and
generating reports. The system provides a foundation for expanding to more advanced
features such as:

 Integration with a database for persistent data storage.


 Web-based or GUI-based interfaces for better user interaction.
 Implementing more complex reporting features, including detailed performance
reviews.

You might also like