.NET Architecture & System Design Interview Question #4
What are functional and non-functional requirements?
Architecture Fundamentals, Scalability, Availability & Performance Junior Beginner
Quick Interview Answer
Functional requirements describe what the system must do, such as creating orders, authenticating users, processing payments, or generating reports.
Detailed Explanation
Functional requirements describe what the system must do, such as creating orders, authenticating users, processing payments, or generating reports.
Non-functional requirements describe qualities and constraints such as performance, availability, scalability, security, maintainability, recoverability, and compliance. These requirements strongly influence architectural choices and should be made measurable where possible.
Code Example
Functional:
- Place an order
- Search products
Non-functional:
- p95 response < 300 ms
- 99.9% availability
- recover within 30 minutes