Software Requirements and
Classification of Requirements
Lecture on Software Quality
Engineering
Introduction to Software Requirements
• Software requirements are the needs or
conditions that a software system must satisfy.
• They describe what the software should do
and how it should behave.
• Importance: Provide clear understanding
between clients and developers, foundation
for design, coding, and testing.
Simple Example
• Example: Mobile Banking App
• Requirement: The system should allow users
to transfer money between accounts.
• Without requirements, developers may not
know what features to build or how the
system should work.
Types of Software Requirements
• Requirements are divided into two main
categories:
• 1. Functional Requirements – Define what the
system should do.
• 2. Non-Functional Requirements – Define how
the system should perform.
Functional Requirements Examples
• E-commerce: The system must allow users to
add products to a shopping cart.
• Hospital system: The system must allow
doctors to view patient history.
Non-Functional Requirements Examples
• The system should respond within 2 seconds
to user input (Performance).
• The system must encrypt all sensitive data
(Security).
• The website should support 10,000 users
simultaneously (Scalability).
Classification of Requirements
• Apart from functional and non-functional,
requirements can be classified as:
• 1. Business Requirements
• 2. User Requirements
• 3. System Requirements
• 4. Interface Requirements
• 5. Regulatory/Compliance Requirements
Business & User Requirements
• Business: High-level goals of the organization.
• Example: Increase online sales by 20% within
6 months.
• User: What the end-users need from the
system.
• Example: A student should be able to
download their exam results online.
System, Interface & Compliance
Requirements
• System: Detailed specifications describing what
developers should implement.
• Example: Login page must verify user credentials using
the university database.
• Interface: How the system interacts with other systems
or users.
• Example: App integrates with PayPal for payments.
• Compliance: Rules or laws the system must follow.
• Example: System must comply with GDPR for data
privacy.
Importance of Classifying Requirements
• Makes requirements organized and
understandable.
• Helps stakeholders focus on relevant parts.
• Ensures nothing is missed during software
development.
Real-Life Example: Online Food Delivery
App
• Business Requirement: Increase customer
base by 30%.
• User Requirement: Customers can track food
delivery in real time.
• Functional Requirement: Customers can place
orders from restaurants.
• Non-Functional Requirement: Handle 5,000
orders per minute.
• Interface Requirement: Connect with Google
Maps API.
Summary
• Software requirements define what to build
and how it should behave.
• Two main types: Functional and Non-
Functional.
• Other classifications: Business, User, System,
Interface, Compliance.
• Real-life examples make requirements easy to
understand.