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.

  1. Concepts
  2. Questions
  3. Sort and link
  4. 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.