0% found this document useful (0 votes)
17 views19 pages

Face Recognition

The document outlines the software requirements for a Face Recognition Attendance System, which automates attendance tracking using facial recognition technology. It details the system's purpose, scope, objectives, architecture, functional and non-functional requirements, and process workflows. The system aims to enhance attendance management through user account management, data synchronization, and real-time processing, while ensuring security and scalability.

Uploaded by

hawladarshuvo
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)
17 views19 pages

Face Recognition

The document outlines the software requirements for a Face Recognition Attendance System, which automates attendance tracking using facial recognition technology. It details the system's purpose, scope, objectives, architecture, functional and non-functional requirements, and process workflows. The system aims to enhance attendance management through user account management, data synchronization, and real-time processing, while ensuring security and scalability.

Uploaded by

hawladarshuvo
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/ 19

SOFTWARE REQUIREMENTS

SPECIFICATION

VERSION 1.0

JANUARY 31, 2025

FACE RECOGNITION SYSTEM


1. Introduction
1.1 Purpose
This document specifies the software requirements for the Face Recognition
Attendance System, Version 1.0. The system automates attendance-taking through
facial recognition technology, intended for use in organization and professional
settings. This system aims to provide a seamless and accurate solution for
monitoring and recording attendance in various organizational settings by
leveraging real-time database integration.
This document serves as the baseline for the system's development, testing, and
deployment. Any future extensions or integrations with external systems will be
covered in separate releases.

1.2 Scope
This project focuses on:
 Creating and managing user accounts.
 Synchronizing data between client and server.
 Tracking and processing attendance data.
 Development of user-friendly interfaces for different user roles for marking
attendance using facial recognition.
 User authentication and authorization mechanisms to control access and
permissions.
 Secure access for administrators to manage attendance data

1.3 Objectives
 Ensure reliable user data management.
 Automate attendance tracking.
 Establish seamless integration between client, server, and external systems.
2. Project Overview
The project involves designing a system that enables users to create accounts,
synchronize their data, and manage attendance records. The system also calculates
attendance-related metrics and integrates with external services to expand
functionality. It includes automated retries and notifications to handle errors
effectively.

3. System Architecture
3.1 Components
Client Application: Interface for user interactions.
Server: Centralized system for processing and storing data.
External Systems: Third-party integrations for data sharing and additional
processing.
Database: Stores user information, attendance records, and logs.

3.2 Architecture Diagram


 The system architecture includes:
 Input from users.
 Data synchronization between client and server.
 Processing layers for validation and calculations.
 External systems for extended functionalities.

4. Functional Requirements
4.1 User Account Management
4.1.1 Create Account
This app gives access to two kinds of users.
1. Administrator: Administrator will open an account using our app where they
will open an account with their email address, and the user will be verified by
sending a code to their email, while opening an account, they will have to fill
up the form as normal by entering their email, number, name, username
password etc.

2. User: Administrator will open user accounts one by one, for which there will
be an "Add User" option. Where all personal data like user id, picture, name,
department, join time, phone number, default password etc. will be input.

4.1.2 Update Account


 Administrator can update his account information from his profile page
also
 User only can update his personal information he can’t modify attendance
related information
4.1.3 Delete Account
 Admin can delete user account and also can delete his account

4.2 Connect device


Here have 2 ways to connect machine with app manual connect devise with
searching and “QR scan” to connect Bluetooth need to keep both ways to connect
device.
4.2.1 Set Password
When a device is requested to connect from the MCU/machine, first set the default
password as "0000" or "1111" or any other, then a pop up will appear asking if this
default password is being used. If you click "ok" and the default password will be
set, if you click cancel, it will start the process of setting a new password.

4.2.2 Save device password in server


If you select set password, then by API save password in server. Use this password
he can log in next time. If you select input password, then first time it needs to set
your password by entering it two times. Next time when user login then uses this
new set password. If user forget his set password or used password, then he can
retrieve it with his registered email by getting security code also long press the
power button can reset the default password.
4.2.2 Search device for connect
When you try to connect devices that time need a search system in this app for
determined which devices in nearby this app. With Bluetooth (BLE) we can achieve
this purpose.
Discovery Mechanism by Web-Sockets:
To achieve device discovery with Web-Sockets, there needs to be a mechanism
in place for the devices to announce themselves. For example:
 Devices could register their Web-Socket endpoints (IP address and port) on a
central server.
 The app could query this server to find available devices and then connect to
them via Web-Socket.
 This would be similar to how a web application might discover services on a
network via a directory or registry system, but it wouldn't be "searching" for
devices like Bluetooth does.
4.3 Apps main interface
4.3.1 Connect device
Follow the description of 4.2.2

4.3.2 Create user account


First when the account is created through all the verifications, now this user
information has to be sent to the device and server for which we can use two
methods Bluetooth and cloud. The information has to be stored in the device
because when someone's face is detected then his data has to be matched to see if it
is in the database or not, if it is then needs to give his attendance for that day.
Send information to the device's mcu via Bluetooth and store it in the device's
internal memory. It also needs to be updated in the device's mcu when adding new
employees or updating/deleting employee information which requires the option to
sync data between the server and the device via the app.
1. User Creation & Initial Data Collection

1. A new user profile is created with the following details:

 Name, ID, Department


 Face recognition image
 Join time
 Contact details (phone number, etc.)

2. This user data is stored in the system for identification purposes.

2. Data Transmission from MCU (Microcontroller Unit)

A. Bluetooth Mode (Local Communication)

 The MCU (Microcontroller Unit) sends command data via Bluetooth


(BLE).
 The attendance machine processes the scanned data.
 If successful, it returns OK and continues processing.
 If failed, it returns NG (Not Good), and the system rechecks the data and
resends it.

B. Cloud Mode (Remote Communication)

 If the attendance machine operates in Cloud Mode, it:

 Sends MAC ID + Email Account of the user for verification.


 If it's the first time, this data is stored in the server via API with a key.
 The server generates a client ID and stores it in the database.

3. Client ID & Database Storage

1. Client ID Creation

 Once a new MAC ID is verified, the server assigns a unique client


ID.
 This ID is used for further user identification.

2. Database Structure
 Data is stored in a grouped table based on client ID.
 For 100+ users, multiple tables may be created.

3. Stored Data Includes:

 User Information: (Name, ID, Department, Face Data, Contact, etc.)


 Attendance Data: (Check-in, Check-out times, Late, Missed Punch,
etc.)
 Rules: (Shift Timing, Overtime Rules, Holiday Policies, etc.)
 Calculation Data: (Processed work hours, overtime, etc.)

4. Data Retrieval & Processing

1. The server processes attendance data from the database.


2. If a client ID is recognized, it allows access.
3. If the client ID is not found, the system requests a retry.
4. Attendance rules are applied to calculate:

 Work hours
 Late/Early deductions
 Overtime
 Missed punches

5. Data Update & Real-Time Transmission

A. MCU Sending Data to the Server

 The MCU sends user attendance data using commands.


 If verified, data is stored in the server database.
 If an error occurs, data is rechecked and resent.

B. WebSocket for Real-Time Updates

 If attendance data is recorded, it is sent via WebSocket to notify other


applications.
 This ensures real-time attendance monitoring.

C. Applications Syncing Data


 Apps retrieve and update attendance data.
 Data is stored for further calculations.

4.3.3 User list


every user/employee account must show in this list administrator can delete and
update user accounts from this list. this data is also in the device's memory
4.3.4 Send Notice
1. Notice for all users which is show on his app interface when admin published
it.
2. Individual notification sends only for a specific user
4.3.5 Reports
1. Daily report
The following items may be included in the leave report:
 Employee Information:
 Employee ID or name
 Department/team
 Position or role
 Employee Information:
 Present: Whether the employee was at work on the specific day
 Absent: Whether the employee was absent, and if so, the reason (if
provided)
 Late: Whether the employee arrived late and the time of arrival
 Early Departure: Whether the employee left early and the time of
departure
 Half-day: If the employee worked only part of the day (e.g., a half-
day off)
 Leave Taken: If the employee took any kind of leave (e.g., sick
leave, vacation, personal leave)
 Overtime: If the employee worked overtime and how many hours
were worked
 Employee Information:
 Clock-in time: The time the employee clocked in for the day (if
applicable)
 Clock-out time: The time the employee clocked out for the day (if
applicable)
 Total worked hours: The total number of hours worked during the
day, including overtime
 Breaks taken: Duration or timing of any breaks taken (if
applicable)
2. Leave report
The following items may be included in the leave report:
 Employee Leave Summary:
 Total number of employees in the company
 Total number of leave requests (approved, pending, rejected)
 Total leave taken across all employees
 Leave usage by department/team
 Total leave balance available for all employees
 Employee Leave Details:
 Employee name or ID
 Department or team
 Type of leave (sick leave, vacation, personal leave, etc.)
 Leave start and end dates
 Duration of leave (days or hours)
 Reason for leave (if applicable, or categorized by type of leave)
 Leave Approval Status:
 Status of each leave request (approved, pending, or rejected)
 Manager's approval or comments for each request
 Any special conditions (e.g., unpaid leave, part-time leave)

3. Salary report
 Attendance Information:
 Presence Status: Whether the employee was present, absent, on
leave, or working remotely
 Late Arrival: If the employee was late, and the time of arrival (e.g.,
"Arrived at 9:30 AM instead of 9:00 AM")
 Early Departure: If the employee left early, and the time of
departure
 Leave Type: If the employee took any leave (e.g., sick leave,
personal leave, vacation, etc.)
 Overtime Hours Worked: If the employee worked overtime, with
details on the number of overtime hours
 Half-Day or Partial Attendance: If the employee worked a partial
day or had specific hours off
 Clock-in and Clock-out Times: The exact times the employee
clocked in and out for the day (if using a time-tracking system)
 Salary Impact:
 Base Salary: The employee's regular salary (may be included as a
reference for calculating daily wages)
 Daily Wage: Calculated daily wage (base salary divided by the
number of working days in the month)
 Overtime Pay: Details of overtime hours worked, and the
corresponding pay rate for overtime (typically higher than regular
pay)
 Leave Deductions: Any deductions made for unpaid leave or
absences not covered by leave balances
 Salary Adjustments: Any adjustments made to the salary (e.g.,
bonuses, commissions, performance incentives, etc.)
 Deductions: Any other salary deductions related to the day's
attendance (e.g., fines for unapproved absences, tardiness
penalties)
4.4 Punch Attendance
If someone punches for attendance or face recognition, the data will be sent to the
server which will be done through internet connection. If there is no internet, then it
will be stored in the device MCU. Later when internet is available then MCU will
send the data to the server.
4.5 Desktop/Web application for Scanned data calculation
1. Data Collection and Storage

 The attendance machine store user machine data (e.g. timestamps, MAC ID).
 The first-time scan saves the MAC ID locally.
 The data is sent to the server via an API with a key.
 The server stores user information, attendance data, and rules for
processing.

2. Rules and Processing

 The system has a rules module that includes:

 In-time and out-time rules


 Late arrival, missed punch, etc.
 Attendance policies

 The application needs user information before setting rules.


 Rules can be modified via an API.
 If modifications are successful, the system returns "OK", otherwise, it
returns "NG" (Not Good).

3. Desktop/Web Application for Calculation

 Users log in to the main desktop application (or web app) using their email.
 The application pulls data from the server, including:

 User details
 Attendance records
 Rules

 The app calculates attendance data (late arrivals, missed punches, etc.).
 The results are stored and matched with user email accounts.

4. Data Transmission

 Processed data is sent to the server, including:

 User ID
 Email account
 MAC ID
 Attendance-related issues (late arrivals, missed punches)

 The server returns confirmation of data receipt.

5. HR Management System Integration

 A PC-based HR management system can be used to manage and analyze


attendance data.
 This system requires payment to access certain features.

6. Real-time Updates

 Attendance issues are sent to other applications via WebSocket for real-time
updates.
 This functions similarly to a chat system, keeping relevant users informed of
attendance changes.
4.6 Connecting users/employees to the app
When Admin/Hr./owner add an employee in the system that time automatic
generates a QR code for that user to share with employee. Employee scan this QR
code and connect to the system database.
If the employee is already using our app, he/she will already have an account and a
unique QR code on our app. Then, the admin can scan that QR code and connect
him to the attendance machine server/database.

Admin Employee

In this QR code match

 Machine mac id
 User Id
 User email

5. Non-Functional Requirements
5.1 Performance
 Data synchronization must complete within 5 seconds.
 Attendance calculations should take no longer than 2 second per user.
5.2 Reliability
 99.9% uptime for the server.
 Automatic retries for 99% of transient errors.
5.3 Scalability
 Support up to 1,000 users concurrently.
 Expandable external system integrations.
5.4 Security
 Encrypt sensitive data in transit and at rest.
 Implement role-based access controls.

6. Process Workflow
Key Processes
1. User Account Creation: From user input to account verification.
2. Data Synchronization: Bidirectional data flow between employee and
admin and server.
3. Attendance Processing: Recording and calculating attendance
durations and generate a monthly report of employee.

7. Data Flow
 Input Data
 User account details (e.g., name, email).
 Attendance events (e.g., timestamps).
 Output Data
 Confirmation messages.
 Attendance reports.
 Error logs.
8. Use Cases
8.1 User Account Creation
 Actor: End User.
 Preconditions: User provides valid input.
 Steps:
1. Submit details.
2. Validate input.
3. Create account.
4. Verify via email/SMS.
5. Post conditions: User account is activated.

8.2 Attendance Tracking


 Actor: End User.
 Preconditions: User is registered.
 Steps:
1. Record check-in/check-out.
2. Process data.
3. Store in database.
4. Post conditions: Attendance records updated.

9. Error Handling
9.1 Retry Mechanisms
 Automatic retry for transient errors.
 Log failures for manual review.
 Inform users of errors with correct message.
 Log notifications for audit.
9.3 Assumptions and Constraints
 Reliable internet connection required.
 External systems must respond within 5 seconds.

10. Conclusion
This document serves as a blueprint for developing a reliable, efficient,
and user-friendly system based on the processes outlined in the provided
flowchart. The detailed workflows, functional requirements, and system
architecture ensure a robust implementation.

You might also like