A requirement is a condition or capability to which a system must conform.

There are a number of different kinds of requirements. A common way of categorizing them is described below (see also [IEEE Std 610.12.1990]).

Functionality To top of page

A functional requirement specifies an action that a system must be able to perform, without taking physical constraints into consideration. A functional requirement thus specifies the input and output behavior of a system.

Functional requirements include feature sets, capabilities, and security.

Requirements that are not functional, such as the ones listed below, are sometimes called nonfunctional requirements. Many requirements are non-functional, and describe only attributes of the system or attributes of the system environment. Nonfunctional requirements are those that address issues such as those described below.

Usability To top of page

Usability covers human factors, aesthetics, and consistency in the user interface, as well as user documentation and training materials.

Reliability To top of page

Reliability covers frequency and severity of failure, recoverability, predictability and accuracy. 

Performance To top of page

A performance requirement imposes conditions on functional requirements. For example, for a given action, it specifies the performance parameter for speed, availability, accuracy, response time, recovery time, or memory usage.

Performance covers speed, efficiency, resource usage, throughput and response time.

Supportability To top of page

Supportability covers things like testability and maintainability.

Design Requirement To top of page

A design requirement, often called a design constraint, specifies or constrains the design of a system.

Implementation Requirement To top of page

An implementation requirement specifies or constrains the coding or construction of a system. Examples are: required standards, implementation languages, policies for database integrity, resource limits, and operation environments.

Interface Requirement To top of page

An interface requirement specifies an external item with which a system must interact, or that sets forth constraints on formats, timings, or other factors used by such an interaction.

Physical Requirement To top of page

A physical requirement specifies a physical characteristic that a system must possess; for example, material, shape, size, and weight. This type of requirement can be used to represent hardware requirements, such as the physical network configurations required.

Display Rational Unified Process using frames

 

© Rational Software Corporation 1998 Rational Unified Process 5.1 (build 43)