The process to collect the software requirements from customers, analyze and document them is referred to as requirement engineering.
The primary purpose of requirement engineering is to develop and maintain the delicate and descriptive 'System Requirements Specification' document.
Requirement Engineering Process:
It is a four-step process, which includes -
1. 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.
Types of Feasibility:
2. Requirement Gathering:
After the feasibility study, the report of the feasibility study is positive towards the project then, next phase starts with collect requirements from the customers. In this phase, the analyst and engineer interact with a client and end-users to know their demands on what the project should provide and what features they want the software to include.
3. Software Requirement Specification:
Software requirement specification is a kind of document which is created by a software analyst after the requirements collected from the various sources - the requirement received by the customer written in ordinary language. It is the job of the analyst to write the requirement in technical language so that they can be understood and beneficial by the development team.
4. Software Requirement Validation:
After requirement specifications developed, the requirements discussed in this document are validated. The user might demand illegal, impossible solution or experts may misinterpret the needs. Requirements can be the check against the following conditions -
Prerequisite of Software requirements:
Collection of software requirements is the basis of the entire software development project. Hence they should be clear, correct and well-defined.
A complete Software Requirement Specifications should be:
Software Requirements: Largely software requirements must be categorized into two categories: