Дополнение к общей картине

Теперь в общую картину UML можно добавить "поведенческие элементы". На рис. 11 представлена общая картина UML с добавленными к ней элементами диа­граммы состояний.

Рис. 11. Общая картина UML теперь включает поведенческий элемент — диаграмму состояний

Резюме

Объекты в системе изменяют свое состояние с течением времени и в ответ на со­бытия. Эти изменения отражает диаграмма состояний UML. На ней изображаются переходы между состояниями одного объекта. Состояние графически представляется прямоугольником с округленными углами, а переход из одного состояния в другое изображается линией со стрелкой.

Обозначение состояния содержит его имя и может включать переменные и набор действий этого состояния. Переход зачастую происходит в ответ на переключающее событие и может вызывать некоторые действия. Переход также может происходить вследствие выполнения всех необходимых действий в предыдущем состоянии: он на­зывается безусловным. Наконец, переход может происходить в случае выполнения спе­циальных условий — так называемых условий переходов.

Иногда состояние складывается из подчиненных состояний, которые могут быть последовательными (происходящими Друг за другом) или параллельными (происходящими одновременно). Состояние, включающее подчиненные состояния, называется композитным. История состояния показывает, что композитное состояние запоминает свое промежуточное состояние, когда объект из него выходит. Мелкая ис­тория подразумевает запоминание только одного подчиненного состояния. Глубокая история включает все уровни вложенности состояний.

Если один объект передает сообщение, вызывающее переход на диаграмме состояний другого объекта, то это сообщение называется сигналом. Иерархию наследования сигналов можно построить на базе диаграммы классов с использованием стереотипа «сигнал».

Диаграммы состояний важны для аналитиков, проектировщиков и разработчиков, поскольку они позволяют понять поведение объектов системы. Разработчики, в част­ности, должны знать о предполагаемом поведении объектов в системе, чтобы про­граммно реализовать это поведение. Не достаточно реализовать сам объект — нужно добиться, чтобы объект выполнял свои функции.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: