liveBook · Manning

Requirements

As explained in Build Python Web Apps with Streamlit

Software requirements are stated needs, capabilities, goals, and constraints that a software system is expected to satisfy.

Software requirements turn an app idea into concrete capabilities and constraints. They state what stakeholders need, while avoiding implementation details such as specific widgets or technologies. section 3.0 section 3.3

Useful requirements:

  • Express a capability the app should provide. section 3.3
  • Describe user and stakeholder needs rather than implementation choices. section 3.3
  • Define both what the app will do and what remains out of scope. section 3.3.1
  • Scale the detail to the project: a small app may need only a short bullet list. section 3.1

Unit converter requirements

A unit converter can require numeric input, a source and compatible destination unit, displayed converted output, imperial and metric conversions, cross-system conversions, and straightforward addition of units. Currency conversion stays out of scope because changing exchange rates add API complexity. section 3.3 section 3.3.1

Figure 3.1 The six-step app development workflow

The six-step workflow places requirements between stating the concept and visualizing the user experience, then continues through implementation and iteration. section 3.1

How Build Python Web Apps with Streamlit covers it

How deep it goes
Defines capabilities, stakeholders, implementation independence, and exclusions, then stops short of prescribing technical solutions.
Examples
Uses unit-converter and daily to-do-list capabilities alongside explicit exclusions such as currency conversion, logging, export, and persistence.
What it assumes
Starts from a high-level app concept and teaches refinement into requirements without assuming implementation knowledge.
What you can do after
Apply via a six-step development process to define capabilities, set boundaries, and guide implementation choices.
How it connects
Connects requirements with stakeholders, scope, user experience, implementation, prioritization, and persistence.

Also explained in

Compare how 13 books explain requirements →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Build Python Web Apps with Streamlit. The section links point to the parts of the book it draws on.