SRS Document
SRS Document
Software Engineering
Software Requirements
Specification
Project: Student Management
System
Group Members
Member Names Member Roll no.
1.Hamna Haider 023
2.Areeba Shakeel 028
3.Zoha Ilyas 006
4.Attaf Muneeb 040
5. Fatima Irfan 036
Table of Contents
Table of Contents......................................................................................................................................................... iii
1. Introduction and Background............................................................................................................................... 1
1.1 Product (Problem Statement)....................................................................................................................... 1
1.2 Background.................................................................................................................................................. 1
1.3 Scope........................................................................................................................................................... 1
1.4 Objective(s)/Aim(s)/Target(s)....................................................................................................................... 1
1.5 Challenges................................................................................................................................................... 1
1.6 Learning Outcomes...................................................................................................................................... 1
1.7 Nature of End Product.................................................................................................................................. 1
1.8 Completeness Criteria.................................................................................................................................. 1
1.9 Business Goals............................................................................................................................................ 1
1.10 Related Work/ Literature Survey/ Literature Review....................................................................................1
1.11 Document Conventions................................................................................................................................ 1
2. Overall Description................................................................................................................................................ 2
2.1 Product Features.......................................................................................................................................... 2
2.2 User Classes and Characteristics................................................................................................................ 2
2.3 Operating Environment................................................................................................................................ 2
2.4 Design and Implementation Constraints......................................................................................................2
2.5 Assumptions and Dependencies..................................................................................................................2
3. Project Management.............................................................................................................................................. 3
3.1 Work Breakdown Structure (WBS)...............................................................................................................3
3.2 Develop an Activity Graph............................................................................................................................ 3
~~~~~~~~~~ Phase II ~~~~~~~~~~
4. Functional Requirements...................................................................................................................................... 3
4.1 Name of Use-Case 1.................................................................................................................................... 3
4.2 Name of Use-Case 2 (and so on).................................................................................................................4
Requirements Analysis and Modeling........................................................................................................................4
5. Nonfunctional Requirements*............................................................................................................................... 4
5.1 Performance Requirements......................................................................................................................... 4
5.2 Safety Requirements.................................................................................................................................... 4
5.3 Access Control............................................................................................................................................. 4
5.4 Additional Software Quality Attributes..........................................................................................................5
6. Designing................................................................................................................................................................ 5
7.1 Complete class diagram............................................................................................................................... 5
7.2 Complete Data Flow Diagram (DFD).........................................................................................................55
7.3 Database...................................................................................................................................................... 5
7.4 Information on use of design patterns while designing the modules............................................................5
7.5 Make a Sequence and a Collaboration diagram of following.......................................................................5
7.6.1 Scenario 1............................................................................................................................................... 5
7.6.2 Scenario 2............................................................................................................................................... 5
7. Estimation............................................................................................................................................................... 6
8.1 Cost Benefit Estimation................................................................................................................................ 6
8. References.............................................................................................................................................................. 6
1. Introduction and Background
1.1 Product (Problem Statement):
1.2 Background:
Traditional attendance methods, such as manual registers or outdated biometric systems, are
prone to inaccuracies, delays, and data manipulation. This project introduces a digitized solution
that leverages Arduino technology and fingerprint authentication to automate attendance
recording. It addresses issues like manual errors, unauthorized access, and inefficiency, offering
a cost-effective and accurate alternative tailored to educational institutions, workplaces, and
similar environments.
1.3 Scope:
The project will encompass the following functionalities:
For Administrators:
Viewing attendance records in the console interface.
Updating or managing user data in the database.
Generating attendance reports.
System Features:
Integration of Arduino hardware with a robust database for secure data storage.
Console-based interface for simplicity and accessibility.
1.4 Objective:
User-Focused Goals:
Automate the attendance marking process with fingerprint authentication.
Provide an intuitive, console-based interface for both users and administrators.
Operational Goals:
Ensure seamless integration between the Arduino hardware and the database.
Minimize manual intervention, reducing errors and saving time.
1.5 Challenges:
Establishing a reliable connection between the Arduino setup and the database.
Ensuring smooth operation of the fingerprint scanner with accurate user recognition.
Debugging and maintaining the console-based system to ensure usability.
Managing power and hardware dependencies for consistent performance.
Designing a setup that is cost-effective and easy to replicate.
1.6 Learning Outcomes:
Through the development and implementation of this project, the team will:
Learn how to interface hardware components (Arduino, fingerprint scanner) with software.
Gain practical experience in database management and integration with embedded systems.
Develop problem-solving skills for handling hardware and software debugging.
Understand the fundamentals of user authentication and secure data management.
Enhance skills in console-based application development.
1.7 Nature of End Product:
2 Overall Description
2.1 Product Features
1.Users (Students/Employees):
Require minimal technical knowledge to use the system.
Authenticate their attendance via the fingerprint scanner.
2.Administrators (HR/Managers/Teachers):
Manage user profiles and attendance records.
Require training to operate the console interface and handle database-related tasks.
3.System Developers/Maintainers:
Oversee system maintenance and troubleshooting.
Require technical expertise in Arduino, database management, and hardware integration.
1.Hardware Requirements:
Arduino board with a fingerprint scanner module.
Computer system for hosting the console interface.
2.Software Requirements:
Arduino IDE for programming.
Console-based application for interfacing with the system.
Database management system for attendance data storage.
3.Environment Considerations:
Operates offline for fingerprint scanning but requires periodic internet access for database
synchronization or backups.
Requires a stable power supply to ensure uninterrupted functionality.
Budgetary Constraints:
Limited financial resources for purchasing Arduino hardware, fingerprint scanners, and
database hosting.
Time Constraints:
A tight schedule for system development, testing, and deployment.
Limited time for user training and troubleshooting during the initial launch phase.
Integration Limitations:
Challenges in connecting the Arduino setup with an external database system.
Restrictions on hardware compatibility with varying device configurations.
Scalability Requirements:
Designing the database and system to accommodate increasing numbers of users as the system
scales.
Hardware Limitations:
Dependence on specific fingerprint scanner models and Arduino board capabilities.
Potential performance degradation with extended usage or environmental factors like heat and
dust.
User Training and Adoption:
Ensuring the interface is user-friendly for non-technical users.
Providing sufficient training materials to administrators.
Data Security and Privacy Compliance:
Adhering to data protection laws and best practices for handling biometric data securely.
User Training and Adoption:
Constraints related to user familiarity and training requirements may influence
design to ensure user-friendly interfaces and smooth workflows.
1. Hardware Reliability:
o Assumes the fingerprint scanner and Arduino board function as expected under normal
conditions.
2. Database Accessibility:
o Assumes consistent access to a database system for storing attendance records.
3. User Adoption and Training:
o Assumes users and administrators will quickly adapt to the system with minimal training.
4. Stable Environment:
o Assumes the system will operate in a controlled environment with minimal power and
hardware disruptions.
5. Legal Compliance:
o Assumes that biometric data collection and storage comply with local data protection and
privacy regulations.
Dependencies:
Hardware Components:
The system is dependent on the Arduino board, fingerprint scanner, and related peripherals
functioning correctly.
Database Management System:
Reliable database performance for secure data storage and retrieval.
Programming Environment:
Dependence on the Arduino IDE and other development tools for creating and maintaining the
system.
Internet Connectivity (Periodic):
Internet required for database backups, updates, or troubleshooting.
User Engagement:
Successful adoption depends on users and administrators consistently interacting with the system.
3 Project Management.
Define project scope and objectives specific to the *Attendance Management System*.
Identify and analyze stakeholders, including administrators, users, and system maintainers.
Develop a detailed project schedule outlining milestones and deadlines.
Establish a budget and allocate resources for hardware, software, and development.
Conduct risk assessment, focusing on hardware compatibility, database integration, and user
adoption.
2. Requirement Analysis:
Develop a system architecture for Arduino integration with the console and database.
Design a secure and scalable database for attendance record storage.
Create a user-friendly console-based interface (UI) for administrators.
Plan for seamless hardware and database integration.
Design a security architecture to protect biometric and attendance data.
3. Development:
Set up the development environment, including Arduino IDE and database management tools.
Develop firmware for Arduino to interface with the fingerprint scanner.
Implement console-based backend functionality for attendance marking and administrative
controls.
Integrate the database for real-time data storage and retrieval.
Develop error handling mechanisms for hardware or connectivity issues.
4. Testing:
Perform unit testing for individual modules like fingerprint scanning and database connectivity.
Conduct *integration testing* to ensure smooth communication between Arduino and the
database.
Carry out user acceptance testing (UAT) with sample users to verify functionality.
Test system performance under various load conditions.
Ensure robust security testing to safeguard biometric data.
6. Deployment:
7. Implementation of Features:
9. Documentation:
Create system documentation, including hardware setup, database configuration, and
operational workflows.
Write user manuals for administrators and general users.
Develop troubleshooting guidelines for resolving common issues.
~~~~~~~~~~~Phase II ~~~~~~~~~~~~
4 Functional Requirements
4.1 Use Case Diagram:
4.2 Requirements , Analysis & Modeling
Registration
Identifier Register
Purpose To create and manage user accounts for system access.
Priority High
Pre-conditions User either has no account or is signed out of their account.
Post-conditions User has created an account or signed in.
Typical Course of Action
S# Actor Action System Response
1 User Registers new Account Validates user info and create account
Alternate Course of Action
S# Actor Action System Response
User attempts to register with existing Displays an error message indicating
1 email/Phone Number that the email is in use.
Login/Logout
Identifier Login/Logout
Purpose Allow users to access or exit their accounts.
Priority High
Pre-conditions Users have active accounts.
Post-conditions User is logged into their account.
Typical Course of Action
S# Actor Action System Response
System checks credentials and signs
1 User Log into their account them in.
2 User Log out of their account System logs out of the account.
Alternate Course of Action
S# Actor Action System Response
User enters wrong information during
1 Systems responds with error message.
login.
System provides a “forget
2 User forgets their login credentials. password/username” option.
Attendence Registration
Identifier Attendance
Purpose To record attendance using the fingerprint scanner.
Priority Very High
1.User must be enrolled in the system's database.
Pre-conditions
2.The fingerprint scanner must be active and operational.
Attendance is successfully logged.
Post-conditions
System Notifications
Identifier Notifications
Purpose To notify users about attendance status, errors, or system updates.
Priority Medium
Typical Notifications
S# Conditon Notification
"Your attendance for [date] has been
1 Successful attendance recorded." .
2 Scanner error "Scanner error. Please try again."
Alternate Notifications
S# Actor Action System Response
"Fingerprint not found. Contact admin
1 Unregistered user attempt to register."
- T T F T
Attendence Recorded
F F T T T
Unregistered Fingerprint
- F F T T
Scanner Failure
- F F T F
System Offline
Service Service Data Error Notification
Actions Active Down Logged Raised Sent
T F T F T
Attendence
Marked
F T F T T
Scanner Error
F T F T T
Unauthorized
Access
5 Nonfunctional Requirements
make sure all your requirements functional or non functional are testable
The system should handle up to 100 fingerprint scans per day without experiencing
significant delays.
Attendance processing and data transfer (if applicable) should be completed efficiently
without significant slowdowns.
Access to the admin console should be protected by secure login credentials to prevent
unauthorized users from making system changes (e.g., adding/removing users, altering
records).
1) Reliability:
In case of system failure, there should be a recovery plan in place to restore services within one
hour.
2) Usability:
The user interfaces for both customers and service providers should follow best practices in
user experience design, ensuring intuitive navigation and minimal learning curves.
Help documentation and tutorials should be provided to assist users in understanding the
system's features.
3) Maintainability:
Think of our code as a well-kept garden. Documented, standardized, and updates happen with
minimal disruption.
4) Compatibiliy:
Staying in tune with the latest tech. Compatibility checks are regulars in our routine.
5) Secure Environment:
Every move is accounted for. Detailed logs of user activities and system events – we've got an
eye on everything.
6 Designing
6.1 Complete class diagram
6.2 Complete Data Flow Diagram (DFD)
6.3 Database:
The database for the Arduino-based Attendance Management System will store the
following key details:
1. Fingerprint ID: A unique identifier for each student, linked to their fingerprint data
for secure attendance tracking.
2. Student Name: The full name of the student for identification purposes.
3. Roll Number: A unique roll number for each student to distinguish them within the
system.
This database setup ensures efficient and accurate tracking of student attendance with
minimal storage requirements.
7.Estimation
The Arduino-based Attendance Management System for 100 students is a cost-effective solution
tailored to small-scale environments. The system is designed to provide efficient attendance tracking
without the need for complex hardware or expensive software solutions. With a simple setup involving
a fingerprint scanner and basic Arduino components, the system minimizes operational costs while
ensuring reliability and ease of use. This affordable approach makes it ideal for educational institutions
with a limited budget, allowing them to implement modern technology without significant financial
investment.
8.References:
1."Software Engineering: A Practitioner's Approach" by Roger S. Pressman (Book).
2."Design and Implementation of an Attendance System" by Mohammed Saleh Al-Mushayt
(Research Paper)
3."Database System Concepts" by Abraham Silberschatz, Henry F. Korth, and S. Sudarshan (Book)
4. MySQL documentation (for basic database design principles): [https://dev.mysql.com/doc/]
(https://dev.mysql.com/doc/)