The state machine diagram
State machine diagrams captures the life cycles of objects, sub-systems and systems. They indicate what states an object can have and how different events affect those states over time.

State machine diagrams should be attached to classes that have clearly identifiable states and is governed by complex behaviour.
A State is displayed as a rounded rectangle with optional compartments for attributes, events and internal activities. State flows or transitions are drawn between States, usually with guard conditions and rules governing how and when an object may transition from one state to another.
States are usually named according to their condition, for example 'Checking', 'Waiting' and 'Dispatching' are all active conditions an object can be in while waiting to transition to another state or end the cycle completely.
Start and end nodes represented as solid and empty circles are used to represent the beginning and end of all transitions. State machine diagrams can have a start point and several end points.
State transitions may be triggered by events. These events may have keywords (guards) associated with it to clarify the event. It is not always necessary to show these events.
States can be nested. This implies that states (sub states) can exist in an overall state. Parallel states can also be defined where an object may have several states at the same time. For example: A person has at any time many parallel states. These may be: walking, thinking, young, etc.

Consider the following state chart of an invoice class:
graphic
Google
 
Web xpdian.com