https://www.techtarget.com/searchapparchitecture/definition/state-diagram-state-machine-diagram-or-statechart-diagram
A state diagram (also known as a state machine or statechart diagram) is an illustration of all the possible behavioral states a software system component may exhibit and the various state changes it's predicted to undergo over the course of its operations.
Using standard Unified Modeling Language (UML) notation, a state diagram somewhat resembles an operational flowchart that outlines the various state-altering processes that occur within a system. However, state diagrams are specifically designed to focus on the state of an object rather than the change-inducing processes associated with them. Instead, any underlying events that trigger state changes are identified as transition elements.
While the exact structure depends heavily on the specific system being modeled, a state diagram typically includes the following basic denotations:
In addition to these basic components, state diagrams can also indicate forked, joined, self-transitioning, composite and historical states.
State diagrams can be useful in a variety of application development scenarios -- particularly in cases of object-oriented programming (OOP) -- for a number of reasons. Some of its most prominent benefits include its ability to do the following:
We can use the processes associated with an ATM as an example of how to apply a state diagram. The initial state of an ATM system is often a ready state that waits for a bank customer to initiate an action. The middle states of this process might include things like verifying the user identity, calculating dollar amounts or even experiencing a malfunction. The actual change-inducing events are dictated primarily by the user, who may request to check on their bank balance, withdraw cash or deposit a check. The final state occurs once the machine successfully executes and ends a session.
09 May 2023