Тема №5
Назначение диаграммы деятельности
Назначение диаграммы деятельности
Состояние действия
Состояние действия
Переходы
Переходы
Переходы
Переходы
Переходы
Переходы
Дорожки
Дорожки
Дорожки
Дорожки
Объекты
Объекты
Объекты
Рекомендации по построению диаграмм деятельности
293.50K
Category: programmingprogramming

Диаграмма деятельности

1. Тема №5

Диаграмма деятельности
Рассматриваемые вопросы:
1.
Назначение диаграммы деятельности
2.
Состояние действия
3.
Переходы
4.
Дорожки
5.
Объекты
6.
Рекомендации по построению диаграмм деятельности

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. Объекты

Модифицированный пример с торговой компанией:

19. Рекомендации по построению диаграмм деятельности

Диаграмма деятельности строится для отдельного класса,
варианта использования, отдельной операции класса или
целой подсистемы.
На начальных этапах проектирования построение
диаграммы деятельности начинают с выделения поддеятельностей, которые в совокупности образуют
деятельность подсистем.
English     Русский Rules