SOFTWARE ENGINEERING ASSIGNMENT
BITE307P
SOFTWARE REQUIREMENTS SPECIFICATION
LOST AND FOUND TRACKER
PREPARED BY
Sanjay K – 23BIT0138
Hari sankaran M – 23BIT0150
Dhayanidhi S – 23BIT0214
A Tharun Guru Karthic – 23BIT0443
Requirement Analysis
Requirements analysis is very critical process that enables the success
of a system or software project to be assessed.
Requirements are generally split into two types:
• Functional requirements
• Non-functional requirements.
Functional and Non Functional
Functional Requirements: These are the requirements that the end
user specifically demands as basic facilities that the system should
offer. All these functionalities need to be necessarily incorporated into
the system as a part of the contract. These are represented or stated in
the form of input to be given to the system, the operation performed
and the output expected. They are basically the requirements stated by
the user which one can see directly in the final product, unlike the non-
functional requirements.
A functional requirement outlines a software system's function and
how the system must operate when given specified inputs or
situations. Calculations, data manipulation and processing, and other
specialized features may be included.
The following are the functional requirements for this system:
Item Reporting : Users can report lost or found items .Input fields
include item category, description ,location , date and photo.
Search and Match : Users can search for lost or found items using
keywords , categories or filters. Automated matching of reports based
on item description and photos.
Notification : Notify users of potential matches through email or in
app alerts .
User Accounts : User can register and log in to manage their reports
and view updates.
Admin Moderation : Admins can verify and moderate reports for
accuracy and validity.
Feedback and Resolution : Enables users to communicate and confirm
item returns securely.
Non-functional requirements: These are basically the quality
constraints that the system must satisfy according to the project
contract. The priority or extent to which these factors are implemented
varies from one project to other. They are also called non-behavioural
requirements.
They basically deal with issues like:
Portability : Ensure the system is accessible on multiple devices.
Security : Ensure the safety of user data , such as personal details
and item descriptions.
Maintainability : Use modular code and proper documentation
to simplify updates and bug fixes .
Reliability : Minimize downtime and ensure consistent
performance under all conditions .
Scalability : Support a growing number of users and reports
as the system expands .
Performance :Ensure fast response times for searches and notifications
Reusability : Ensure the system can be reused .
Flexibility : Allow easy customization for different organizations or
settings.
Non-functional needs are those that are not directly related to the
specific function provided by the system. They define the criteria that
may be utilized to evaluate a system's functioning rather than particular
actions. They might be related to emergent system attributes like
dependability, reaction time, or store occupancy.
Non-functional requirements develop as a result of user needs,
financial restrictions, organizational regulations, the necessity for
compatibility with other software and hardware systems, or external
causes such as:
▪ Organizational Requirements
▪ User Requirements
▪ Basic Operational Requirements
▪ Product Requirements
A non-functional requirement is a requirement in systems engineering
and requirements engineering that defines criteria that may be used to
assess the performance of a system rather than particular behaviors.
Functional requirements, on the other hand, specify precise behavior
or functions. The system architecture describes the strategy for
implementing non-functional needs. In general, functional
requirements specify what a system should perform, whereas non-
functional requirements outline how a system should be. Non-
functional requirements of our project include:
▪ Security – To ensure all the things are going safely.
▪ Maintainability - UML will be utilized in the development
process as a tool to achieve ease of maintainability.
▪ Portability - To ensure portability, the system will be written
in the PYTHON programming language.
User and System requirements
User requirements: These requirements describe what the end-user
wants from the software system. User requirements are usually
expressed in natural language and are typically gathered through
interviews, surveys, or user feedback.
The system should allow users to report lost and found
items.
The system should allow users to search for the items by
category , location and date ..
The system should send notifications for the potential matches
via email or app alerts .
The system should allow users to manage their reports ,
including editing or deleting them .
The system should allow users to create and manage their user
profiles ,including their personal and contact information.
The system should provide a secure platform for users to
communicate and resolve reports .
The system should have an intuitive and user-friendly interface
for easy navigation .
The system should be secure, and users' personal information
and item descriptions should be kept private and confidential
System requirements: These requirements specify the technical
characteristics of the software system, such as its architecture,
hardware requirements, software components, and interfaces. System
requirements are typically expressed in technical terms and are often
used as a basis for system design.
Software Requirements:
Front-end: HTML, CSS, JavaScript , React or flutter
Back-end: Python , MySQL or MongoDB
Hardware Requirements:
Processor: Pentium IV &above
RAM:2GB or higher is recommended
Disk Space: 20 GB free Disk space