Non-Functional Requirements
Requirements that specify quality attributes of a system such as performance, security, reliability, and usability.
Also known as: NFRs, Quality Attributes, System Qualities, Quality Requirements
Category: Software Development
Tags: software-engineering, requirements, quality-attributes, systems-thinking
Explanation
Non-functional requirements (NFRs) define the quality attributes, constraints, and characteristics that determine how well a system performs its functions. While functional requirements specify what a system does, non-functional requirements specify how well it does it.
NFRs span multiple categories. Performance requirements specify response times, throughput, and resource utilization. Scalability requirements define how the system should handle growth. Security requirements address authentication, authorization, data protection, and compliance. Reliability requirements specify uptime, fault tolerance, and recovery capabilities. Usability requirements define ease of use, accessibility, and user experience standards. Maintainability requirements address code quality, documentation, and ease of modification.
Other important categories include portability (ability to run on different platforms), interoperability (ability to work with other systems), and compliance requirements (adherence to regulations and standards). Each NFR should be measurable with specific metrics and thresholds.
Non-functional requirements are often more challenging to define and test than functional requirements because they deal with qualities rather than specific behaviors. They require careful consideration during architecture design, as they often have system-wide implications. A system that meets all functional requirements but fails non-functional requirements may be unusable in practice.
NFRs should be prioritized alongside functional requirements, as they significantly impact architecture decisions, development effort, and operational costs. Trade-offs between different quality attributes are common and must be negotiated with stakeholders.
Related Concepts
← Back to all concepts