Different levels of Requirements in Software Engineering


There are few different types of requirements, which are raised by the stakeholders of a particular project. The most of the requirements are raised typically at the beginning of the project, it is also likely that further requirements will be raised during later stages of the project. In an Agile based project, requirements will be raised on an ongoing basis although requirements will also be raised with most of the significant and larger requirements to be raised early on in the software development. The writer of an article in Business Analysis Essentials, Esta Lessing states that all the different types of requirements that are provided need to be classified within its category in order to be able to manage the requirements process effectively. Once you understand the type of requirements clearly, it becomes a natural and easy task to identify when a requirement is in fact a requirement and then to determine what type of requirement it is (2015).


In the book of Software Engineering by Sommerville states that there are two main requirement types, which are user and systems requirements.(Chapter 4) User requirements are written from the user’s point of view. They are high-level requirements written as statements in natural languages and diagrams. System requirements are functional and nonfunctional requirements. The functional requirements define what the system must do to process the user inputs and provide the user with their desired outputs, whereas nonfunctional requirements define the attributes of the user and the system environment.


Reference:

Esta Lessing, (2015, January 7). Type of Requirements in Business Analysis.
Sommerville, Software Engineering, 9 ed., Chapter 4. Link