Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
9 views20 pages

SRS Document

The document outlines the Software Requirements Specification for a Student Management System, focusing on an Attendance Management System that utilizes Arduino and fingerprint scanning technology for accurate attendance tracking. It details the project's objectives, scope, features, user classes, and management structure, as well as the challenges and learning outcomes anticipated. The document serves as a comprehensive guide for the development, implementation, and operational aspects of the system.

Uploaded by

hamnahasnain1
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)
9 views20 pages

SRS Document

The document outlines the Software Requirements Specification for a Student Management System, focusing on an Attendance Management System that utilizes Arduino and fingerprint scanning technology for accurate attendance tracking. It details the project's objectives, scope, features, user classes, and management structure, as well as the challenges and learning outcomes anticipated. The document serves as a comprehensive guide for the development, implementation, and operational aspects of the system.

Uploaded by

hamnahasnain1
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/ 20

Assignment NO: 02

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):

The Attendance Management System is an Arduino-based solution that uses a fingerprint


scanner to ensure accurate and reliable attendance tracking. Designed with a console-based
interface, the system eliminates manual attendance errors, reduces administrative workload, and
provides a streamlined solution for managing attendance records. By integrating hardware
(Arduino and fingerprint scanner) with a database, it ensures efficient, secure, and tamper-proof
attendance management.

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 Users (Students/Employees):


 Biometric (fingerprint) authentication for attendance marking.
 Real-time feedback on successful or unsuccessful attendance entry.

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:

The end product will consist of:


1. Arduino Hardware Setup: Including the fingerprint scanner and necessary wiring.
2. Console-Based Interface: Accessible for real-time attendance marking and administrative tasks.
3. Database Integration: For secure storage and retrieval of attendance records.

1.8 Completeness Criteria:


The system will be considered complete when:
 Fingerprint authentication accurately marks attendance for registered users.
 Attendance records are successfully stored in the database.
 Administrative functions (e.g., record retrieval and reporting) work seamlessly.
 The setup operates reliably in a real-world environment without major hardware or software
issues.
1.9 Business Goals:

 Improve the accuracy and reliability of attendance tracking.


 Reduce administrative workload and manual errors.
 Offer a scalable solution that can be adapted for educational institutions and workplaces.

1.10 Related Work:


 A review of existing biometric and Arduino-based attendance systems will be conducted.
 Insights from similar projects will guide the integration of hardware and database management.
 Best practices in fingerprint authentication and embedded system design will be adopted to ensure
the project meets high standards of accuracy and usability.

1.11 Document Conventions:


 This document outlines the goals, functionalities, and deliverables of the Attendance
Management System. The ultimate aim is to provide a reliable, efficient, and secure solution for
attendance tracking using Arduino-based hardware and a console-based interface.

2 Overall Description
2.1 Product Features

1. User Registration and Profiles:


a. Users (students/employees) are registered in the system with unique profiles linked to their
fingerprints for authentication.
2. Biometric Attendance:
a. Attendance is marked using a fingerprint scanner, ensuring accuracy and preventing fraud.
3. Real-Time Feedback:
a. Immediate feedback on successful or unsuccessful attendance marking via the console interface.
4. Attendance Logs:
a. Administrators can view, retrieve, and manage attendance records in real time.
5. Database Integration:
a. A secure database stores attendance data, allowing for easy retrieval and report generation.
6. Administrative Controls:
a. Features for adding, editing, or removing user profiles and generating attendance reports.
7. Error Reporting:
a. Notifications and logs for failed hardware operations, such as fingerprint mismatches or
database connection issues.
8. Data Security and Privacy:
a. The system ensures secure handling of biometric and attendance data, adhering to privacy
standards.

2.2 User Classes and Characteristics

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.

2.3 Operating Environment

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.

2.4 Design and Implementation Constraints

 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.

2.5 Assumptions and Dependencies


Assumptions:

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.

3.1 Work Breakdown Structure (WBS):

1. Project Initiation and Planning:

 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:

 Gather user requirements by consulting administrators and intended users (students/employees).


 Identify technical requirements for Arduino integration and console-based operations.
 Define functional specifications, such as fingerprint-based attendance, data logging, and
reporting.
 Document non-functional requirements, including system reliability, security, and scalability.

2. Design and Architecture:

 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:

 Conduct pre-deployment checks, including hardware and database readiness.


 Migrate initial user data to the database.
 Deploy the system in a controlled environment.
 Monitor system performance and address errors or bugs during the initial phase.
 Train users and administrators on system operations.

7. Implementation of Features:

Implement user class features for:


 Administrators: Profile management, attendance retrieval, and report generation.
 Users (students/employees): Biometric attendance marking.
Integrate feedback mechanisms for users to report system issues.

8. Integration with External Systems:


 Implement database integration for secure attendance storage.
 Ensure compatibility with operating systems used for the console-based application.
 Plan for future integrations with external analytics or reporting tools, if needed.

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.

10. Training and Support:


 Conduct training sessions for administrators on using the console interface and managing the
system.
 Provide ongoing support during the initial deployment phase.
 Establish a communication channel for feedback and issue reporting.
 Implement a feedback loop to refine the system based on user input.

11. Project Review and Closure:


 Conduct project review meetings to evaluate objectives, challenges, and outcomes.
 Finalize and archive project documentation for future reference.
 Handover the system to the maintenance team for ongoing support and updates.
-
3.2 Develop an Activity Graph.
Activity Time(days)
Step 1: Project Planning
Activity 1.1: Define project scope and Objective 3
Activity 1.2: Conduct stake holder analysis 2
Activity 1.3: Develop Project Schedule 4
1
Step 2: Requirement Analysis
Activity 2.1: Gather user requirements 5
Activity 2.2: Research attendance systems and Arduino integration best 4
practices
Activity 2.3: Identify technical and hardware requirements 6
Step 3: Design and Architecture
Activity 3.1: System architecture design (including Arduino setup) 1
Activity 3.2: Database schema Design 1
Activity 3.3: User interface design 1
Activity 3.4: Integration Design for database & Hardware 1
Activity 3.5: Security considerations for attendance data 2
Step 4: Development
Activity 4.1: Setup Development Environment 4
Activity 4.2: Develop firmware for fingerprint scanner 4
Activity 4.3: backend Development 5
Activity 4.4: API Development and Integration 5
Step 5: Testing
Activity 5.1: Unit testing for each module (hardware and software) 4
Activity 5.2: Integration Testing for Arduino & database 1
Activity 5.3: Performance Testing 1
Activity 5.4: Security Testing 1
Step 6: Deployment
Activity 6.1: Pre Deployment Checks 1
Activity 6.2: Database migration 1
Activity 6.3: Deploy application to the operational environment 1
Activity 6.4: Monitoring and Error handling 2
Activity 6.5: User training and Documentation 1
Step 7: Implementation of User Classes Features
Activity 7.1: Fingerprint-based user identification feature 1
Activity 7.2: Attendance logging and time-stamping feature 1
Activity 7.3: Administrator role for report generation 1
Step 8: Integration with External System 1
Activity 8.1: Integration with analytics tools for reporting 1
Activity 8.2: Integration with external database backup systems 1
Step 9: Documentation
Activity 9.1: System Documentation (Hardware & Software Details) 4
Activity 9.2: User Manual for Administrators and users 6
Activity 9.3: Maintenance and Troubleshooting Guidelines 3
Step 10: Training and Support
Activity 10.1: Conduct training sessions for administrators 3
Activity 10.2: Provide ongoing user and admin support 4
Activity 10.3: Establish Helpdesk and Communication Channels 2
Step 11: Project Review and Closure
Activity 11.1: Conduct Project Review Meetings 1
Activity 11.2: Finalize Documentations 3
Activity 11.3: Handover to Maintenance Team 1
Activity 11.4: Post - implementation Review & Feedback Collection 1

~~~~~~~~~~~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

Typical Course of Action


S# Actor Action System Response
User places their finger on scanner with
1 System matches fingerprint.
the database and records attendance.
Users receive confirmation “Attendence Display a success message “Attendence
2 recorded successfully”. Recorded successfully.
Alternate Course of Action
S# Actor Action System Response
Displays error: "Fingerprint not found.
1 User places an unregistered fingerprint Please contact admin for registration."

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."

Valid Attendenc Scanner Error Notification


Conditions Registration e Logged Operational Displaye Sent
d
T - - F T
Valid Registration

- 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

5.1 Performance Requirements


1) Response Time:
 The system should respond to user actions (e.g., fingerprint scan, attendance
registration) within 3 seconds under normal operating conditions.
 The system should process attendance data and display results (e.g., confirmation or
error) within 5 seconds.
2) Throughput:

 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.

5.2 Safety Requirements


1) Date Integrity:
 The system must ensure the integrity of user data (e.g., fingerprint templates, attendance
records) by preventing unauthorized access, modification, or deletion.
 Regular data backups should be performed, either on local storage or cloud-based systems,
to safeguard against data loss.
2) User Authentication and Authorization:
 Fingerprint Authentication should be used to ensure that only registered users can clock
in or clock out.

 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).

5.3 Access Control:


 The system will enforce strict access control, allowing only authorized users (e.g., admins)
to access sensitive data, such as attendance logs and user information.
 Administrative rights to configure the system or modify user records will be restricted and
protected by strong authentication.
 Local Data Security: Attendance records and fingerprint data will be stored *locally* on
the device or an attached storage system (e.g., SD card).
 Regular backups of the data will be performed to prevent data loss in case of system
failure or other unforeseen events.
 Communication Security :If the system communicates with external devices (e.g.,
uploading attendance data to a server), secure communication protocols should be used to
protect the data during transmission.
 If using wireless communication (e.g., Bluetooth or Wi-Fi), encryption should be applied
to ensure data security.

5.4 Additional Software Quality Attributes

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.

4. Basic Information: Additional information such as the student's class, section, or


contact details may also be stored for record-keeping purposes.

5. Attendance Log: A record of each student’s attendance, including timestamps for


when they marked in or out.

6. Status/Remarks: Any notes on attendance status, such as "present," "absent," or


"late."

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/)

You might also like