Functional and non-functional requirements
Telling apart what the system does, how well it does it and the constraints placed on it, then writing a measurable requirement and prioritising it with MoSCoW.
- 26 cards
- 4 topics
- Free
The outline, topic by topic
Each topic is weighted the way the exam weighs it.
- Concepts
- Questions
- Sort and link
- The numbers
A few cards from the deck
Functional requirement: what is it?
Show the answer
What the system must do: a service it provides or a behaviour expected for a given input.
“Export the list of orders as a PDF” is a function: it can be described by an input, some processing and a result.
Which of these requirements is non-functional?
- A page loads in under 2 s for 95% of requests
- The system sends a confirmation email after each order
- An administrator can block a user's account
- The home page shows the user's 20 most recent orders
Show the answer
A page loads in under 2 s for 95% of requests
The other three describe something the system does, even when they contain a number. Load time does not say what the page does, but how quickly it does it.
A … requirement says what the system does; a … requirement says how well it does it.
Show the answer
A functional requirement says what the system does; a non-functional requirement says how well it does it.
“Send a confirmation email” is functional; “send it within a minute” adds a quality expected of that function.
Non-functional requirement: what is it?
Show the answer
A quality expected of the system, saying how well it provides its services: speed, security, availability, usability.
It is not added like a function: it qualifies every function at once, and is very expensive to retrofit late in a project.