Functional and Non-Functional Requirements

Module:Core concept

Functional requirements describe behavior; non-functional requirements define latency, availability, security, accessibility, and recovery.

How to apply it

Define measurable SLIs, SLOs, SLAs, RTO, and RPO. Document degraded behavior when dependencies fail, such as allowing existing work while upgrades wait for payment-provider recovery.

Worked example

Example: 95% of common reads under 300 ms at a specified load; critical service recovery within four hours.

Common mistakes to avoid

Using vague goals such as fast or confusing an internal target with a contractual SLA.

Practice task

Implement this concept in the capstone. Add one positive test, one negative or failure-path test, and a short note explaining the trade-off you chose.

Key Takeaways
  • Functional requirements describe behavior; non-functional requirements define latency, availability, security, accessibility, and recovery.
  • Define measurable SLIs, SLOs, SLAs, RTO, and RPO.
Knowledge Check

What is the strongest production practice for Functional and Non-Functional Requirements?