Definition
Non-functional Requirement
Defines criteria that can be used to judge the operation of a system, rather than specific behaviors. It describes how the system should be.
Nature of NFRs
- They exist in relation to Functional Requirements.
- They are often in conflict with each other (e.g., Security vs. Performance).
- They are identified using checklists.
Categories
1. Performance
Constraints on the processing speed and resource usage.
- Static: Capacity, Storage.
- Dynamic: Throughput, Latency, Response Time.
2. Design Constraints
Restrictions on the design or implementation space.
- Standard: Compliance with industry standards.
- Implementation: Required tools, languages, or platforms.
- Operation: Administration and management constraints.
- Legal: Licensing, privacy (GDPR), and regulatory compliance.
3. Quality Criteria
Attributes that determine the quality of the requirements or the system itself.
- Correctness: Meets the specification.
- Consistency: No contradictions.
- Completeness: Nothing is missing.
- Clarity: Unambiguous.
- Traceability: Can be linked back to origin.
- Realism: Achievable.
- Verifiability: Can be tested.