NFR
Non-functional requirements (NFRs) are a class of requirements in software engineering that specify how a system operates rather than the specific behaviors it must perform. They describe quality attributes and constraints that the system must satisfy, shaping its overall performance, reliability, security, usability, and other aspects of its operation.
NFRs differ from functional requirements, which define the concrete services or functions the system must provide.
Common categories of NFRs include performance (such as response time and throughput), reliability and availability (uptime
NFRs often require trade-offs; for example, increasing security may impact usability or performance, and architectural decisions