0% found this document useful (0 votes)
5 views

Final_java_project_report(352,390,2176)

The final project report presents an Employee Management System developed in Java for the Computer Science and Engineering department, focusing on optimizing task allocation, enhancing performance monitoring, and streamlining recruitment. The application features a GUI for both administrators and employees, allowing for efficient management of employee records, salary distribution, and performance evaluation. While the project demonstrates significant benefits in transparency and usability, it also identifies limitations such as lack of data persistence and security concerns that could be addressed in future improvements.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Final_java_project_report(352,390,2176)

The final project report presents an Employee Management System developed in Java for the Computer Science and Engineering department, focusing on optimizing task allocation, enhancing performance monitoring, and streamlining recruitment. The application features a GUI for both administrators and employees, allowing for efficient management of employee records, salary distribution, and performance evaluation. While the project demonstrates significant benefits in transparency and usability, it also identifies limitations such as lack of data persistence and security concerns that could be addressed in future improvements.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Final Project Report

Course Title: Object Oriented Programming Laboratory(Java)


Course Code: CSE-212
Date of Submission: October 26, 2024

Submitted to,
Dr. Md. Ezharul Islam
Professor
Md. Masum Bhuiyan
Lecturer

Submitted by,
Name Class Roll Exam Roll
Md. Shihab 352 220412
Hossen
Sanjida 390 220450
Akter Akhi
Muhammad 2176 202189
Samsul
Mahin

Department of Computer Science and Engineering


Jahangirnagar University
Savar , Dhaka
Project Name : CSE Department Employee Management
System
Language used: Java

1. Introduction
Employee management in a Computer Science and Engineering (CSE) environment
is essential for maintaining a productive and innovative workplace. This process
involves overseeing employee activities, ensuring efficient task distribution, and
fostering professional growth. Effective CSE employee management not only helps in
achieving organizational goals but also supports individual career development by
aligning employees' skills with relevant projects. It includes recruitment, training,
performance evaluation, and resource allocation, all tailored to the technical needs of
the field. Communication and collaboration are particularly important in CSE, as team
members often work on complex projects requiring diverse skill sets. By
implementing strategies to motivate and retain skilled employees, CSE managers can
cultivate a cohesive team atmosphere, ultimately contributing to successful project
outcomes and organizational growth.

2. Objectives
• Optimize Task Allocation: Ensure that tasks are distributed based on employees’
skills and project requirements to improve productivity and efficiency.

• Enhance Employee Performance Monitoring: Establish a performance


evaluation system to regularly assess and track employee contributions, progress,
and achievements.

• Streamline Recruitment and Onboarding: Develop efficient recruitment and


onboarding processes to attract top talent and reduce the time to integrate new hires
into teams.

• Support Skill Development: Create programs for continuous training and skill-
building to keep employees updated with the latest technical advancements.
• Foster Effective Communication: Implement tools and protocols that improve
communication within and between teams, supporting collaborative work on
complex projects.

• Promote Employee Retention: Increase job satisfaction and retention through


recognition programs, career growth opportunities, and employee wellness
initiatives.

• Improve Resource Allocation: Efficiently allocate resources, including


manpower and technology, to ensure project requirements are met without
overburdening employees.

• Encourage Innovation: Develop a supportive environment for creative problem-


solving, where employees feel motivated to contribute innovative ideas.

3. Technology Stack
The code you provided uses a specific tech stack to build a Java-based desktop
application with GUI components for managing employees. Here’s the tech stack
involved:

1. Programming Language: Java


o The primary language used for implementing the logic and functionality
in this employee management application.
2. GUI Library: Swing (Java Swing)
o javax.swing.* is used for creating the graphical user interface,
including frames (JFrame), buttons (JButton), labels (JLabel),
and dialog boxes (JOptionPane).
3. Event Handling: ActionListener
o java.awt.event.ActionListener is utilized to handle button
click events, enabling interaction within the GUI.
4. Data Structures: HashMap
o java.util.HashMap is used for storing and managing employee
data, mapping each employee’s username to their respective
Employee object.
5. Date Handling: Date and SimpleDateFormat
o java.util.Date and java.text.SimpleDateFormat are
used to manage and format dates for recording and displaying salary
payment information.
6. OOP Concepts: Encapsulation, Inheritance, and Composition
oThe code leverages object-oriented programming principles by defining
a separate Employee class, encapsulating fields, and methods to
manage each employee's data.
7. Data Validation and User Feedback: JOptionPane Dialog Boxes
o JOptionPane is used for form-based dialogs, error messages, and
confirmation prompts, providing user feedback and handling input
validation.

This tech stack collectively supports building a user-friendly, standalone Java


desktop application for employee management.

4. Project Structure
This Java-based employee management project is designed for managing employee
records and distributing salaries within a Computer Science and Engineering (CSE)
department or organization. The application provides functionalities for both
administrators and users to interact with the system through a graphical user
interface (GUI).

Project Overview
4.1 Login System:

• The application opens with a MainMenu screen, which offers login options
for both users and administrators.
• Admin Login: Administrators have elevated permissions, enabling them to
perform critical management functions such as creating, editing, and deleting
employee profiles. They can also oversee salary distribution and view the
financial balance of the organization.
• User Login: Regular users, identified as employees, can log in to view
personal information, such as their daily tasks, salary details, and payment
status.
• Password Security: Passwords are input through a JPasswordField,
which masks the characters typed, enhancing security by hiding sensitive
information from onlookers.
• By implementing separate user roles, the application maintains a structured
hierarchy where only administrators can modify sensitive data, while regular
users are limited to viewing their information.

4.2 Admin Functionalities:


• After a successful admin login, the application navigates to the AdminMain
interface, which serves as the hub for administrative functions.
• View All Employees: The admin can view a list of all employees with their
basic information displayed, helping them manage and assess the workforce
more easily.
• Create New Employee: In this section, the admin can create a new employee
record by entering relevant details such as name, designation, contact
information, salary, and login credentials.
o Field validation is enforced to ensure all fields are completed before an
employee can be successfully added.
• Edit Employee Details: Admins can select an existing employee and modify
their information, including contact details, salary, and job role. This feature
allows the organization to keep employee records up-to-date and make
adjustments as employees are promoted, change roles, or receive salary
increments.
• Delete Employee Record: If an employee leaves the organization, their
record can be permanently removed from the system. This feature ensures the
database is kept current by removing outdated entries.
• Salary Distribution: Admins can distribute salaries across the organization,
adjusting the totalBalance and marking the salary status of each
employee as "Paid" along with the date of payment. This feature automates
salary management, providing a streamlined solution for tracking employee
payments and total expenditure.

4.3 User Profile:

• Regular employees, after logging in, can access their personal profiles. This
view displays relevant details specific to the employee, including:
o Personal Information: Displays name, designation, and other non-
confidential details, enabling employees to view their profile.
o Daily Tasks and Monthly Salary: Employees can see information
about their assigned daily tasks and monthly salary, which helps them
keep track of their responsibilities and compensation.
o Salary Status: The application shows the current salary status,
indicating if the employee has been paid for the month. Additionally,
the last payment date is displayed, allowing employees to verify
payment timeliness.
• This profile section, represented by the UserProfile class, provides
transparency and accountability, allowing employees to access relevant
information independently.
4.4 Employee Data Management:

• Employee information is stored in a HashMap, where each employee’s


username serves as the key. This data structure allows quick access to an
employee's details through a unique identifier, ensuring efficient retrieval and
updates.
• The Employee class encapsulates employee data, including:
o Personal Information: Fields for storing an employee's name,
designation, email, phone number, and blood group.
o Work and Salary Information: Fields like dailyWork and
monthlySalary store details of the employee’s daily responsibilities
and monthly remuneration.
o Login Credentials: The username and password fields facilitate the
login system, with passwords currently stored in plaintext.
o Salary Status and Payment Date: salaryStatus indicates whether
the employee's salary has been paid for the month, while
lastPaidDate records the date of the last payment.
• This design enables flexible and effective management of employee records
and ensures each piece of information can be easily accessed or modified
when necessary.

4.5 Data Persistence and Validation:

• Field Validation: For creating or editing an employee, the application checks


that no fields are left empty. If any required fields are blank, an error dialog
appears, prompting the admin to fill in the missing details. This validation step
prevents incomplete records from being stored in the system.
• User Feedback: The application uses JOptionPane dialog boxes for
confirmation messages, error alerts, and validation prompts. These dialogs
offer feedback at key stages (such as after creating or deleting an employee) to
keep the admin informed of successful operations or required actions.
• Lack of Persistent Storage: Currently, employee data only exists during the
application’s runtime, meaning it will be lost when the program is closed.
While the current implementation does not retain data beyond runtime, adding
file I/O or a database would allow the information to be saved between
sessions, ensuring continuity.

4.6 Salary Distribution and Financial Management:


• The salary distribution feature allows the admin to handle monthly payroll,
updating the salary status of each employee and recording the payment date.
• Financial Balance: The application keeps track of a totalBalance
representing the organization’s current budget. Admins can add funds to this
balance if needed before distributing salaries.
• Salary Calculation: When salaries are distributed, the application deducts the
total monthly payroll from totalBalance, ensuring that salary payments
are reflected in the organization's remaining budget.
• Date of Last Payment: Each employee’s lastPaidDate is updated to the
current date during salary distribution, giving both admins and employees a
clear record of when payments were last issued.

4.7 Summary of Benefits and Limitations:

• Benefits:
o Simplifies employee record management by providing easy-to-use
GUIs for common tasks.
o Increases transparency by allowing employees to view their profiles and
payment status independently.
o Assists the organization in managing payroll through automated salary
distribution and budget tracking.
• Limitations and Potential Improvements:
o Data Persistence: The lack of persistent storage means data is not
saved between sessions. Integrating a database would solve this
limitation.
o Password Security: Currently, passwords are stored as plain text,
which poses a security risk. Encrypting passwords would add an extra
layer of protection.
o Balance Sufficiency Check: Implementing a check to ensure
totalBalance is sufficient before distributing salaries would
prevent overdrawing.
o Validation Enhancements: Additional validation, such as format
checks for email and phone numbers, would improve data integrity.
o Error Handling: More robust error handling for numerical inputs (like
salary fields) would make the application more reliable.

In conclusion, this employee management project provides a


foundational system for managing employee information and
distributing salaries within an organization. With its GUI components, it
offers a user-friendly experience, especially for administrators who
perform frequent employee management tasks. Further enhancements,
especially in data persistence and security, would make the system more
robust and practical for long-term use.

GitHub Link : https://github.com/shihab1010/CSE-JU_Employee_Mgt.git

Project Output (UI):

You might also like