Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПИС.doc
Скачиваний:
23
Добавлен:
27.11.2019
Размер:
3 Мб
Скачать
☆

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

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

На рис. 6.11 показан пример простой диаграммы деятельности. Выполнение начинается с начального узла (initial node), далее выполняется операция «Принять заказ». Затем идет ветвление.

Для описания параллельных процессов в нотации диаграмм деятельности используются ветвления и объединения. Ветвление (fork) имеет один входной поток и несколько выходных параллельных потоков. Объединение (join) имеет несколько входящих потоков и один выходящий поток, который выполняется, когда все входящие потоки достигли объединения.

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

Операции «Заполнить заявку», «Послать счет» и следующие за ними (см. рис. 6.11) выполняются параллельно. По существу, в данном случае это означает, что последовательность операций не имеет значения. Можно заполнить заявку, послать счет, доставить товар, а затем получить оплату; или послать счет, получить оплату, заполнить заявку, а затем доставить товар и т.д. Можно также выполнять операции поочередно. Взять со склада первую позицию заказа, напечатать счет, взять вторую позицию заказа и т. д. Согласно диаграмме, любая из этих последовательностей действий допустима.

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

Условное поведение на диаграммах деятельности обозначается с помощью решений (decisions) и слияний (merdes). Решение имеет один входящий поток и несколько защищенных выходных потоков. Каждый выходной поток имеет защиту - условное выражение, помещенное в квадратные скобки. Каждый раз при достижении решения выбирается только один из выходных потоков, поэтому защиты должны быть взаимно исключающими. Применение [else] в качестве защиты означает, что поток [else] используется в том случае, когда другие защиты данного решения принимают ложное значение.

На рис. 6.11 после операции заполнения заявки располагается решение. Если заказ срочный, то производится срочная доставка; в противном случае производится обычная доставка.

Слияние (merge) имеет несколько входных потоков и один выходной. Слияние обозначает завершение условного поведения, которое было начато решением.

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