IT:AD:Non-Functional Requirements

Supplemental SpecificationsPrinciplesSystem ConstraintsSystem Functional RequirementsNon-Functional RequirementsPerformance EfficiencyTime behavior-Response time-Recovery time-Start-up time-Shutdown timeResource UtilizationCapacity (Throughput)CompatibilityCo-ExistenceInteroperabilityUsabilityAppropriateness recognizabilityLearnabilityOperabilityUser Error ProtectionUser Interface AestheticsAccessibilityReliabilityReliabilityMaturityAvailabilityFault ToleranceRecoverabilitySecurityConfidentialityIntegrityNon-RepudiationAccountabilityAuthenticity-PrivacyMaintainabilityModularityReusabilityAnalysabilityModifiability-StabilityTestability-Configurability-Installability-Scalability-LocalizabilityPortabilityAdaptabilityInstallabilityReplaceability

There is quite a lot of confusion in the field as to what exactly constitutes IT:AD:Non-Functional Requirements.

The source of this confusion are several causes.

The first is the confusion as to what actually are IT:AD:Functional Requirements (ie: there are both Domain and System Functional Requirements).

Another point of confusion is around whether IT:AD:Non-Functional Requirements describe Qualities and Constraints, or whether Constraints should be listed separately (they are often lumped together). In the IT:AD:RUP methodology, IT:AD:Non-Functional Requirements are a part of the IT:AD:Supplemental Specifications,addressing Qualities, and Constraints are listed separately.

A third point of confusion is what actually make up IT:AD:Non-Functional Requirements. A long time ago IT:AD:FURPS defined 5 categories (4 being for NFRs). IT:AD:ISO 9126 supplanted those 5 those with 6, and IT:AD:ISO 25010 currently has 8 categories:

  • (System) Functional
  • Performance Efficiency
  • Compatibility
  • Usability
  • Reliability
  • Security
  • Maintainability
  • Portability

Issues

IT:AD:ISO 25010 is an improvement over IT:AD:FURPS – but there are still omissions and questions:

Constraints

At this point in time I'm arguing that IT:AD:ISO 25010 and IT:AD:SQuaRE have not addressed or dismissed the need to define Enterprise, Infrastructure, and Architecture Constraints.