Requirements Classification
Supporting requirements are categorized according to the FURPS+ model, an acronym for Functionality, Usability,
Reliability, Performance, Supportability + constraints. Constraints include design, implementation, interface,
physical constraints, and business rules. A description of each of these types of requirements is provided below.
Supporting requirements and use cases together define the requirements on the system, supporting the features listed in
the vision document. Each requirement relates to some features and vice versa.
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. However, non-functional requirements that are
intimately associated with a particular use case are often captured within the use case itself to simplify
communications and maintenance. Similarly, there are global, system-wide functional requirements that are often
captured in the supporting requirements for the same reasons.
Functionality 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 testability, adaptability, maintainability, compatibility,
configurability, install-ability, scalability, localizability, and so on.
+ Constraints
The "+" of the FURPS+ acronym allows us to specify constraints, such as design, implementation, interface, physical
constraints, and business rules:
-
A design constraint limits the design, stating 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....)
-
A business rule is a policy or decision that governs how the business operates and may therefore constrain the
steps described in the use case flows.
|