Sre3 4
Sre3 4
Engineering
Requirements Essential, Requirements
development process framework
Lecture 3&4
Requirements
Requirements:
• Requirements are a specification of what should be implemented in a system.
• They describe how the system should behave or define a system property or
attribute.
• Requirements can also serve as constraints on the development process.
Types of Requirements:
• Requirements encompass different types of information, collectively referred to as
"the requirements."
• They address both the user’s perspective (external system behavior) and the
developer’s perspective (internal characteristics).
Behavioral and Property-Based Requirements:
• Requirements define how a system should behave under specific conditions.
• They also include non-functional aspects, such as usability, efficiency, and
enjoyment of use.
What is requirement?
Requirements are a specification of what should be
implemented. They are descriptions of how the system
should behave, or of a system property or attribute. They
may be a constraint on the development process of the
system.
◦ This definition acknowledges the diverse types of information that
collectively are referred to as “the requirements.”
◦ Requirements encompass both the user’s view of the external
system behavior and the developer’s view of some internal
characteristics.
◦ They include both the behavior of the system under specific
conditions and those properties that make the system suitable—and
maybe even enjoyable—for use by its intended operators.
Types of requirements
Business Requirement:
• Describes the high-level objectives of an organization or a customer.
• It focuses on the business goals rather than technical aspects.
• Example: "The system must allow users to purchase products online."
Business Rule:
• A policy, guideline, or regulation that governs how the business operates.
• It is not a software requirement itself but influences other requirements.
• Example: "A customer cannot place an order without providing a valid billing address."
Constraint:
• Imposes restrictions on the developer’s choices in designing and constructing the
software.
• Constraints can be technical, legal, or business-related.
• Example: "The software must comply with GDPR regulations."
Types of requirements
External Interface Requirement:
• Defines how the software interacts with users, other software systems, or hardware
devices.
• Ensures smooth communication between different components.
• Example: "The system must support integration with third-party payment gateways.“
Feature:
• A set of capabilities that provide value to the user.
• Features are usually defined by functional requirements.
• Example: "The application should provide real-time notifications for order status
updates."
User Requirement:
• Represents user goals, tasks, or desired product attributes.
• Focuses on what users expect from the system.
• Example: "A customer should be able to track their order status in real-time
from the mobile application."
Types of requirements
Why Are These Categories Important?
• Helps developers and stakeholders differentiate between system
functionality and constraints.
• Ensures that both business objectives and user expectations are met.
Definition A high-level system capability that Describes what the user wants to Specifies how the system should
provides value to users. achieve with the system. behave to fulfill user requirements.
Scope Broad, represents a collection of Focused on user goals and interactions Detailed and technical, defining
related capabilities. with the system. system operations.
Purpose Defines major functionalities of the Expresses what the user needs from Describes how the system will fulfill
system. the system. user needs.
Example “Bookmark Management” in a web “Users should be able to save and “The system shall allow users to add,
browser. organize bookmarks.” delete, and rename bookmarks.”
Relation to Other A feature contains multiple user A user requirement maps to one or Functional requirements implement
Requirements requirements. more functional requirements. user requirements.
Relationships among features, user
requirements, and functional
requirements
Relationships among features, user
requirements, and functional requirements
In Diagram:
• The Web Browser is the main system.
• It contains several features such as:
• Bookmarks
• Cookies
• Tabs
• Add-Ins
Diagram shows the relationships among several types of requirements information. Solid
arrows mean “are stored in”; dotted arrows mean “are the origin of” or “influence.”
Requirements Information
Relationship
❑ Business Requirements:
• These are high-level goals of the organization, driving the project.
• They are stored in the Vision and Scope Document.
• Business requirements influence Business Rules, User Requirements,
and Quality Attributes.
❑ Vision and Scope Document:
• This document stores business requirements and serves as a high-level
overview of the project goals and scope.
• It influences the User Requirements.
Requirements Information
Relationship
❑ User Requirements:
▪ These describe what users need from the system and are derived from
business requirements.
• They are stored in the User Requirements Document and influence the
Functional Requirements a nd System Requirements.
❑ System Requirements:
• These are technical specifications for how the system should operate, which
are derived from user requirements.
Requirements Information
Relationship
❑ Functional Requirements:
• These detail what the system should do, influenced by user and system
requirements.
• They are stored in the Software Requirements Specification and influence
elements like External Interfaces.
❑ Business Rules:
• These are rules that govern the business processes and influence functional
requirements and quality attributes.
Requirements Information
Relationship
❑ Quality Attributes:
• These are non-functional requirements related to performance, security,
etc., influenced by business rules and user requirements.
❑ External Interfaces:
• These describe how the system interacts with external systems and are
derived from functional requirements.
❑ Constraints:
• These are limitations within which the system must operate and are
stored within the SRS.
Working with the three levels
• Figure 1-3 illustrates how various
stakeholders might participate in
eliciting the three levels of
requirements.
• Regardless of what development life cycle your project is following—be it pure waterfall,
phased, iterative, incremental, agile, or some hybrid—these are the things you need to
do regarding requirements.
• Depending on the life cycle, you will perform these activities at different times in the
project and to varying degrees of depth or detail.
Requirements Development and
Management
❑ Requirements Engineering:
• This is the overall process that encompasses all activities related to
understanding, specifying, and managing the needs for a system.
❑ Requirements Management:
• This involves tracking and maintaining requirements throughout the
project lifecycle. It ensures that requirements are kept up-to-date and
any changes are managed efficiently to maintain alignment with project
goals.
Requirements Development and
Management
❑ Requirements Development:
• This involves the processes of discovering and defining the requirements
for a project. It consists of four key activities: