Диаграмма состояний описывает все возможные состояния, в которых может находиться объект, а также процесс смены состояний в результате наступления некоторого события.
Диаграммы состояний – это один из пяти видов диаграмм UML, предназначенных для моделирования динамических аспектов поведения системы. Диаграмма состояний показывает конечный автомат. Диаграмма состояний подходят для моделирования жизненного цикла объекта. Диаграмма состояний отображает поток управления от состояния к состоянию внутри отдельного объекта.
Диаграммы состояния применяются для моделирования динамических аспектов поведения систем (в большинстве случаев это моделирование поведения реактивных объектов). Реактивным называется такой объект, поведение которого лучше всего характеризуется его реакцией на события, получаемые им извне его контекста. Реактивный объект имеет четкое время жизни, и его текущее поведение зависит от прошлого.
Диаграммы состояний могут быть присоединены к классам, вариантам использования либо ко всей системе с целью визуализации, специфицирования, конструирования и документирования динамики отдельных объектов.
Диаграммы состояний полезны не только для моделирования динамических аспектов системы, но и для конструирования исполняемых систем посредством прямого и обратного проектирования.