What is a State Diagram?
A state diagram shows the behavior of classes in response to external stimuli. Specifically a state diagram describes the behavior of a single object in response to a series of events in a system. Sometimes it's also known as a Harel state chart or a state machine diagram. This UML diagram models the dynamic flow of control from state to state of a particular object within a system.
What is the Difference between a State Diagram and a Flowchart?
A flowchart illustrates processes that are executed in the system that change the state of objects. A state diagram shows the actual changes in state, not the processes or commands that created those changes.
How to Draw a State Diagram
Before you begin your drawing find the initial and final state of the object in question.
Next, think of the states the object might undergo. For example, in e-commerce a product will have a release or available date, a sold out state, a restocked state, placed in cart state, a saved on wish list state, a purchased state, and so on.
Certain transitions will not be applicable when an object is in a particular state, for example a product can be in a purchased state or a saved in cart state if its previous state is sold out.
Learn how to draw other UML diagrams with SmartDraw.
Basic State Chart Diagram Symbols and Notations
States represent situations during the life of an object. You can easily illustrate a state in SmartDraw by using a rectangle with rounded corners.
A solid arrow represents the path between different states of an object. Label the transition with the event that triggered it and the action that results from it. A state can have a transition that points back to itself.
A filled circle followed by an arrow represents the object's initial state.
An arrow pointing to a filled circle nested inside another circle represents the object's final state.
Synchronization and Splitting of Control
A short heavy bar with two transitions entering it represents a synchronization of control. The first bar is often called a fork where a single transition splits into concurrent multiple transitions. The second bar is called a join, where the concurrent transitions reduce back to one.
State Diagram and Other UML Diagram Examples
The best way to understand state diagrams is to look at some examples of state diagrams.
Click on any of these UML diagrams included in SmartDraw and edit them:
Browse SmartDraw's entire collection of state diagram examples and templates