УНИФИЦИРОВАННЫЙ ЯЗЫК МОДЕЛИРОВАНИЯ UML Курс лекций. МарГТУ 2009. Рыбаков А.Е., Нехорошкова Л.Г. Динамические модели объектноориентированных программных систем Диаграммы взаимодействия Диаграммы коммуникации Диаграммы последовательности Диаграммы поведения Диаграммы состояний Диаграммы деятельности Диаграмма состояний Диаграмма состояний (statechart diagram) диаграмма, которая представляет конечный автомат. Диаграмма состояний показывает: набор состояний системы; события, которые вызывают переход из одного состояния в другое; действия, которые происходят в результате изменения состояния. Состояние Состояние (state) - условие или ситуация в ходе жизненного цикла объекта, в течение которого он удовлетворяет логическому условию, выполняет определенную деятельность или ожидает события. Простой переход СОБЫТИЕ Сигнал, Вызов, Таймер, Изменение состояния Если возникает событие, переход возбуждается [Сторожевое условие] Если True, то переход срабатывает Если False, то переход не срабатывает и событие теряется / Действие Выполняется, если переход срабатывает Использование простых переходов Действия внутри состояния Историческое подсостояние Таблица состояний сотрудника Диаграмма состояний сотрудника Светофор (составные состояния) Светофор (простые состояния) Диаграмма деятельности Особая форма конечного автомата, в которой показываются процесс вычислений и потоки работ. Диаграмма деятельности Нечто большее чем блок схема Действие и деятельность в UML Действие (Action) Атомарно (не может быть прервано) Завершается (всегда и само) Мгновенно (время выполнения мало) Последовательность действий = действие * [ повторитель ] действие Деятельность (Activity) Может быть прервана событием Может продолжаться неограниченно долго Создать каталог Заполнить заказ Типы действий в диаграммах деятельности присваивание значения := вызов операции call создание объекта new уничтожение объекта destroy возврат значения return посылка сигнала send остановка terminate Прием сотрудника Типы действий в диаграммах деятельности Прием сотрудника Дорожки swim lanes Дорожка - часть области диаграммы деятельности, на которой отображаются только те деятельности, за которые отвечает конкретный объект. Траектория объекта Траектория объекта Деятельность покупателя в интернет-магазине Пример Выводы Диаграммой деятельности можно дополнить любой элемент модели, имеющий динамическое поведение. Диаграммы деятельности являются частным случаем диаграммы состояний. В отличие от блок-схем, диаграммы деятельности могут отображать одновременно выполняемые действия. На диаграммах активности можно использовать плавательные дорожки, распределяющие деятельности в соответствии с ролями (объектами), их выполняющими. Траектория объекта позволяет показать объекты, относящиеся к деятельности, и моменты переходов этих объектов из одного состояния в другое. Сложные деятельности можно дополнительно детализировать, разбив на действия и изобразив "диаграмму в диаграмме". Диаграммы деятельностей можно использовать для проектирования процессов (например, бизнес-процессов) или операций (вычислений). Во втором случае UML выступает в роли визуального языка программирования. Контрольные вопросы • Какие еще виды диаграмм (кроме диаграмм активностей) можно использовать для моделирования динамики системы? • Чем диаграммы деятельности отличаются от блок-схем? Какие преимущества это сулит разработчикам? • Что такое траектория объекта?