State Modeling
Describe the distinct states an entity can exist in and the events that trigger transitions between them.
Definition
State Modeling describes the distinct states an entity, object, or system can exist in over its lifecycle, along with the events or conditions that trigger transitions between those states. State models are typically represented as state diagrams, showing states as nodes and transitions as labeled, directional connections between them.
Inputs
- An entity, object, or system whose behavior changes meaningfully based on its current condition
- Knowledge of the events, actions, or conditions that cause state changes
Outputs
- A diagram or table listing all valid states, the transitions between them, and the triggering events for each transition
- Explicit identification of invalid or impossible transitions, surfacing gaps in business rules
When to Use
- An entity has a defined lifecycle with meaningfully different behavior at each stage (e.g. an order: placed → paid → shipped → delivered → returned)
- Business rules depend heavily on "what state is this in right now"
- Validating that all transitions are accounted for, including edge cases and error states
When Not to Use
- Entities with no meaningful lifecycle or state-dependent behavior — most static reference data doesn't need state modeling
- Very simple binary states (e.g. active/inactive) where a diagram adds more overhead than clarity
See this technique in action with a free RequirementsHub workspace.
Start Free Workspace →