0% found this document useful (0 votes)
27 views24 pages

Nisha NT

Project file

Uploaded by

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

Nisha NT

Project file

Uploaded by

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

SYNOPSIS REPORT

On

ONLINE EMPLOYEE ATTENDANCE MANAGEMENT SYSTEM

Submitted

for

Partial fulfillment of the award of the Degree

Bachelor of Computer Applications

Submitted By:

Nishant Garg (220349106135)


Prerna Rana (220349106149)

Submitted To:

Aditi Garg Ma’am

Department of Bachelor of Computer Applications


Vidya Institute of Creative Teaching, Meerut
Session 2024-25

INDEX
| Topics
| Page No. |
| 1. Title
| 1 |
| 2. Introduction & Objective
| 3 |
| 3. Tools/Platform, Hardware, and Software Requirement
| 5 |
| 4. Problem Definition, Requirement Specifications
| 7 |
| 5. Analysis (Data Models, DFDs, ER Diagrams, Class Diagrams)
| 10 |
| 6. Database and Tables with Primary and Foreign Keys
| 14 |
| 7. Number of Modules and Their Description
| 17 |
| 8. Future Scope and Enhancement
| 21 |
INTRODUCTION & OBJECTIVE

2.1 Introduction

In today’s fast-paced world, managing employee attendance is crucial for


both small and large-scale organizations. Traditionally, organizations have
been using paper-based or excel-sheet methods for attendance
management, which is prone to errors and inefficiency. This project,
Online Employee Attendance Management System, seeks to
automate and streamline this process by leveraging modern technologies.

The system provides a convenient way for employees to mark their


attendance digitally, either by logging in through a web portal or mobile
app. The attendance data is securely stored in a database and can be
easily accessed by HR or management for generating attendance reports,
managing leaves, and more.

2.2 Objective

The main objectives of the project are:

1. To automate the attendance management system – Reducing


the dependency on manual systems.
2. To ensure accurate record-keeping – Minimizing errors related
to attendance tracking.
3. To generate attendance reports quickly – For payroll
processing and performance evaluations.
4. To ensure ease of access – Allowing employees and
administrators to access the system anytime.
5. To enhance security – By implementing secure login mechanisms
for both employees and admins.
TOOLS/PLATFORM, HARDWARE, AND SOFTWARE
REQUIREMENT
3.1 Tools/Platform

For developing the Online Employee Attendance Management


System, the following platforms and tools will be used:

 Programming Language: Java


 Database: MySQL
 Integrated Development Environment (IDE): NetBeans
 Frontend: HTML5, CSS3, JavaScript
 Backend: Java (JSP/Servlets)

3.2 Hardware Requirements

 Processor: Intel i3 or above


 RAM: 4 GB or higher
 Hard Disk: 500 GB or higher
 Internet Connectivity: Required for online access

3.3 Software Requirements

 Operating System: Windows 10 or higher / Linux


 Java Development Kit (JDK): Version 8 or higher
 MySQL Server: Version 5.7 or higher
 Web Browser: Google Chrome, Mozilla Firefox, or equivalent
PROBLEM DEFINITION & REQUIREMENT
SPECIFICATIONS
4.1 Problem Definition

Attendance tracking is a significant administrative task in any


organization. Manual systems are prone to issues such as:

 Human error – Mistakes in marking attendance.


 Data loss – Losing physical attendance records due to
misplacement or damage.
 Delays – Difficulty in quickly generating reports and tracking
employee absenteeism.

The Online Employee Attendance Management System solves these


issues by offering a real-time, secure, and automated platform for
attendance management.

4.2 Requirement Specifications

Functional Requirements

1. User Authentication: Employees and administrators can log in


using unique credentials.
2. Mark Attendance: Employees can mark their attendance through
the web or mobile application.
3. Attendance Report Generation: Admins can generate daily,
weekly, or monthly reports.
4. Leave Management: Employees can request leave and admin can
approve or deny the request.

Technical Requirements

1. Database Management: The system should manage employee


attendance data using MySQL.
2. Backend: Java Servlet technology for handling requests and
responses.
3. Frontend: User-friendly web pages for employees and
administrators.
4. Security: Implement user authentication to prevent unauthorized
access.
DATA FLOW DIAGRAM (DFD)
5.1 Level 0 DFD

The Level 0 Data Flow Diagram represents the overall system, where the
core functionalities such as logging in, marking attendance, and report
generation are shown.

[Employee] ---> [Login System] ---> [Attendance System] ---> [Database]


|
[Generate Report]

5.2 Level 1 DFD

This Data Flow Diagram elaborates on the processes, showing how data
flows between the users, the attendance marking system, and the
database.

ER DIAGRAMS & CLASS DIAGRAMS

5.3 Entity-Relationship Diagram

The ER Diagram for the project will contain key entities such as:

 Employee: Attributes like EmployeeID, Name, Department, etc.


 Attendance: Date, Time, Status (Present/Absent), etc.
 Admin: AdminID, Name, Privileges, etc.

The relationships between these entities will be explained with


cardinalities

COMPLETE ER DIAGRAMS WITH CARDINALITY &


CLASS DIAGRAMS
5.4 Complete ER Diagram

The Entity-Relationship Diagram (ERD) for the Online Employee


Attendance Management System outlines how different entities
interact with one another. Below is a description of the key entities and
their relationships:

1. Employee:
o Attributes: EmployeeID (Primary Key), Name, Email,
Department, Designation, etc.
o Relationship: An employee has multiple attendance records.
2. Attendance:
o Attributes: AttendanceID (Primary Key), Date, TimeIn,
TimeOut, Status (Present/Absent).
o Relationship: Attendance is associated with one employee
but can have multiple records for different days.
3. Admin:
o Attributes: AdminID (Primary Key), Name, Privileges.
o Relationship: Admin can manage attendance records of all
employees.

Cardinality

 One-to-Many relationship between Employee and Attendance


(i.e., one employee can have many attendance records).
 Many-to-One relationship between Attendance and Employee
(i.e., each attendance record belongs to one employee).

5.5 Class Diagrams

For the Online Employee Attendance Management System, the key


classes include:

1. Employee Class
o Attributes: EmployeeID, Name, Department, Email, etc.
o Methods: markAttendance(), requestLeave(),
viewAttendance().
2. Admin Class
o Attributes: AdminID, Name, Role, etc.
o Methods: approveLeave(), generateReport(),
manageEmployee().
3. Attendance Class
o Attributes: AttendanceID, Date, Status, etc.
o Methods: recordTimeIn(), recordTimeOut(), updateStatus().
DATABASE AND TABLES WITH PRIMARY AND
FOREIGN KEYS
6.1 Database Design

The database design includes the tables necessary for maintaining the
attendance data, user information, and system records.

6.2 Employee Table

Field Data Type Constraints


Name
EmployeeI INT PRIMARY KEY,
D AUTO_INCREMENT
Name VARCHAR(10 NOT NULL
0)
Departme VARCHAR(50 NOT NULL
nt )
Email VARCHAR(10 UNIQUE, NOT NULL
0)
Password VARCHAR(25 NOT NULL
5)

6.3 Attendance Table

Field Data Type Constraints


Name
Attendance INT PRIMARY KEY, AUTO_INCREMENT
ID
EmployeeI INT FOREIGN KEY (EmployeeID), NOT
D NULL
Date DATE NOT NULL
TimeIn TIME NULL
TimeOut TIME NULL
Status ENUM('Present', NOT NULL
'Absent')

6.4 Admin Table

Field Data Type Constraints


Name
AdminID INT PRIMARY KEY,
AUTO_INCREMENT
Name VARCHAR(10 NOT NULL
0)
Role VARCHAR(50 NOT NULL
)

Primary and Foreign Keys with Constraints


6.5 Constraints and Keys

1. Primary Keys:
o EmployeeID in the Employee table.
o AttendanceID in the Attendance table.
o AdminID in the Admin table.
2. Foreign Key:
o EmployeeID in the Attendance table references EmployeeID in
the Employee table.
3. Unique Constraints:
o The Email field in the Employee table ensures that each
employee has a unique email address.
4. Not Null Constraints:
o Fields like Name, Department, and Status are marked as NOT
NULL to ensure data integrity.
NUMBER OF MODULES AND THEIR DESCRIPTIONS
7.1 Modules Overview

The Online Employee Attendance Management System consists of


the following core modules:

1. Login Module
2. Attendance Management Module
3. Leave Management Module
4. Report Generation Module
5. Admin Module

7.2 Module Descriptions

1. Login Module

This module handles user authentication for both employees and


administrators. Each user logs in using their unique credentials (email and
password). After successful login, the system redirects them to the
relevant dashboard (employee or admin).

2. Attendance Management Module

This module allows employees to mark their attendance. It records the


time they log in (TimeIn) and the time they log out (TimeOut), along with
the date. The status (Present/Absent) is updated automatically based on
the login data.
3. Leave Management Module

Employees can apply for leave via this module. Once a leave request is
submitted, it is sent to the admin for approval or rejection. The status of
leave requests is tracked in the system.

4. Report Generation Module

This module generates attendance reports. Admins can generate reports


for a specific employee or department for a selected date range. The
reports are available in both PDF and Excel formats.

5. Admin Module

This is the control center for the system, allowing the admin to manage
employees, approve leave requests, and generate reports. Admins also
have the authority to modify attendance records in case of discrepancies.

DETAILED MODULE DESCRIPTIONS


7.3 Login Module Details

The Login Module uses a secure method to verify credentials. Employee


and admin credentials are stored in the database, and during login, the
system verifies the password using hashing algorithms for enhanced
security.

Login Steps:

1. User enters their email and password.


2. The system checks the credentials in the database.
3. If valid, the user is redirected to their respective dashboard.
4. If invalid, an error message is displayed.

7.4 Attendance Management Module Details

The Attendance Management Module keeps track of when employees


mark their attendance. The system records the time an employee logs in
and logs out, which is crucial for calculating working hours and tracking
absenteeism.

Attendance Steps:

1. Employee logs into the system.


2. The system automatically records the login time (TimeIn).
3. At the end of the day, the employee logs out, and the logout time
(TimeOut) is recorded.
4. The attendance status (Present/Absent) is updated.

FUTURE SCOPE AND FURTHER ENHANCEMENTS


8.1 Future Scope

The Online Employee Attendance Management System has room for


several future enhancements, including:

1. Mobile App Integration: Developing a mobile app for both


Android and iOS to make the attendance system more accessible for
employees on the go.
2. Biometric Integration: Integrating biometric devices like
fingerprint scanners for more secure attendance marking.
3. Real-Time Notifications: Implementing real-time notifications for
attendance alerts, leave status updates, and daily attendance
summaries.
4. Payroll System Integration: Linking the attendance system with
a payroll management system to automate salary calculations
based on working hours and leaves.
5. AI-based Analysis: Incorporating AI algorithms to predict
employee absenteeism trends and generate reports for future
planning.

8.2 Further Enhancements


1. Facial Recognition for Attendance:
Implementing facial recognition technology to automate the
attendance process. Employees could simply look at a camera to
mark their attendance, eliminating the need for manual inputs.
2. Geo-Fencing for Remote Work Attendance:
Introducing geo-fencing technology to track the location of remote
employees and ensure they are marking attendance only from
designated work locations.
3. Employee Analytics Dashboard:
A detailed dashboard that offers insights into employee attendance
patterns, punctuality, and overall performance. This would assist
managers in identifying top-performing employees as well as those
frequently absent or late.
4. Integration with HR Systems:
Seamless integration with HR systems for automated leave and
attendance management. It would allow HR professionals to
manage employee records, attendance, and leaves in one
integrated platform.
5. Voice-Activated Attendance System:
Implementing a voice-activated system where employees can mark
attendance using voice commands, particularly useful for
employees working in areas where manual entry might be
challenging.

CONCLUSION
The Online Employee Attendance Management System offers a
robust solution for managing attendance and leave records. By
automating the attendance process, this system eliminates manual errors
and ensures a seamless flow of information between employees and
administrators. The integration of advanced security features, like
encrypted passwords and role-based access control, makes this system
both reliable and scalable.

In conclusion, the project highlights the importance of digitizing


attendance management processes in organizations of all sizes. As
businesses increasingly adopt digital solutions, systems like this play a
vital role in improving operational efficiency, reducing absenteeism, and
fostering transparency within organizations.

Future enhancements, such as mobile apps and AI-based analytics, could


further improve the system's functionality, making it more adaptive to the
changing needs of modern workplaces.
APPENDIX A - CODE SAMPLES
Appendix A - Code Samples

Below are a few code snippets to illustrate how various modules are
implemented within the system.

Employee Login Code (Java)

java
Copy code
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;

public class EmployeeLogin {


public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter your email: ");
String email = scanner.next();
System.out.println("Enter your password: ");
String password = scanner.next();
try {
Connection con = DatabaseConnection.getConnection();
PreparedStatement ps = con.prepareStatement("SELECT * FROM employees
WHERE email=? AND password=?");
ps.setString(1, email);
ps.setString(2, password);
ResultSet rs = ps.executeQuery();

if (rs.next()) {
System.out.println("Login successful! Welcome, " + rs.getString("name"));
} else {
System.out.println("Invalid email or password. Try again.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Mark Attendance Code (Java)

java
Copy code
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.time.LocalDate;
import java.time.LocalTime;

public class MarkAttendance {


public static void markAttendance(int employeeID) {
LocalDate date = LocalDate.now();
LocalTime timeIn = LocalTime.now();

try {
Connection con = DatabaseConnection.getConnection();
PreparedStatement ps = con.prepareStatement("INSERT INTO
attendance(employeeID, date, timeIn) VALUES (?, ?, ?)");
ps.setInt(1, employeeID);
ps.setDate(2, java.sql.Date.valueOf(date));
ps.setTime(3, java.sql.Time.valueOf(timeIn));
ps.executeUpdate();

System.out.println("Attendance marked successfully for Employee ID: " +


employeeID);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Generate Attendance Report (Java)

java
Copy code
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class AttendanceReport {


public static void generateReport(int employeeID) {
try {
Connection con = DatabaseConnection.getConnection();
PreparedStatement ps = con.prepareStatement("SELECT * FROM attendance
WHERE employeeID=?");
ps.setInt(1, employeeID);
ResultSet rs = ps.executeQuery();

System.out.println("Attendance Report for Employee ID: " + employeeID);


while (rs.next()) {
System.out.println("Date: " + rs.getDate("date") + ", TimeIn: " +
rs.getTime("timeIn") + ", TimeOut: " + rs.getTime("timeOut"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
APPENDIX B - TEST CASES
Appendix B - Test Cases

To ensure that the Online Employee Attendance Management


System functions as expected, we created several test cases to validate
different components of the system. Below are some of the core test
cases.

Test Case 1: Employee Login

Test Case ID TC001


Test Validate employee login functionality
Description
Steps to 1. Enter valid email and password.
Execute 2. Click login.
Expected Employee successfully logs in and is redirected to the
Result dashboard.
Status Pass

Test Case 2: Mark Attendance

Test Case ID TC002


Test Test if attendance is marked
Description correctly.
Steps to 1. Login as an employee.
Execute 2. Click "Mark Attendance".
Expected Attendance is recorded in the
Result database.
Status Pass

APPENDIX C - PROJECT TIMELINE


Appendix C - Project Timeline

Below is the timeline followed during the development of the Online


Employee Attendance Management System.

Phase Start End Description


Date Date
Project Planning 10th Jan 20th Jan Requirement gathering and
2024 2024 analysis
Database Design 21st Jan 30th Jan Design of ER Diagrams and
2024 2024 Class Diagrams
Module 1st Feb 20th Mar Coding of login, attendance,
Development 2024 2024 and admin modules
Testing and 21st Mar 31st Mar Unit testing and integration
Debugging 2024 2024 testing
Final 1st Apr 5th Apr Deployment on the server
Deployment 2024 2024

APPENDIX D - TOOLS AND TECHNOLOGIES USED


Appendix D - Tools and Technologies Used

Programming Language:

 Java (Version 8 or higher) was used for backend development.

Database:

 MySQL was chosen for managing attendance records and user data
due to its scalability and reliability.

Development Environment:

 Eclipse IDE was used for writing, testing, and debugging the Java
code.

Version Control:

 Git was used for version control to keep track of code changes
during the development process.
Web Server:

 Apache Tomcat was used as the server for running the application.

APPENDIX E - ER DIAGRAMS
Appendix E - ER Diagrams

Below is the Entity-Relationship (ER) diagram that was used to design the
database for the Online Employee Attendance Management System.

Entities and Relationships:

 Employee: Represents employees using the system.


 Attendance: Records employee attendance data.
 Admin: Manages the attendance system, with elevated
permissions.

Relationships:

 An Employee has Attendance.


 The Admin manages Employees.

Note: The ER diagram is omitted here due to text-based limitations, but in


the project document, it would include a detailed graphical illustration.

APPENDIX F - CLASS DIAGRAMS


Appendix F - Class Diagrams

A class diagram was created to model the system's objects and


relationships. The core classes include:

 Employee: Attributes: employeeID, name, email, password, role.


 Attendance: Attributes: attendanceID, employeeID, date, timeIn, timeOut.
 Admin: Attributes: adminID, name, email, password.
APPENDIX G - DATABASE SCHEMA
Appendix G - Database Schema

Employee Table:

CREATE TABLE Employee (


employeeID INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
email VARCHAR(100) UNIQUE,
password VARCHAR(100),
role VARCHAR(50)
);

Attendance Table:

sql
Copy code
CREATE TABLE Attendance (
attendanceID INT PRIMARY KEY AUTO_INCREMENT,
employeeID INT,
date DATE,
timeIn TIME,
timeOut TIME,
FOREIGN KEY (employeeID) REFERENCES Employee(employeeID)
);

Admin Table:

sql
Copy code
CREATE TABLE Admin (
adminID INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
email VARCHAR(100) UNIQUE,
password VARCHAR(100)
);

TESTING & VALIDATION

Testing & Validation

The system was thoroughly tested to ensure it meets all functional and
non-functional requirements.

Types of Testing Performed:

1. Unit Testing:
o Tested each module, such as login, attendance marking, and
report generation.
2. Integration Testing:
o Ensured smooth interaction between different modules like
Employee and Attendance.
3. User Acceptance Testing (UAT):
o Performed with the help of potential users (HR personnel) to
validate ease of use.

Sample Test Case - Employee Login

Test Case ID TC004


Test Verify login with valid credentials.
Description
Precondition Employee must be registered in the
s system.
Test Steps 1. Open login page.
2. Enter valid email and password.
3. Click on the "Login" button.
Expected Employee successfully logs in.
Result
Actual Pass
Result

REFERENCES

1. Java Documentation:
Oracle, "Java SE Documentation", https://docs.oracle.com/javase/.
2. MySQL Database:
MySQL, "MySQL Documentation", https://dev.mysql.com/doc/.
3. Eclipse IDE:
Eclipse Foundation, "Eclipse IDE User Guide",
https://www.eclipse.org/.
4. Git Version Control:
GitHub, "Using Git", https://git-scm.com/.
5. Java Complete Reference by Herbert Schildt:
Herbert Schildt, "Java: The Complete Reference", McGraw Hill
Education.
BIBLIOGRAPHY

 Schildt, Herbert. Java: The Complete Reference, Ninth Edition.


McGraw-Hill Education, 2014.
 Korth, Henry F., and Abraham Silberschatz. Database System
Concepts, Sixth Edition. McGraw-Hill, 2011.
 Goetz, Brian. Java Concurrency in Practice. Addison-Wesley
Professional, 2006.
 Fowler, Martin. Patterns of Enterprise Application Architecture.
Addison-Wesley Professional, 2002.
 Beck, Kent. Test-Driven Development by Example. Addison-Wesley
Professional, 2003.
ACKNOWLEDGMENT

I would like to express my sincere gratitude to Aditi garg Ma’am, my


project guide, for providing invaluable support and guidance throughout
the development of this project. His/her constructive feedback and
insights have been instrumental in completing the project successfully.

I would also like to thank the department for providing the necessary
resources and environment to carry out this project. Special thanks to my
peers and colleagues who provided encouragement and technical
assistance.

You might also like