Non-Functional Requirement
Problem
The requirement says:
“Build a payment API.”
That tells you what it does.
It doesn't tell you whether it must handle:
10 or 100,000 requests/sec
90% or 99.99% availability
1 second or 50 ms latency
Those differences radically change architecture.
Solution — NFRs / Quality Attributes
Specify required characteristics such as performance, availability, security and scalability.
Functional requirements describe what the system does, such as accepting card payments. Quality attributes name the qualities that matter; non-functional requirements set specific expectations for them, such as completing 95% of payment requests within two seconds.
Core idea: functional requirements describe behaviour; quality attributes describe how well the system must provide it.