Лекция: Диаграммы Состояний
Диаграммы Состояний дают возможность моделировать различные состояния, в которых может находиться объект (поведение объекта). В отличие от диаграмм Классов, они моделируют динамику объектов.
На рис. 9.5 приводится пример диаграммы Состояний для банковского счета.
Видно, в каких состояниях может существовать счет. Можно также видеть процесс перехода счета из одного состояния в другое. Например, если клиент требует закрыть открытый счет, он переходит в состояние «закрыт». Требование клиента называется событием (event); события вызывают переход из одного состояния в другое.
Рис. 9.5. Диаграмма Состояний для класса Account.
На диаграмме имеются два специальных состояния — начальное (start) и конечное (stop). Начальное состояние (всегда одно) выделено черной точкой, оно соответствует состоянию объекта, когда он только что был создан. Конечное состояние (одно, несколько или ни одного) обозначается черной точкой в белом кружке, оно соответствует состоянию объекта непосредственно перед его уничтожением. Когда объект находится в каком-то конкретном состоянии, могут выполняться различные процессы (actions). В нашем примере при превышении кредита клиенту посылается соответствующее сообщение.
Диаграммы Состояний не надо создавать для каждого класса, они применяются только в очень сложных случаях.