0% found this document useful (0 votes)
24 views9 pages

Lec 01

Uploaded by

qamar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views9 pages

Lec 01

Uploaded by

qamar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Introduction to Requirements

Engineering
Understanding the Foundation of Software Development
Lecture 01
Agenda
• Overview of Requirements Engineering
• Software Requirements: Definition and Importance
• Classification of Requirements
• Requirements Process
• Levels/Layers of Requirements
• Requirement Characteristics
Introduction to Requirements Engineering
• Requirements Engineering is the systematic process of capturing,
analyzing, and managing software requirements throughout the
development lifecycle.
• It serves as the cornerstone of successful software development by
facilitating clear communication and understanding between
stakeholders and developers.
Software Requirements
• Software requirements encompass detailed descriptions of the
functionalities and constraints that a system must adhere to during
its development and operation.
• They act as a blueprint guiding developers and stakeholders,
ensuring the end product meets expectations and requirements.
Classification of Requirements
Functional Requirements:
• Define specific system functionalities, specifying what the system
should do.
Non-Functional Requirements:
• Specify criteria that are not related to specific behaviors, such as
performance, reliability, and security.
Domain Requirements:
• Unique to the application domain, representing specific characteristics
or features required for that domain.
Requirements Process
Elicitation:
• Involves gathering requirements from stakeholders through interviews, surveys, or
workshops.
Analysis:
• Requires evaluating and prioritizing requirements based on business needs and constraints.
Specification:
• Involves documenting requirements in a clear and concise manner, often using tools like use
cases, user stories, or requirement documents.
Validation:
• Ensures that the documented requirements meet the stakeholders' needs and are free from
errors.
Management:
• Involves handling changes and maintaining the requirements throughout the development
lifecycle.
Levels/Layers of Requirements
Business Requirements:
• High-level goals and objectives of the organization.
Stakeholder Requirements:
• Descriptions of what various stakeholders expect from the system,
often in natural language.
System Requirements:
• Detailed specifications of the functionalities and constraints of the
software system.
Requirement Characteristics
Unambiguous:
• Requirements must be clear and free of ambiguity, ensuring a common understanding
among stakeholders.
Complete:
• All aspects of the system's functionality and behavior should be addressed, leaving no
room for assumptions.
Consistent:
• Requirements should not conflict with each other, promoting a cohesive understanding.
Verifiable:
• Requirements must be testable or measurable to ensure successful implementation and
validation.
Traceable:
• Each requirement should be traceable to its source and linked to related documentation.
Importance of Requirements Engineering
Reduces Project Risks:
• Clear requirements minimize misunderstandings, reducing the risk of
project failure.
Enhances Communication:
• Effective communication between stakeholders and developers
ensures a shared vision and understanding.
Foundation for Testing and Validation:
• Requirements serve as the basis for testing activities, ensuring the
final product aligns with the specified criteria.

You might also like