Requirement engineering is the process of interpreting and defining the services that are required from the system. The process also identifies the constraints on the system's operation and development. It is a critical process in a software development stage as mistakes made at this stage can lead to later ambiguous problems in the system design and implementation.
The requirement engineering process aims to produce an agreed requirement document that ensures all the stakeholders and developers are on the same page. There are usually two levels of details of the software requirement, and they are as follows:
End-user and customer requirement document: This document contains a high-level statement of the requirement, making it easy for the end-user to understand.
System developer's requirement document: This document contains a low-level and more detailed system specification to ensure that the developers cover all the software requirements.
The following illustrates the processes involved in the requirement engineering:
There are three main activities in the requirement engineering process:
Requirement elicitation and analysis: In this process, the existing systems are observed, a thorough discussion is conducted with all the stakeholders involved, and the systems' requirements are derived from it. In this stage, multiple models may be generated based on the discussion. This stage is required to ensure that all the team members understand the system to be specified.
Requirements specification: This stage uses the information generated in the requirement analysis to be converted to a document form that explicitly defines the requirements set. The document is then filtered and divided according to the level of details needed for the end-user and system developer, respectively.
Requirement validation: This stage ensures that the documented requirements are consistent, complete, and factual. It might be possible that errors are pointed out from the document at this stage, but they are corrected immediately. All these stages are interlinked and do not have a rigid architecture, and neither does it limit that once a document is generated, it can not be altered.
Free Resources