What are requirement types?
Requirements types are logical groupings of requirements by common functions, features and attributes. There are four requirement types within three distinct requirement levels:
- (A) Business Requirements Level
- (1) Business Requirement Type. The business requirement is written from the Sponsor's point-of-view. It defines the objective of the project (goal) and the measurable business benefits for doing the project. The following sentence format is used to represent the business requirement and helps to increase consistency across project definitions: "The purpose of the [project name] is to [project goal -- that is, what is the team expected to implement or deliver] so that [measurable business benefit(s) -- the sponsor's goal]."
- (B) User Requirements Level
- (2) User Requirement Type. The user requirements are written from the user's point-of-view. User requirements define the information or material that is input into the business process, and the expected information or material as outcome from interacting with the business process (system), specific to accomplish the user's business goal. The following sentence format is used to represent the user requirement: "The [user role] shall [describe the interaction (inputs and outputs of information or materials) with the system to satisfy the user's business goal.]" or "The [user role] shall provide (input)/ receive (output.)"
- (C) System Requirements Level
- (3) Functional Requirement Type. The functional requirements define what the system must do to process the user inputs (information or material) and provide the user with their desired outputs (information or material). Processing the inputs includes storing the inputs for use in calculations or for retrieval by the user at a later time, editing the inputs to ensure accuracy, proper handling of erroneous inputs, and using the inputs to perform calculations necessary for providing expected outputs. The following sentence format is used to represent the functional requirement: "The [specific system domain] shall [describe what the system does to process the user inputs and provide the expected user outputs]." Or "The [specific system domain/business process] shall (do) when (event/condition)."
- (4) Nonfunctional Requirement Type. The nonfunctional requirements define the attributes of the user and the system environment. Nonfunctional requirements identify standards, for example, business rules, that the system must conform to and attributes that refine the system's functionality regarding use. Because of the standards and attributes that must be applied, nonfunctional requirements often appear to be limitations for designing an optimal solution. Nonfunctional requirements are also at the System level in the requirements hierarchy and follow a similar sentence format for representation as the functional requirements: "The [specific system domain] shall [describe the standards or attributes that the system must conform to]."