
- •«Диаграммы состояний»
- •1. Что такое диаграмма состояний
- •Набор символов
- •Дополнительные элементы в изображении состояния
- •Дополнительные обозначения для переходов: события и действия
- •Дополнительные обозначения для переходов: условия переходов
- •2. Подчиненные состояния
- •Последовательные подчиненные состояния
- •Параллельные подчиненные состояния
- •3. История состояний
- •4. Сообщения и сигналы
- •5. Зачем нужны диаграммы состояний
- •Дополнение к общей картине
- •6. Резюме
- •Вопросы и ответы
- •Задание
Лабораторная работа по UML N4
«Диаграммы состояний»
Итак, важнейшие структурные элементы UML уже рассмотрены. Теперь ознакомимся с элементами, которые показывают изменения во времени. В этой лабораторной работе остановимся на следующих вопросах.
• Что такое диаграмма состояний.
• События, действия и условия перехода.
• Подчиненные состояния: последовательные и параллельные.
• История состояний.
• Почему важны диаграммы состояний.
• Добавление диаграммы состояний в общую картину UML.
Диаграммы состояний относятся к числу категорий, которые описывают поведение системы и показывают, как части модели UML изменяются во времени.
С каждым годом появляются все новые стили одежды и новые модели автомобилей, в течение года изменяется цвет листьев на деревьях, подрастают дети. Попросту говоря, с течением времени происходят события и изменяются объекты вокруг нас.
То же самое можно сказать и о любой системе. Когда она взаимодействует с пользователями и (возможно) с другими системами, составляющие ее объекты претерпевают определенные изменения, чтобы система могла выполнять свои функции. Поэтому, построив модель системы, необходимо определить механизм изменения этой модели.
1. Что такое диаграмма состояний
Изменения в системе можно охарактеризовать так: объекты изменяют свое состояние в ответ на происходящие события и с течением времени. Вот несколько простых примеров.
• При щелчке на выключателе освещение меняет свое состояние с "Выключено" на "Включено".
• При щелчке на кнопке пульта дистанционного управления телевизор изменяет свое состояние и показывает передачи другого канала.
• По истечении заданного времени стиральная машина изменяет свое состояние со "Стирка" на "Полоскание".
Диаграмма состояний UML охватывает приведенные выше типы изменений. Она представляет состояния объекта и переходы между ними, а также показывает начальное и конечное состояние объекта.
Диаграмму состояний также называют автоматом состояний.
Запомните, что диаграмма состояний по своей сути значительно отличается от диаграммы классов, диаграммы объектов или диаграммы прецедентов, и это отличие очень важно. Изученные ранее диаграммы моделируют поведение всей системы или, по крайней мере, группы классов, объектов или прецедентов. Диаграмма состояний показывает состояния одного объекта!
Имя состояния всегда начинается с прописной буквы. Состояниям желательно присваивать имена, указывающие на действие (а для английских имен выбирать существительные с окончанием "ing"), например Набор номера (Dialing), Отправка факса (Faxing). Иногда ЭТО невозможно (состояние ожидания по-английски Idle).
Набор символов
На рис. 1 состояние показано в виде прямоугольника с округленными углами, а переход между состояниями — сплошной линией со стрелкой. Она указывает на состояние, в направлении которого происходит переход. Закрашенный круг символизирует начальную точку, а "глазок" — конечную.
Рис. 1. Обозначения UML для диаграммы состояний. Состояние изображается прямоугольником с округленными углами, переход — сплошной линией со стрелкой. Закрашенный круг соответствует начальной точке последовательности состояний, а обведенный круг ("глазок ") представляет конечную точку