Слайд 2
Назначение диаграммы деятельности
Для моделирования процесса выполнения операций в
языке UML используются диаграммы деятельности.
Каждое состояние на диаграмме деятельности
соответствует выполнению некоторой элементарной операции, а переход в следующее состояние срабатывает только при завершении этой операции в предыдущем состоянии.
Диаграммы деятельности можно считать частным случаем диаграмм состояний.
Слайд 3
Назначение диаграммы деятельности
В языке UML деятельность (activity) –
совокупность отдельных вычислений, выполняемых автоматом.
Отдельные элементарные вычисления могут приводить
к некоторому результату или действию (action).
На диаграмме деятельности отображается логика или последовательность перехода от одной деятельности к другой.
Слайд 4
Состояние действия
Состояние действия (action state) – специальный случай
состояния с некоторым входным действием и по крайней мере
одним выходящим из состояния переходом.
Использование состояния действия заключается в моделировании одного шага выполнения алгоритма или потока управления.
Графически состояние действия изображается так:
Слайд 5
Состояние действия
Действие может быть записано на естественном языке,
некотором псевдокоде или языке программирования.
Каждая диаграмма деятельности должна иметь
единственное начальное и единственное конечное состояния.
Диаграмму деятельности принято располагать так, чтобы действия следовали сверху вниз.
Слайд 6
Переходы
При построении диаграммы деятельности используются только нетриггерные переходы,
т.е. такие, которые срабатывают сразу после завершения деятельности или
выполнения соответствующего действия.
Этот переход переводит деятельность в последующее состояние сразу, как только закончится действие в предыдущем состоянии.
На диаграмме такой переход изображается сплошной линией со стрелкой.
Слайд 7
Переходы
Если из состояния действия выходит единственный переход, то
он может не помечаться.
Если же таких переходов несколько, то
сработать может только один из них – для каждого из таких переходов должно быть явно записано сторожевое условие в прямых скобках.
Такая ситуация получила название ветвления, а для ее обозначения применяется специальный символ.
Слайд 8
Переходы
Графически ветвление на диаграмме деятельности обозначается небольшим ромбом,
внутри которого нет никакого текста.
В этот ромб может входить
только одна стрелка от того состояния действия, после выполнения которого поток управления должен быть продолжен по одной из взаимно исключающих ветвей.
Принято входящую стрелку присоединять к верхней или левой вершине символа ветвления.
Слайд 9
Переходы
Пример ветвления на диаграмме деятельности:
Слайд 10
Переходы
Один из недостатков обычных блок-схем или структурных схем
алгоритмов связан с проблемой изображения параллельных ветвей отдельных вычислений.
В
языке UML для этой цели используется специальный символ для разделения и слияния параллельных вычислений или потоков управления.
Символ разделения (concurrent fork) имеет один входящий переход и несколько выходящих.
Слияние (concurrent join) имеет несколько входящих переходов и один выходящий.
Слайд 11
Переходы
Пример параллельных процессов на диаграмме деятельности:
Слайд 12
Дорожки
Диаграммы деятельности могут быть использованы не только для
спецификации алгоритмов вычисления или потоков управления, но и для
моделирования бизнес-процессов.
В этом случае действия желательно ассоциировать с конкретным подразделением компании.
В этом случае подразделение несет ответственность за реализацию отдельных действий.
Слайд 13
Дорожки
Для моделирования указанных особенностей в языке UML используется
специальная конструкция – дорожки (swimlanes):
Слайд 14
Дорожки
Название подразделений явно указываются в верхней части дорожки.
Пересекать линию дорожки могут только переходы.
Порядок следования дорожек не
несет какой-либо семантической информации и определяется соображениями удобства.
Слайд 15
Дорожки
Пример фрагмента диаграммы деятельности торговой компании:
Слайд 16
Объекты
Действия на диаграмме деятельности выполняются над теми или
иными объектами. Эти объекты либо инициируют выполнение действий, либо
определяют некоторый результат этих действий.
Для графического представления объектов используется прямоугольник класса.
После имени может указываться характеристика состояния объекта в прямых скобках.
Объекты присоединяются к состояниям действия отношением зависимости пунктирной линией со стрелкой.
Слайд 17
Объекты
На диаграмме деятельности с дорожками расположение объекта может
иметь дополнительный смысл.
Если объект расположен на границе двух дорожек,
то это может означать, что переход к следующему состоянию действия в соседней дорожке связан с готовностью некоторого документа.
Если объект целиком расположен внутри дорожки, то и состояние этого объекта целиком определяется действиями данной дорожки.
Слайд 18
Объекты
Модифицированный пример с торговой компанией: