Слайд 2Общие сведения
Диаграмма деятельности (Activity diagram) служит для моделирования поведения системы.
Поведение системы описывается
как некоторая последовательность выполняемых действий или элементарных операций.
Диаграмма деятельности может использоваться для описания бизнес-процессов, вариантов использования, алгоритмов выполнения программы.
Графически диаграмма деятельности представляется в виде графа, вершинами которого являются действия, а ребра означают переход от одного действия к другому действию.
Слайд 3Действия
Деятельность (activity) это набор выполняемых действий (action).
Действия могут выполняться как последовательно
(одно за другим), так и параллельно.
Действие моделирует один шаг в описании некоторого процесса или алгоритма программы.
Выполнение действия может изменить состояние системы.
Действие может заключаться в выполнении некоторых операций, посылки сообщения, создания или уничтожения объекта.
Действие может быть записано предложением на естественном языке, псевдокоде или
языке программирования.
Графическое обозначение действия
Слайд 4Примеры действий
Простое действие.
Выражение.
Узел деятельности (Structured Activity Node) представляет сложное действие, состоящее из
нескольких простых действий. Для него рисуется своя диаграмма деятельности.
Начальное состояние (Initial Node).
Конечное состояние (Activity Final Node).
Слайд 5Поток управления
Деятельность заключается в выполнении ряда действий.
Каждое действие - это некоторый
узел на диаграмме деятельности.
Узлы связаны ребрами, обозначающими переход от выполнения одного действия к другому действию.
Каждое ребро - это поток управления.
Когда одно действие завершается, то поток управления немедленно переходит к следующему действию.
Поток управления (Control Flow) изображается в виде стрелки.
Слайд 6Пример потока управления
Поток управления
Действия
Начало деятельности
Завершение деятельности
Слайд 7Ветвления и слияния
Узел ветвления (Decision Node) имеет один входящий поток и несколько
исходящих.
С каждым исходящим потоком связано некоторое условие. Условия не могут перекрываться, т.к. должны обеспечить выбор единственного исходящего потока.
Узел слияния (Merge Node) имеет несколько входящих и один исходящий поток. Управление всегда передается только по одному из входящих потоков.
Слайд 9Разделение и соединение
Действия могут выполняться параллельно.
Точка разделения потока на несколько параллельных потоков
показывается с помощью узла разделения (Fork Node).
Точка, в которой происходит синхронизация несколько параллельных потоков, показывается с помощью узла соединения (Join Node).
Поток, исходящий из узла соединения, будет активирован только если в узел поступили все входящие потоки.
Слайд 11Разделы
Для удобства моделирования диаграмму деятельности можно разбить на разделы. Обычно это делается
с помощью вертикальных (горизонтальных, кривых) линий. Поэтому разделы еще называют дорожками (swimlanes). В UML Designer каждый раздел - это отдельный прямоугольник.
Каждый раздел (partition) содержит набор действий, который может относиться, например, к одному варианту использования, классу, компоненту, одному бизнес-процессу.
Бизнес-процесс описывает выполнение действий и переход выполнения действий от одного подразделения (лица) к другому подразделению (лицу)
Каждый раздел имеет свое имя, которое может быть, например, названием подразделения организации, которое выполняет определенные действия в рамках рассматриваемой деятельности.
Каждое действие принадлежит только одному разделу, а потоки управления могут переходить из одного раздела в другой.
Иногда действия в одном разделе могут осуществляться параллельно с действиями другого раздела (как это обычно происходит в подразделениях одной организации).
Слайд 14Поток объектов
На диаграмме деятельности могут быть показаны объекты (узел Datastore), участвующие в
деятельности.
В результате выполнения некоторого действия может быть создан новый объект или изменено состояние существующего объекта.
Объект помещается между двух действий и соединяется с ними стрелками.
Между этими действиями существует поток объектов (object flow).
В UML Designer стрелка Object flow используется для связи между двумя узлами Datastore.