Software Engineering basics - Requirement Engineering Process i
The Requirement Engineering Process in Software Engineering is the systematic approach to gathering, analyzing, documenting, and managing software requirements.
1. Requirement Elicitation
-
Goal: Collect requirements from stakeholders (customers, users, domain experts, etc.).
-
Activities:
-
Interviews, questionnaires, workshops
-
Brainstorming, use cases, observation
-
Studying existing documents or systems
-
-
Output: Initial list of requirements.
2. Requirement Analysis
-
Goal: Examine requirements for feasibility, conflicts, completeness, and consistency.
-
Activities:
-
Prioritizing requirements
-
Identifying ambiguities or contradictions
-
Performing feasibility studies (technical, economic, operational)
-
-
Output: Refined and agreed set of requirements.
3. Requirement Specification
-
Goal: Document requirements in a clear, precise, and structured form.
-
Activities:
-
Writing the Software Requirement Specification (SRS) document
-
Defining functional and non-functional requirements
-
Using modeling tools (DFDs, UML diagrams, use case diagrams)
-
-
Output: SRS document (formal contract between stakeholders and developers).
4. Requirement Validation
-
Goal: Ensure the documented requirements truly reflect user needs and are of high quality.
-
Activities:
-
Reviews, inspections, walkthroughs
-
Prototyping and stakeholder feedback
-
Checking against qualities: complete, correct, consistent, verifiable
-
-
Output: Validated and approved requirements baseline.
Summary Flow
Elicitation → Analysis → Specification → Validation
These phases help avoid misunderstandings and ensure the software is built according to the user’s real needs.