liveBook · Manning

Use case diagram

As explained in Functional Design and Architecture: Examples in Haskell

A use case diagram is a requirements-modeling diagram that shows actors, the actions they trigger, and the context of those actions.

A use case diagram organizes requirements by showing actors, the actions they trigger, and the logical boundary or context containing those actions. An actor may be a user or another subsystem. section 1.3 section 2.1.4

Because the diagram describes required functionality rather than implementation, it remains paradigm agnostic. It can support an agreement between developers and customers about what the program should do, regardless of the implementation stack. section 1.3 section 2.1.4

Use a use case diagram to:

  • Identify which users or subsystems interact with a logical system boundary. section 2.1.4
  • Capture the actions that each actor can perform with a subsystem. section 2.1.4
  • Organize a traditional requirements model before choosing implementation techniques. section 1.3

Engine control

An astronaut acts as an actor who starts and stops an engine within the control subsystem. The diagram can expose the required operations without committing them to particular API calls or programming paradigms. section 1.3

Main menu

A main-menu diagram for Minecraft models the actions available to actors within that menu, providing a structured way to discuss functionality with a customer. section 2.1.4

Use case diagrams clarify functional scope, but they do not reveal a domain's functional properties well enough to guide functional declarative design directly. User scenarios can add concrete steps, alternative paths, and preconditions. section 2.1.4

How Functional Design and Architecture: Examples in Haskell covers it

How deep it goes
Defines actors, actions, and boundaries, but stops short of exposing functional properties or implementation structure.
Examples
Uses astronaut engine control and Minecraft main-menu interactions as concrete diagram examples.
What it assumes
Assumes familiarity with requirements discussions while defining actors, actions, and logical boundaries explicitly.
What you can do after
Evaluate/understand required actors, actions, and subsystem boundaries before selecting an implementation approach.
How it connects
Connects UML, object-oriented design, requirements modeling, subsystems, and user scenarios.

Also explained in

Compare how 2 books explain use case diagram →

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.