Purpose

<aside> 💡 To describe and analyze the different possible states of an entity within a system, how that entity changes from one state to another, and what can happen to the entity when it is in each state.

</aside>

<aside> 🗨️ A state model is sometimes called a state transition model

</aside>

Description

<aside> ❓ An entity is an object or concept within a system

</aside>

<aside> 💡 About entities

<aside> ❓ A state in a state model is a formal representation of a status

</aside>

<aside> 💡 A state helps to get a precise and consistent understanding of an entity that has complex behavior and complex rules about that behavior

</aside>

<aside> 💡 What a state model describes

<aside> 💡 A state model shows what happens to one entity across all the processes that affect it or use it

While a process model can show all of the entities that are used in or affected by that process, a state model shows a complementary view: what happens to one entity across all the processes that affect it or use it.

</aside>

Elements

State

<aside> 💡 An entity has a finite number of states during its life cycle

</aside>

<aside> 💡 An entity can be in more than one state at a time

</aside>

<aside> 💡 Each state is described with a name and the activities that could be performed while in that state

</aside>

<aside> 💡 There may be rules about which activities must or can be performed and which events it can respond to or trigger

</aside>

<aside> 💡 A complex state can be decomposed into sub-states

</aside>

State Transition