Reliability, robustness and other quality requirements
THINK What are some non-functional requirements for the Amazon Seller Portal? Pause and write down your responses before reading further.
Reliability is the extent to which a program behaves the same way over time in the same operating environment. E.g. the software should not crash often, otherwise users get frustrated; in the Seller Portal we must ensure the portal handles all operations, especially when the inventory changes based on buying and selling.
Robustness is the extent to which a program can recover from errors or unexpected input. E.g. a user gives garbage as input; in the Seller Portal the service must handle large numbers and high traffic.
When we specify reliability and robustness, we are ensuring the system behaves the way we intend — not specifying what the system should do. That is the key difference between functional and non-functional requirements.
Others: performance, portability, security, interoperability, etc.
