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

В отличие от большинства других средств UML диаграммы деятельности заимствуют идеи из нескольких различных мето­дов, в частности из метода моделирования состояний SDL и сетей Петри. Эти диаграммы особенно полезны в описании поведе­ния, включающего большое количество параллельных процес­сов. Диаграммы деятельности также полезны при параллельном программировании, поскольку можно графически изобразить все ветви и определить, когда их необходимо синхронизировать.

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

На рис. 2.56 приведена диаграмма деятельности для потока событий, связанного с системой бронирования авиабилетов. Рас­смотрим ее нотацию.

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

Любая диаграмма деятельности должна иметь начальную точ­ку, определяющую начало потока событий. Конечная точка нео­бязательна. На диаграмме может быть несколько конечных то­чек, но только одна начальная.

На диаграмме могут присутствовать объекты и потоки объек­тов (object flow). Объект может использоваться или изменяться в одной из деятельностей. Показ объектов и их состояний (в до­полнение к диаграммам состояний) помогает понять, когда и как происходит смена состояний объекта.

Объекты связаны с деятельностями через потоки объектов. Поток объектов отмечается пунктирной стрелкой от деятельнос­ти к изменяемому объекту или от объекта к деятельности, использующей объект.

На рис. 2.56 после ввода пользователем информации о кре­дитной карточке билет переходит в состояние «не подтвержден». Когда завершится процесс обработки кредитной карточки и бу­дет подтвержден перевод денег, возникает деятельность «зарезервировать место», переводящая билет в состояние «приобретен»,

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

и затем он используется в деятельности «формирование номера подтверждения».

Переход (стрелка) показывает, как поток управления перехо­дит от одной деятельности к другой. Если для перехода определено событие, то переход выполняется только после наступления такого события. Ограничивающие условия определяют, когда пе­реход может, а когда не может осуществиться.

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

Любая деятельность может быть подвергнута дальнейшей де­композиции. Описание декомпозированной деятельности может быть представлено в виде другой диаграммы деятельности.

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

Диаграммы деятельности предпочтительнее использовать в следующих ситуациях:

· анализ потоков событий в конкретном варианте использо­вания. Здесь нас не интересует связь между действиями и объектами, а нужно только понять, какие действия должны иметь место и каковы зависимости в поведении системы. Связывание действий и объектов выполняется позднее с по­мощью диаграмм взаимодействия;

· анализ потоков событий в различных вариантах использова­ния. Когда варианты использования взаимодействуют друг с другом, на диаграмме деятельности удобно представить и проанализировать все их потоки событий (в этом случае ди­аграмма с помощью вертикальных пунктирных линий раз­деляется на зоны — так называемые «плавательные дорожки» (swimlanes). В каждой зоне изображаются потоки событий одного из вариантов использования, а связи между разными потоками — в виде переходов или потоков объектов).

2.5.6.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: