Диаграммы состояниий
Определяют все возможные состояния, в которых может находиться конкретный объект, а также процесс смены состояний объекта в результате наступления некоторых событий. Существует много форм диаграмм состояний не значительно отличающихся друг от друга семантикой. (1) - Снятие денег [отрицательный баланс] В примере можно наблюдать процесс перехода счета из одного состояния в другое. Требование клиента называется "событием". Именно такие события и вызывают переход из одного состояния в другое. Если клиент снимает деньги со счета, он может перейти в состояние превышение кредита. Это происходит только в том случае, если банк по счету меньше нуля, что отражено условием "отрицательный баланс". Заключенное в квадратные скобки условие определяет, когда может произойти переход из одного состояния в другое. На диаграмме имеется 2 состояния: начальное и конечное. Начальное состояние выделено черной точкой, оно соответствует состоянию объекта, когда он только что был создан. Конечное состояние обозначается черной точкой в белом круге, оно соответствует состоянию объекта непосредственно перед его уничтожением. На диаграмме состояний может быть одно и только одно начальное состояние. В тоже время может быть столько конечных состояний, сколько необходимо, или их может не быть вообще. Когда объект находится в каком-то конкретном состоянии, могут выполняться различные процессы. В нашем примере при превышении кредита клиенту посылается соответствующее сообщение. Процессы, происходящие в этот момент, когда объект находится в определенном состоянии, называется "действием" (action). С состоянием можно связывать следующие данные: деятельность, входное действие, выходное действие и событие. Переход - это перемещение объекта из одного состояния в другое. На диаграмме все переходы изображают в виде стрелки, начинаются на первоначальном состоянии и заканчиваются в последующем. Эти переходы могут быть рефлексивными - объект может перейти в тоже состояние, в котором он находится в настоящий момент. Рефлексивные переходы изображают в виде стрелки начинающейся и заканчивающейся на одном и том же состоянии. У перехода существует несколько спецификаций: они включат события, аргументы, ограничивающие условия, действия и посылаемые события.
|