Use Case Modeling

Define how users interact with a system to achieve a specific goal.

Definition

Use cases describe the interactions between the actors and the solution to achieve a goal. A use case describes the possible outcomes of an attempt to accomplish a particular goal that the solution will support. It details different paths that can be followed by defining primary and alternative flows.

Inputs

  • A defined actor (user or system) and a specific goal that actor wants to accomplish
  • Knowledge of system behavior, business rules, and any preconditions required before the interaction can begin

Outputs

  • A structured description of the primary flow (the expected path to success) and alternative flows (exceptions, errors, edge cases)
  • Clear preconditions and postconditions defining when the use case starts and what "done" looks like

When to Use

  • Defining functional requirements for interactive systems where user (or system) behavior matters, not just data structure
  • Projects where development teams need detailed, scenario-based specifications to build against
  • Capturing exception handling and edge cases explicitly, not just the happy path

When Not to Use

  • Purely data-oriented or batch-processing requirements with no meaningful user interaction
  • Very early ideation stages where goals and actors haven't been validated yet

See this technique in action with a free RequirementsHub workspace.

Start Free Workspace →