Concept: Supporting Requirements
This concept describes the supporting requirements
Relationships
Main Description

Definition

Supporting requirements are requirements that define necessary system quality attributes such as performance, usability and reliability, as well as global functional requirements that are not captured in behavioral requirements artifacts such as use-cases.

Supporting Requirements Categories

Supporting requirements are categorized according to the FURPS+ model (Functional, Usability, Reliability, Performance, Supportability + constraints). Constraints include design, implementation, interfaces, physical constraints, and business rules. A description of each of these types of requirements follows.

Supporting requirements and Use Cases, together, define the requirements of the system. These requirements support the features listed in the Vision statement. Each requirement should support at least one feature, and each feature should be supported by at least one to requirement.

In general, functional requirements describe behavior and are captured in Use Cases (see Artifact: Use Case). Non-functional requirements are captured in the Artifact: Supporting Requirements Specification. However, nonfunctional requirements that are closely associated with a particular Use Case are often captured within the Use Case itself to simplify communication and maintenance.  Similarly, there are global, or system-wide, functional requirements that are often captured among the supporting requirements for the same reasons. 

Functional requirements

Functionality requirements include all the overarching, system wide functional requirements. These functional requirements represent the main system features that are familiar within the business domain or technically oriented requirements such as auditing, licensing, localization, mail, online help, printing, reporting, security, system management, or workflow.

Usability requirements

Usability requirements include requirements based on human factors and user interface issues such as accessibility, interface aesthetics, and consistency within the user interface.

Reliability requirements

Reliability requirements include aspects such as availability, accuracy, predictability, frequency of failure or recoverability of the system from shut-down failure.

Performance requirements

Performance requirements address concerns such as throughput of information through the system, system response time and resource usage.

Supportability requirements

Supportability requirements include requirements such as compatibility and the abilities to test, adapt, maintain, configure, install, scale, localize, and so on.

+ Constraints

The + of the FURPS+ acronym allows you to specify constraints, such as design, implementation, interfaces, physical constraints, and business rules:

  • Design constraints limit the design and state requirements on the approach that should be taken in developing the system.
  • Implementation constraints put limits on coding or construction (required standards, languages, tools, or platform)
  • Interface constraints are requirements to interact with external systems, describing protocols or the nature of the information that is passed across that interface.
  • Physical constraints affect the hardware or packaging housing the system (shape, size, and weight).
  • Business rules are policies or decisions that govern how the business operates. They may constrain the steps described in the Use Case flow.