Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры-2модуль-ТРПО.doc
Скачиваний:
32
Добавлен:
21.03.2015
Размер:
1.2 Mб
Скачать

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

2.7.1. Простые диаграммы деятельностей

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

Рисунок 2.18. Диаграмма деятельностей.

На рисунке 2.18 приведен пример диаграммы деятельностей.

За каждой деятельностью может следовать другая деятельность. За деятельностью Положить Кофе в Фильтр следует деятельность Вставить Фильтр в Автомат. Это простая последовательность. Деятельность Поискать Напиток активизирует 2 действия. Каждое действие содержит условие – логическое выражение, которое может принимать 2 значения – «истина» и «ложь». В приведенном примере Личность осуществляет деятельность Поискать Напиток, выбирая между Кофе и Колой.

Предположим, что Личность выбрала Кофе и идем вниз по кофейному маршруту. Этот путь ведет к линейке синхронизации, с которой связана активизация 3 деятельностей: Положить Кофе в Фильтр, Добавить Воду в Емкость и Достать Чашки. Диаграмма показывает, что эти 3 деятельности могут выполняться параллельно. Порядок их выполнения не играет роли.

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

Если при описании поведения системы существуют параллельные деятельности, то их необходимо синхронизировать. Результаты этих деятельностей сводятся вместе к одной линейке синхронизации. Линейка синхронизации показывает, что ее выходная деятельность активизируется только тогда, когда выполнены все входные деятельности (в нашем примере их две). На диаграмме есть еще одна линейка синхронизации, которая показывает, что Кофе должен быть готов и Чашки должны стоять на месте до того, как мы сможем налить Кофе.

Из деятельности Поискать Напиток существует 2 выхода. Если Кофе нет, выбирается второе решение, связанное с Колой. При такой последовательности решений второе решение обозначается ромбом. Такое обозначение позволяет описывать вложенные решения, их количество м.б. любым.

Деятельность Выпить Напиток имеет 2 входа, что означает ее выполнение в любом из случаев. Эту ситуацию можно рассматривать как условие «ИЛИ». Линейку синхронизации можно рассматривать как условие «И».

Конечная точка на диаграмме – это точка, в которой заканчивается выполнение всех деятельностей.