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.
|