
ТСПП - МЕТОДИЧКА UML
.pdf
Графически ветвление на диаграмме деятельности обозначается небольшим ромбом, внутри которого нет никакого текста. В этот ромб может входить только одна стрелка от того состояния действия, после
выполнения которого поток управления должен быть продолжен по одной из взаимно исключающих ветвей. Принято входящую стрелку присоединять к верхней или левой вершине символа ветвления. Выходящих стрелок может быть две или более, но для каждой из них
явно указывается соответствующее сторожевое условие в форме булевского выражения (рис. 2.29).
Рис.2.29. Пример диаграммы деятельности с ветвлением
Дорожки
Диаграммы деятельности могут быть использованы не только для спецификации алгоритмов вычислений или потоков управления в программных системах. Не менее важная область их применения связана с моделированием бизнес-процессов. Действительно, деятельность любой компании (фирмы) также представляет собой не что иное, как совокупность отдельных действий, направленных на достижение требуемого результата. Однако применительно к
71
бизнес-процессам желательно выполнение каждого действия ассоциировать с конкретным подразделением компании. В этом случае
подразделение несет ответственность за реализацию отдельных действий, а сам бизнес-процесс представляется в виде переходов действий из одного подразделения к другому.
Для моделирования этих особенностей в языке UML используется специальная конструкция, получившее название дорожки (swimlanes)..
При этом все состояния действия на диаграмме деятельности делятся на отдельные группы, которые отделяются друг от друга вертикальными линиями. Две соседние линии и образуют дорожку, а группа состояний
между этими линиями выполняется отдельным подразделением (отделом, группой, отделением, филиалом) компании.
Названия подразделений явно указываются в верхней части дорожки. Пересекать линию дорожки могут только переходы, которые в
этом случае обозначают выход или вход потока управления в соответствующее подразделение компании. Порядок следования дорожек не несет какой-либо семантической информации и определяется соображениями удобства.
В качестве примера рассмотрим фрагмент диаграммы деятельности торговой компании, обслуживающей клиентов по телефону.
Подразделениями компании являются отдел приема и оформления заказов, отдел продаж и склад.
Этим подразделениям будут соответствовать три дорожки на диаграмме деятельности, каждая из которых специфицирует зону ответственности подразделения. В данном случае диаграмма
деятельности заключает в себе не только информацию о последовательности выполнения рабочих действий, но и о том, какое из
72

подразделений торговой компании должно выполнять то или иное действие (рис. 2.30).
Рис. 2.30. Фрагмент диаграммы деятельности торговой компании с объектом-заказом
Из указанной диаграммы деятельности сразу видно, что после
принятия заказа от клиента отделом приема и оформления заказов осуществляется распараллеливание деятельности на два потока (переход-разделение). Первый из них остается в этом же отделе и связан с получением оплаты от клиента за заказанный товар. Второй
инициирует выполнение действия по подбору товара в отделе продаж (модель товара, размеры, цвет, год выпуска и пр.). По окончании этой работы инициируется действие по отпуску товара со склада. Однако
подготовка товара к отправке в торговом отделе начинается только после того, как будет получена оплата за товар от клиента и товар будет
73
отпущен со склада (переход-соединение). Только после этого товар отправляется клиенту, переходя в его собственность.
Объекты
В общем случае действия на диаграмме деятельности выполняются над теми или иными объектами. Эти объекты либо инициируют выполнение действий, либо определяют некоторый результат этих действий. При этом действия специфицируют вызовы, которые передаются от одного объекта графа деятельности к другому.
Поскольку в таком ракурсе объекты играют определенную роль в понимании процесса деятельности, иногда возникает необходимость явно указать их на диаграмме деятельности.
Для графического представления объектов , используются прямоугольник класса, с тем отличием, что имя объекта подчеркивается. Далее после имени может указываться характеристика состояния объекта в прямых скобках. Такие прямоугольники объектов
присоединяются к состояниям действия отношением зависимости пунктирной линией со стрелкой. Соответствующая зависимость
определяет состояние конкретного объекта после выполнения предшествующего действия.
На диаграмме деятельности с дорожками расположение объекта может иметь некоторый дополнительный смысл. А именно, если объект расположен на границе двух дорожек, то это может означать, что
переход к следующему состоянию действия в соседней дорожке ассоциирован с готовностью некоторого документа (объект в некотором состоянии). Если же объект целиком расположен внутри дорожки, то и
состояние этого объекта целиком определяется действиями данной дорожки.
74
Следовательно, на диаграмме деятельности объекты играют лишь вспомогательную роль. Следует также помнить, что на диаграмме
деятельности один и тот же объект может быть изображен несколько раз, что не должно вносить неопределенность в спецификацию состояний действия (рис. 2.30).
Выводы
∙Диаграммой деятельности можно дополнить любой элемент модели, имеющий динамическое поведение.
∙Диаграммы деятельности являются частным случаем диаграммы состояний.
∙В отличие от блок-схем, диаграммы деятельности могут отображать одновременно выполняемые действия.
∙На диаграммах активности можно использовать плавательные дорожки, распределяющие деятельности в соответствии с ролями (объектами), их выполняющими.
∙Траектория объекта позволяет показать объекты, относящиеся к деятельности, и моменты переходов этих объектов из одного состояния
вдругое.
∙Сложные деятельности можно дополнительно детализировать, разбив на действия и изобразив "диаграмму в диаграмме".
∙Диаграммы деятельностей можно использовать для проектирования процессов (например, бизнес-процессов) или операций (вычислений). Во втором случае UML выступает в роли визуального языка программирования.
На рис. 2.31 приведен пример диаграммы деятельности и используемые в ней основные нотации [ 4 ].
75

Основная сущность, применяемая на диаграмме, — действие (1) и ее частный случай — деятельность (2), или если точнее — вызов деятельности (3).
Особыми видами действий, имеющими собственную нотацию,
являются действия по отправке (4) и получению (5) сигнала, а также действие получения сигнала от таймера (6).
76

На диаграмме деятельности могут быть показаны потоки управления (7) и потоки данных (8).
Поток управления определяется узлами управления, к которым относятся: начальный узел (13), развилка управления (14), слияние
управления (15), комбинированное слияние и развилка (16), разветвление управления (17), соединение управления (18), комбинированное соединение и разветвление управления (19), завершение потока (20), заключительный узел (21).
Передаваемые по потокам данных элементы в основном являются объектами в состоянии (22), для хранения которых используются
хранилища данных (23).
77

Особое место на диаграмме деятельности занимают элементы, объединяющие в себе несколько узлов. Наиболее часто используемый из них – разбиение (24).
2.6 Диаграммы последовательности
Одной из характерных особенностей систем различной природы и назначения является взаимодействие между собой отдельных элементов, из которых образованы эти системы.
Для моделирования взаимодействия объектов в языке UML используются соответствующие диаграммы взаимодействия.
Говоря об этих диаграммах, имеют в виду два аспекта взаимодействия. Во-первых, взаимодействия объектов можно рассматривать во времени, и тогда для представления временных
особенностей передачи и приема сообщений между объектами используется диаграмма последовательности.
Во-вторых, можно рассматривать структурные особенности взаимодействия объектов. Для представления структурных
78
особенностей передачи и приема сообщений между объектами используется диаграмма кооперации.
Рассмотрим диаграммы последовательности. Диаграмма последовательностей показывает последовательность, в которой объекты в процессе взаимодействия обмениваются сообщениями. На
диаграмме последовательности изображаются исключительно те объекты, которые непосредственно участвуют во взаимодействии и не
показываются возможные статические ассоциации с другими объектами. Объекты на диаграмме изображаются в виде прямоугольника, внутри которого указаны подчеркнутые имя объекта и название класса (не обязательно), разделенные двоеточием. Объекты располагаются в верхней части диаграммы друг за другом. А вниз от каждого объекта тянется пунктирная линия, которую называют линией жизни объекта. Линия жизни объекта - это линия, которая изображает
существование объекта на протяжении некоторого промежутка времени, и чем длиннее линия, тем дольше существует объект. Если объект в процессе взаимодействия разрушается, этот факт помечают на его линии жизни крестиком, который, собственно, эту линию и
заканчивает Объекты обмениваются сообщениями.
Сообщение (message) — это передача управления и данных от одного объекта (отправителя) к другому (получателю).
Отправка сообщения является действием, а получение сообщения — событием. В UML следующие действия связаны с передачей информации и отправкой сообщений:
-вызов метода (call);
-создание объекта (create);
-уничтожение объекта (destroy);
79
-возврат значения (return);
-посылка сигнала (send).
Сообщения, которыми обмениваются объекты, изображаются в виде стрелок, направленных от линии жизни одного объекта к линии жизни другого. Линии жизни объектов, тянущиеся вниз, играют роль шкалы времени, так что сообщения, отправленные ранее, расположены выше, чем отправленные позже. Таким образом, последовательность сообщений легко читается "сверху вниз". Объект отправляет сообщение в расчете на то, что оно вызовет некую реакцию и за этим последует некоторая деятельность..
В процессе функционирования системы одни объекты могут находиться в активном состоянии, непосредственно выполняя
определенные действия или в состоянии пассивного ожидания сообщений от других объектов. Чтобы явно выделить подобную активность объектов, в языке UML применяется специальное понятие, получившее название фокуса управления (focus of control). Фокус управления изображается в форме вытянутого узкого прямоугольника,
верхняя сторона которого обозначает начало получения фокуса управления объекта (начало активности), а ее нижняя сторона – окончание фокуса управления (окончание активности). Этот
прямоугольник располагается ниже обозначения соответствующего объекта и может заменять его линию жизни, если на всем ее протяжении он является активным. На рис 2.32. показаны примеры всех этих обозначений.
80