SMMM Final
SMMM Final
Lab.
ITE-311P
1. Design Phase
The design phase focuses on how to turn the gathered requirements into an
actionable blueprint for your system.
This phase involves writing the code and actually building the system according to
the design specifications.
Create Database: Define tables for students, attendance records, and any
additional data.
Data Storage: Implement functions to store and retrieve student data, such
as names, IDs, and facial embeddings (if you're storing face vectors).
Integration: Integrate the face recognition system with the database to store
attendance data (date, time, student ID).
2.4 UI Development
Student Interface: Develop the web interface that allows students to stand
in front of the camera, trigger face recognition, and mark their attendance.
Admin Interface: Build a dashboard for teachers and administrators to view
attendance reports, add/remove students, and monitor system
performance.
2.5 Security and Authentication
3. Testing Phase
Testing ensures that the system works as expected, identifying bugs and ensuring it
meets the requirements.
Test the entire system as a whole to ensure that all the components work
together seamlessly.
Face Recognition Accuracy: Test the accuracy of the face recognition system
under various conditions (lighting, angle, etc.).
System Performance: Check the system's ability to handle multiple students
at once, especially if you expect a large number of users (e.g., in a classroom
setting).
Response Time: Test how fast the system recognizes faces and marks
attendance (aim for under 5 seconds).
3.5 User Acceptance Testing (UAT)
Have real users (students, teachers, admins) test the system to ensure that it
meets their needs and expectations. Gather feedback and make necessary
improvements.
4. Deployment Phase
Deployment involves preparing the system for use by the intended audience.
Choose the deployment environment (e.g., cloud service like AWS or local
servers).
Prepare for system scaling, backup solutions, and ensure data security
(especially face data).
Web Deployment: Deploy the web application using a platform like Heroku,
AWS, or a local server.
Face Recognition Model Deployment: Ensure the face recognition model is
properly deployed and accessible from the server, capable of processing
incoming data in real-time.
Database Deployment: Set up and deploy the database on a secure server
or cloud platform.
Provide training for users (students, teachers, and admins) on how to use the
system.
Create user manuals and technical documentation for system administrators.
5. Maintenance Phase
Maintenance is the ongoing process of ensuring that the system runs smoothly,
remains updated, and is improved over time.
Regularly monitor the system for any bugs, errors, or performance issues
and resolve them promptly.
Keep the system up-to-date with the latest libraries, face recognition models,
and security patches.
As the number of users grows, monitor the system's scalability and make
improvements, such as optimizing database queries, or shifting to more
robust cloud infrastructure to handle more users.
2. System Design
Task 2.1: Design the overall system architecture (e.g., components involved
like face detection, recognition, and database interaction).
Task 2.2: Design the user interface (UI) to display attendance results and
manage student records.
Task 2.3: Design the database schema (e.g., tables for storing student
information, attendance records).
Task 3.1: Collect face images for training (e.g., images of students with
labels).
Task 3.2: Preprocess the images (e.g., resizing, normalization, and
augmentation).
Task 3.3: Split data into training and testing datasets.
Task 4.1: Implement face detection (e.g., using OpenCV, Dlib, or a similar
library).
Task 4.2: Implement face recognition (e.g., using a deep learning model like
CNN or pre-trained models like FaceNet).
Task 4.3: Integrate the recognition system with the database to compare the
detected face with stored records.
Task 7.1: Integrate all modules (face detection, recognition, database, and
UI).
Task 7.2: Perform unit testing for each module (e.g., face recognition
accuracy, database queries, UI responsiveness).
Task 7.3: Perform integration testing to ensure smooth interaction between
components.
Task 7.4: Conduct end-to-end testing (e.g., simulate real-world scenarios of
face recognition and attendance marking).
Task 10.1: Monitor the system after deployment for any issues.
Task 10.2: Provide updates to improve accuracy or add features (e.g., multi-
user attendance, additional security features).
Gathering Requirements:
1. Stakeholder Identification
End Users: Students, teachers, or faculty members who will interact with the
system.
System Administrators: People who will manage the system, e.g., updating
student records, monitoring the system, etc.
Developers: Those involved in the development and maintenance of the
system.
Institution/Organization: The educational institution or organization
implementing the system.
2. Functional Requirements
Attendance Marking:
o The system should be able to mark attendance based on facial
recognition.
o It should compare the detected face with the student database to
verify identity.
o The system should update the attendance record in real-time.
Face Detection:
o The system should detect faces in different lighting conditions (e.g.,
daylight, artificial lighting).
o It should be able to detect faces from multiple angles (e.g., frontal,
profile).
Face Recognition:
o The system should be able to match faces accurately with the student
database.
o The recognition process should be fast and reliable (within a few
seconds).
o It should handle cases of false positives/negatives (e.g., incorrect
recognition or unrecognized faces).
Database Management:
o The system should store and manage student information (name, ID,
face image).
o The database should store attendance records for each student
(present/absent with timestamps).
User Interface (UI):
o The system should have an intuitive interface for students to mark their
attendance.
o Teachers/admins should have access to view the attendance logs and
student records.
o Feedback messages (e.g., “Attendance Marked”, “Face Not
Recognized”) should be clearly displayed.
Data Security:
o The system should ensure the privacy of student data (especially face
images).
o Sensitive data (like student IDs) should be encrypted in the database.
o Access control should be in place for different types of users (e.g.,
admin access vs. student access).
Scalability:
o The system should handle multiple users simultaneously without
significant performance degradation.
o The system should be scalable to accommodate large student
databases.
3. Non-Functional Requirements
Non-functional requirements describe how the system performs, rather than what it
does.
Performance:
o The face recognition process should take less than 5 seconds to identify
a student.
o The system should be able to handle a large number of users (e.g.,
hundreds of students in a class).
Reliability:
o The system should be available and operational 24/7 with minimal
downtime.
o The system should have a backup mechanism for storing attendance
records.
Usability:
o The user interface should be easy to use for both students and admins.
o It should be intuitive, with minimal instructions required for usage.
Compatibility:
o The system should work on commonly used devices (e.g., desktops,
tablets, smartphones).
o It should support integration with other tools or platforms (e.g.,
learning management systems).
Maintainability:
o The system should be easy to maintain and update, with clear
documentation and modular code.
Security:
o The system should prevent unauthorized access (e.g., secure login for
admin users).
o Data should be securely stored and transmitted (e.g., SSL encryption).
4. System Constraints
Constraints define limitations or conditions under which the system must operate.
Hardware Constraints:
o The system must work with standard webcams or cameras that are
available on laptops or mobile devices.
o The system should work with relatively low-quality images, especially
in case of poor lighting conditions.
Software Constraints:
o The system should be developed using open-source libraries (e.g.,
OpenCV for face recognition, SQL for database management).
o The system should run on commonly used operating systems
(Windows, Linux, macOS).
Budget and Time Constraints:
o The project should be completed within a certain time frame (e.g., 3–6
months).
o The budget for the project is limited, so the choice of tools and
resources should be cost-effective.
Use cases describe the interaction between users and the system. For your Face
Recognition Attendance System, potential use cases include:
6. Acceptance Criteria
Acceptance criteria define the conditions that must be met for the system to be
considered complete and functional:
The system should accurately recognize 95% of the students’ faces under
normal conditions.
The system should mark attendance within 5 seconds of face detection.
The UI should display the attendance status to the student within 3 seconds
of recognition.
The attendance database should record each student's presence with
timestamps.
Using QFD:
1. Customer Requirements (CR)
These are the needs and expectations of the stakeholders (students, teachers,
administrators). The CRs are typically gathered during the requirements gathering
phase.
These are the technical features or specifications that will meet the customer
requirements.
The House of Quality matrix is the central tool used in QFD. It connects the
customer requirements with the technical requirements.
Customer Requirements (CR): These are the key needs of the stakeholders.
For example:
o Accurate Face Recognition: The system must accurately recognize faces
in various conditions.
o Quick Attendance Marking: The system must quickly recognize the
face and mark attendance.
o Easy-to-Use Interface: The system should have a simple and intuitive
user interface.
o Real-Time Data Update: Attendance data should be updated
immediately after recognition.
o Robust Security: The system must ensure data privacy and secure
access.
o Scalability: The system should be able to handle a large number of
users efficiently.
o Reliability: The system must be reliable and have high uptime.
Technical Requirements (TR): These are the technical features or solutions
to meet each customer requirement. For example:
o Face Recognition Accuracy: Implement a deep learning-based
recognition model for high accuracy.
o Database Speed: Use fast, efficient database queries and indexing.
o UI/UX Design: Design a user-friendly and simple interface for students
and admins.
o Data Security: Use encryption for face images and other sensitive data,
implement secure login mechanisms.
o System Scalability: Leverage cloud-based infrastructure to scale the
system.
o Performance: Ensure the system is responsive with low latency.
Weight: Each customer requirement is assigned a weight (1-10), representing
its importance to the success of the system.
Technical Requirements (TR) Scores: The technical requirements are rated
(usually 1 to 5) on how well they meet the customer requirements, with the
following possible values:
o 1: Low importance in meeting the requirement.
o 2: Medium importance in meeting the requirement.
o 3: High importance.
o 4: Very high importance.
Elicitation Challenges:
1. Lack of Clear Communication from Stakeholders
8. Unrealistic Expectations
Challenge: For projects involving personal data (e.g., students' images), legal
requirements such as data privacy laws (e.g., GDPR, CCPA) can complicate
the elicitation process, especially when handling sensitive data like facial
images.
Solution: Involve legal or compliance experts early in the process to identify
any constraints or requirements related to data privacy and security. Make
sure the system complies with relevant regulations.
11. Limited Time and Resources
Definition:
The system typically works as follows:
A camera captures a video stream of the individuals whose
attendance is to betaken.
The face detection algorithm in the system identifies and locates the
faces in thevideo stream.
The face recognition algorithm in the system compares the detected
faces to the faces in the database.
If a match is found, the system marks the individual as present and
stores their attendance data in the database. Otherwise, the system
marks the individual as absent.
The real-time database ensures that the attendance data is always up-
to-date and can be accessed by authorized admin at any time.
The system ensures that is the student is absent then an automatic
email should be sent to the registered mail id informing the parents
that he/she is not attendingthe classes.
HARDWARE INTERFACE
The hardware interface of a face attendance system using a real-time
databasetypically consists of the following components:
a) Camera: A camera/webcam is used to capture images of the faces
ofindividuals. The camera should be high-resolution and have a wide
field ofview to ensure that it can capture clear images of faces from a
variety ofangles and distances. (recommended webcam-Logitech HD
pro webcam).
b) Computer/Laptop: A computer/laptop is used to run the face
detectionand recognition algorithms.c)Network connection: A
network connection is required to connect thedevice to the real-time
database. The network bandwidth and latencyrequirements will
depend on the number of users and the amount of databeing
transferred
SOFTWARE INTERFACE
a) Attendance tracking screen:An attendance tracking screen where
users can mark their attendance.It includes the Face Registration
Screen with camera view on the leftpane.
After the face recognition, it shows the details of the student on
theright pane ,which include the Name of the student ,Roll number
,Branch,Current Year and the current updated attendance.
After marking the attendance ,it shows ‘MARKED’.
If same face is detected again ,it shows ‘ALREADY MARKED’.
CONSTRAINTS
Budget: The cost of developing and deploying a face attendance
system canvary depending on the size and complexity of the system,
the hardware andsoftware requirements. It is important to set a
budget for the project and tomake sure that the design and
implementation are within the budget constraints.
Timeline: The time required to develop and deploy a face attendance
systemcan also vary depending on the complexity of the system and
the resourcesavailable. It is important to set a realistic timeline for the
project and to trackprogress regularly to ensure that the project is on
track.
Expertise: The development and deployment of a face attendance
systemrequires expertise in a number of areas, such as computer
vision and databasemanagement. It is important to have thenecessary
expertise in-house or to hireexternal consultants.
Hardware and software requirements: The face attendance system
willrequire access to specific hardware and software components. It
is important tomake sure that the necessary hardware and software
is available before startingthe project.
User Characteristics :
Age: The system can be used by people of all ages, from children to
adults.
Technical expertise: The system is designed to be easy to use, even for
peoplewith limited technical expertise.
Physical characteristics: The system should be able to identify and
verify thefaces of individuals with a variety of physical characteristics,
such as differentskin color and hair color.
1. Functional requirements
• A login portal connected to the institute login, to be used by
students, professors and administrators.
• A dashboard for students and professors to view attendance
details for any class or course taken by them.
• An easy way for professors to make minor changes to
attendance policy for a class or the entire course directly from
the dashboard without needing to go through the
administration.
• An option on the dashboard for the administration to
manually override faulty attendance results.
DFD:
Attendance List
Student Details
Send mail to
absentee
a) Context Diagram
Level 1:
Scan Face
Register Mark
Generate the
employee Attendance absentee list
Level 2:
Generate Compare
Update
<<extend>>
Scan Face Attendace info
<<extend>> <<include>>
Student
Register Manager Info
Login System
<<extend>> <<include>>
Employee Status Register Employee info
override Admin
<<include>>
Lecturer
Login:
Introduction: This use case describes how a employee attendance is
registered
Actors : i) Student ii) Manager iii) Admin
Pre Conditions : None
Post Conditions : If the use case is successful, the actor is logged into
the system. If not, the system state is unchanged
Basic Flow : This use case starts when the actor wishes to login to the
Attendance management system.
(i) System requests to scan the face.
(ii) Employee shows his/her face
(iii) System validates face and if finds correct it registers his
attendance
Alternate Flows
Invalid face If in the basic flow, the actor shows an invalid face, the
system displays an error message. The actor can choose to either
return to the beginning of the basic flow or cancel the attendance, at
that point, the use case ends.
Special Requirements: None
Use case Relationships: None
1.Maintain student details
3. Update a student
4. Maintain Result Details
5. Add Marks Records
6. View/Display resul
Experiment No. 6: Create a class diagram using Visual Paradigm UML
CLASS DIAGRAM:
Manager User
Id : Char Id : Char
Name : Char Name: Char
Address : char
Provide: Sample()
Ph No.: Int
Qualification : Char
RequestToMatch()
Interacts With
Add Records()
UpdateRecords()
DeleteRecords()
ConvertImageIntoBinaryData()
//(-)section break
User
Face Unrecognized
Record as Visitor
Welcome Visitor
Experiment No. 9: Create a collaboration diagram using Visual
Paradigm UML