Requirements engineering is a systematic approach to eliciting, analyzing, documenting, and managing software requirements throughout the development lifecycle.
Course Structure¶
Requirements engineering is divided into two complementary approaches:
Strategic Focus
Stakeholder identification and analysis
Business goals and vision setting
Requirements elicitation techniques
Context and scope definition
Understanding the “why” and “what” at a strategic level
Detailed Specification
User stories and acceptance criteria
Use cases and scenarios
Functional and non-functional requirements
SRS documentation and UML modeling
Defining the “how” with precise specifications
Learning Objectives¶
By the end of this module, you will be able to:
Conduct comprehensive stakeholder analysis
Apply various requirements elicitation techniques
Write effective user stories and use cases
Create detailed Software Requirements Specifications (SRS)
Develop UML diagrams to model requirements
Validate and manage requirements throughout development
Key Concepts Covered¶
Requirements Elicitation: Techniques for gathering requirements from stakeholders
Functional vs Non-functional Requirements: Understanding different types of system needs
User Stories and Use Cases: Methods for capturing user interactions
Requirements Documentation: Formal specification using SRS templates
Validation and Verification: Ensuring requirements meet stakeholder needs
Navigation¶
Previous: Agile and Scrum
Back to: Lectures