Применение диаграмм активностей на практике

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

1. Для моделирования процессов

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

2. Для моделирования операций

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

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

· люди, занимающие конкретные должности в управленческом аппарате (экторы),

· документы, которые они создают (артефакты, объекты),

· процесс принятия решений и передачи приказов по организационной цепочке (управляющие сигналы).

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

Моделируют бизнес-процессы в несколько этапов, первым из которых является разбиение их на подпроцессы. Подпроцессы, являющиеся "участками большого процесса", описать легче. А там, глядишь, и составится целое из частей.

Дальше:

· выделяют ключевые объекты (и создают для них дорожки),

· определяют предусловия и постусловия каждого процесса (т. е. его границы),

· описывают деятельности и переходы,

· отображают на диаграммах состояния ключевых объектов, в которые они переходят в ходе процесса.

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

Чтобы окончательно не запугать читателя, приведем просто пример использования диаграммы активностей для описания процесса разработки ПО в OpenUP (рис. 5.9):

Применение диаграмм активностей на практике - student2.ru

Рис. 5.9.

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

Перейдем к рассмотрению моделирования операций с помощью диаграмм активностей. Как мы уже говорили, в этом случае диаграмма активностей превращается в "продвинутую" блок-схему, предоставляющую дополнительные возможности, например, отображение параллельно выполняющихся операций. Возникает соблазн попытаться выполнить кодогенерацию такой диаграммы или даже откомпилировать ее и сразу получить выполняемый файл. Поспешим отметить, что вы не одиноки в таком желании - попыток создать пакет для генерации приложений непосредственно из диаграмм UML было предпринято множество. Некоторые даже оказались более-менее удачными - вспомним, например, Rational Rose Real Time. Таким образом, при моделировании операций UML становится языком визуального программирования!

Приведем пример моделирования одной из базовых алгоритмических конструкций, например, цикла с постусловием (рис. 5.10):

Применение диаграмм активностей на практике - student2.ru

Рис. 5.10.

Наши рекомендации