A software requirement is a user capacity required by the user to solve a problem or achieve a goal.
The system requirement is a software capacity to satisfy a request, a standard.
The requirements engineering derived requirements fororganizing and documenting them.
Requirements analysis is carried out in three steps:
- Derive the requirements.
- Analyze the conditions (clear, unambiguous,non-contradictory).
- Translate the requirements into a formal language.
The requirements can be divided into:
- Functional have to do with what the system should do.
- Non-functional:
-> usability.
-> performance (response time and amount of resources).
-> interoperability.
-> portability.
-> standards compliance.
-> maintainability, ease of modification.
-> Security.
Requirements must be unambiguous, consistent, complete,verifiable and traceable
To define the requirements are different standards. For example,IEEE STD-830.
A more recent approach is to use case (UML).