- •7.1. История uml
- •7.2. Описание uml
- •7.3. Сущности uml
- •7.4. Отношения uml
- •7.5. Диаграммы uml
- •7.6. Расширения языка uml
- •7.7. Диаграммы классов
- •7.8. Диаграммы использования (use-case) (диаграммы прецедентов)
- •7.9. Диаграмма последовательности
- •7.10. Диаграмма кооперации
- •7.11. Диаграмма состояний
- •7.12. Диаграмма деятельности
- •7.13. Диаграмма компонентов
- •7.14. Диаграмма развертывания (диаграммы размещения)
7.11. Диаграмма состояний
Диаграмма состояний в UML описывает все возможные состояния одного экземпляра определенного класса и возможные последовательности его переходов из одного состояния в другое, то есть моделирует все изменения состояний объекта как его реакцию на внешние воздействия.
Эти диаграммы относятся к динамическому виду системы, особенно важна их роль при моделировании поведения интерфейса, класса или кооперации. Они заостряют внимание на поведении объекта, которое в свою очередь зависят от последовательности событий, что очень полезно при моделировании реактивных систем.
Диаграмма состояний является графом специального вида, который представляет некоторый конечный автомат, включающий в себя состояния, переходы, события и виды действий. Вершинами графа являются возможные состояния автомата, изображаемые соответствующими графическими символами, а дуги обозначают его переходы из состояния в состояние. Диаграммы состояний могут быть вложены друг в друга для более детального представления отдельных элементов модели.
Элементы диаграммы состояний (слайд 11).
Состояние – условие или ситуация в ходе жизненного цикла объекта, в течение которого он удовлетворяет логическому условию, выполняет определенную деятельность или ожидает события.
Начальное состояние соответствует состоянию объекта, когда он только что был создан. На диаграмме состояний может быть только одно начальное состояние.
Конечное состояние соответствует состоянию объекта непосредственно перед его уничтожением. На диаграмме состояний конечных состояний может быть столько, сколько нужно, или их может не быть вообще.
Внутренняя деятельность — это поведение, реализуемое объектом, пока он находится в данном состоянии. Деятельность — это прерываемое поведение. Оно может выполняться до своего завершения, пока объект находится в данном состоянии, или может быть прервано переходом объекта в другое состояние.
Входное действие (entry action) — это поведение, которое выполняется, когда объект переходит в данное состояние. Данное действие осуществляется не после того, как объект перешел в это состояние, а, скорее, как часть этого перехода. В отличие от деятельности входное действие рассматривается как непрерываемое.
Выходное действие (exit action) подобно входному, однако оно осуществляется как составная часть процесса выхода из данного состояния. Оно является частью процесса такого перехода. Как и входное, выходное действие является непрерываемым.
Переходом (transition) называется перемещение объекта из одного состояния в другое.
Переходы могут быть рефлексивными. Объект может перейти в то же состояние, в котором он в настоящий момент находится.
Событие (event) вызывает переход из одного состояния в другое.
Большинство переходов должны иметь события, так как именно они, прежде всего, заставляют переход осуществиться. Тем не менее, бывают и автоматические переходы, не имеющие событий. При этом объект сам перемещается из одного состояния в другое со скоростью, позволяющей осуществиться входным действиям, деятельности и выходным действиям.
Ограничивающие условия (guard conditions) определяют, когда переход может, а когда не может осуществиться. Ограничивающие условия задавать необязательно. Если условие принимает значение «истина», то соответствующий переход может сработать. Если условие принимает значение «ложь», то переход не может сработать, объект остается в исходном состоянии.
Если существует несколько автоматических переходов из состояния, необходимо определить для них взаимно исключающие ограждающие условия, чтобы понять, какой путь перехода будет автоматически выбран.
Действие может быть не только входным или выходным, но и частью перехода.
Пример диаграммы состояний. (слайд 12)
