Chapter#01 Requirement Engineering Process
Chapter#01 Requirement Engineering Process
Engineering
Lecture#01
Requirements Engineering (RE)
Requirements engineering (RE) refers to the process of defining,
documenting, and maintaining requirements in the engineering
design process. Requirement engineering provides the
appropriate mechanism to understand what the customer
desires, analyzing the need, and assessing feasibility,
negotiating a reasonable solution, specifying the solution clearly,
validating the specifications and managing the requirements as
they are transformed into a working system. Thus, requirement
engineering is the disciplined application of proven principles,
methods, tools, and notation to describe a proposed system's
intended behavior and its associated constraints.
Requirement Engineering Process
Process involves following activities:
Inception:
The initial phase where the project is conceptualized. The primary focus is on understanding the problem, identifying stakeholders, and defining high-level
project goals. The aim is to gather preliminary requirements and set the scope.
Elicitation
This phase involves gathering detailed requirements from stakeholders through interviews, surveys, observations, brainstorming sessions, etc. The
objective is to collect as much information as possible about the system’s functionalities, constraints, and business needs.
Specification:
In this stage, the gathered requirements are documented clearly and precisely, often using formal methods such as requirements specifications, use cases,
or user stories. The purpose is to ensure that all stakeholders have a shared understanding of what the system should do.
Negotiation:
Requirements can sometimes be conflicting or infeasible within the given constraints (time, budget, technology). In the negotiation phase, stakeholders
prioritize and resolve any conflicts. Compromises are made to balance stakeholder expectations and system feasibility.
Validation:
Once the requirements are documented and agreed upon, validation ensures that the documented requirements accurately represent what the
stakeholders need and are feasible to implement. This process might include reviews, prototyping, or simulations.
Management:
Managing requirements throughout the project lifecycle is critical to adapting to changes. This involves tracking requirements, maintaining their integrity,
and ensuring that any modifications align with project goals. Effective requirement management ensures that the project stays on track despite changes or
evolving needs.
Requirement Engineering Process
It is a five-step process, which includes -
i. Feasibility Study
ii. Requirement Elicitation and Analysis
iii. Software Requirement Specification
iv. Software Requirement Validation
v. Software Requirement Management
Feasibility Study:
The objective behind the feasibility study is to create the reasons for
developing the software that is acceptable to users, flexible to
change and conformable to established standards.
Technical Feasibility - Technical feasibility evaluates the current
It is a group technique
It is intended to generate lots of new ideas hence providing
software
If there are any ambiguities
check requirements.
Test-case generation: Developing tests for requirements
to check testability.
Automated consistency analysis: checking for the
consistency of structured requirements descriptions.
Software Requirement Management
Requirement management is the process of managing
changing requirements during the requirements
engineering process and system development.
New requirements emerge during the process as business
6. Implementing changes
Stakeholder Agreed
needs requirements
Requirements System
Organisational engineering process
standards specification
System
Regulations models
Domain
information
RE process variability
RE processes vary radically from one organisation to another
◦ Factors contributing to this variability include
◦ Technical maturity
The technology and methods used for requirements engineering vary from one
organization to another
◦ Disciplinary involvement
The types of engineering and managerial disciplines involved in requirements
engineering vary from one organization to another
◦ Organisational culture
The culture has an important effect on all processes , as the culture varies, so does
the requirements engineering process
◦ Application domain
Different types of application domains have different types of requirements
engineering process
There is therefore no ‘ideal’ requirements engineering process
Actors in the RE process
Actors in a process are the people involved in the execution
of that process
Actors are normally identified by their roles rather than individually
Requirements engineering involves actors who are primarily
interested in the problem to be solved (end-users, etc) as well
actors interested in the solution (system designers, etc.)
Role-action diagrams document which actors are involved in
different activities
RAD for software prototyping
ACTIONS
RO LES
Role descriptions