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.