What is the Requirement engineering process?
Requirement Engineering is the process of defining, documenting, and maintaining the requirements. It is a process of gathering and defining services provided by the system. There are several steps in the requirements engineering process. Also, there are several uses of the requirement engineering process.
Steps in requirements engineering process
Requirements elicitation
It is related to the various ways used to gain knowledge about the project domain and requirements. The various sources of domain knowledge include customers, business manuals, the existing software of the same type, standards, and other stakeholders of the project. The techniques used for requirements elicitation include interviews, brainstorming, task analysis, Delphi technique, prototyping, etc.
Requirements specification
This activity is used to produce formal software requirement models. All functional and non-functional requirements and the constraints are specified by these models in totality.
During specification, more knowledge about the problem may be required which can again trigger the elicitation process. iv. The models used at this stage include ER diagrams, Data Flow Diagrams (DFDs), Function Decomposition Diagrams (FDDs), data dictionaries, etc.
Requirements verification and validation
Verification: It refers to the set of tasks that ensures that the software correctly implements a specific function.
Validation: It refers to a different set of tasks that ensures that the software that has been built is traceable to customer requirements.
If requirements do not validate, errors in the requirement definitions would propagate to the successive stages resulting in a lot of modification and rework.
Requirements management
Requirement management is the process of analyzing, documenting, tracking, prioritizing, and agreeing on the requirement and controlling the communication to relevant stakeholders. This stage takes care of the changing nature of requirements. It should be ensured that the SRS is as modifiable as possible so as to incorporate changes in requirements specified by the end-users at later stages too.
Use of requirement engineering process
1. Determining the feasibility of producing a particular product as part of the product line.
2. Determining the production, testing, and deployment of the particular product.
3. Determining the evolution of the product line that results from that product development.