liveBook · Manning

Nonfunctional requirement

As explained in Functional Design and Architecture: Examples in Haskell

A nonfunctional requirement specifies general qualities or operational constraints of an application rather than specific functions.

A nonfunctional requirement specifies the general properties and operational constraints an application must satisfy, rather than the functions it performs. In a spacecraft system, robustness, fault tolerance, continuous operation, ease of use, security, compatibility, performance, stability, extensibility, availability, capacity, and latency are nonfunctional requirements. section 1.2.1

Spacecraft control software

Manual and automatic control are functional requirements because they describe what the software does. Operating reliably around the clock, remaining secure, processing the required amount of data, and avoiding a rewrite as the system evolves are nonfunctional requirements that shape its design. section 1.2.1

Figure 1.4 Compromising between simplicity, goals, and requirements

Use the trade-off diagram to relate simplicity, goals, and requirements when choosing a design that remains maintainable. section 1.2.1

How Functional Design and Architecture: Examples in Haskell covers it

How deep it goes
Defines the category and distinguishes it from functional requirements through spacecraft properties and maintainability concerns.
Examples
Uses spacecraft reliability, fault tolerance, continuous operation, security, compatibility, capacity, and latency as examples.
What it assumes
Assumes understanding of applications and user tasks while introducing the distinction between functional and nonfunctional requirements.
What you can do after
Evaluate design goals by separating required behavior from qualities that constrain implementation and future maintenance.
How it connects
Connects functional requirements with performance, stability, extensibility, availability, security, latency, and maintainability.

Also explained in

Compare how 6 books explain nonfunctional requirement →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Functional Design and Architecture: Examples in Haskell. The section links point to the parts of the book it draws on.