Определение. Диаграммы деятельности (activity diagram) показывают структуру процесса или других вычислений как пошаговый поток управления и данных. Диаграммы деятельности описывают динамическое представление системы. Они особенно важны при моделировании функций системы и выделяют передачу потока управления между объектами системы.

Базовые понятия. Диаграмма деятельности показывает поток управления – от одной деятельности к другой.

Напомним, что деятельность (activity) – это выполняющийся в данный момент неатомарный набор действий внутри машины состояний (автомата). Выполнение некоторой деятельности в конечном счете раскрывается в виде выполнения отдельных действий (actions), каждое из которых может изменить состояние системы или передавать сообщения. Действия заключаются в вызове другой операции, посылке.

Содержимое. Диаграммы деятельности обычно содержат действия, узлы деятельности, потоки и значения объектов. Как и все прочие диаграммы, могут содержать примечания и ограничения.

Действия не могут быть подвергнуты декомпозиции. Более того, они атомарны – это означает, что события могут происходить, но внутреннее поведение действия невидимо. Вы не можете выполнить часть действия: оно либо выполняется целиком, либо не выполняется вообще. Наконец, часто предполагается, что время выполнения действий несущественно, хотя некоторые из них могут требовать ощутимых затрат времени.

Диаграммы деятельности применяются для моделирования динамических аспектов поведения системы. Эти динамические аспекты могут включать деятельность на любом уровне абстракции в любом представлении системной архитектуры, включая классы (в том числе активные), интерфейсы, компоненты и узлы.

Использовать диаграммы деятельности для моделирования некоторых динамических аспектов системы вы можете в контексте почти любого моделируемого элемента. Однако чаще вы будете прибегать к таким диаграммам в контексте всей системы, подсистемы, операции или класса. Диаграмму деятельности можно присоединить к варианту использования, чтобы моделировать сценарий, и кооперации, чтобы моделировать динамические аспекты поведения совокупности объектов.

При моделировании динамических аспектов системы диаграммы деятельности обычно используются двумя способами:

1. Для моделирования потока работ. Внимание сосредоточено на том, как выглядит деятельность с точки зрения действующих лиц, взаимодействующих с системой. Потоки работ находятся на периферии программных систем и применяются для визуализации, спецификации, конструирования и документирования бизнес-процессов, которые включает разрабатываемая система. При таком использовании диаграмм деятельности особенное значение приобретает моделирование потоков объектов.

2. Для моделирования операции. В этом случае диаграммы деятельности выступают в качестве схем, моделирующих подробности вычислительного процесса. При этом особенно важно моделирование ветвления, разделения и соединения потоков управления. Контекст используемой таким образом диаграммы деятельности включает параметры операций и их локальные объекты.

На следующем рисунке приведена типичная диаграмма деятельности, относящаяся к первому варианту.