liveBook · Manning

Functional requirement

As explained in Machine Learning System Design

A requirement that specifies the functionality, value, or user flow a system or feature must provide.

A functional requirement states what a feature or system must provide: its functionality, value, and user flow. It answers what should be designed, while nonfunctional requirements shape how it should work under the hood. section 2.3

Use functional requirements to frame the intended system behavior before discussing implementation constraints:

  • Describe the feature’s user-visible purpose and value. section 2.3
  • Separate the desired outcome from performance, security, portability, and other nonfunctional concerns. section 2.3
  • Make the requirement specific enough to support risk discussions; “incorrect model prediction” alone is too vague as a risk. section 2.3

Dynamic pricing

A pricing system may need to optimize revenue, margin, or traffic, operate at user level, adapt to changing behavior, and produce prices in real time. Those intended capabilities are functional requirements; constraints and safeguards describe how the system must operate. section 2.3

How Machine Learning System Design covers it

How deep it goes
Defines the concept and contrasts it with nonfunctional requirements, without prescribing a detailed elicitation process.
Examples
Uses a dynamic pricing system involving revenue, margin, traffic, user-level operation, adaptation, and real-time pricing.
What you can do after
Apply it to determine what a feature or system should provide before shaping implementation constraints.
How it connects
Connects functional requirements to nonfunctional requirements, risk models, and ML system design.

Also explained in

Compare how 6 books explain functional requirement →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Machine Learning System Design. The section links point to the parts of the book it draws on.