Аннотация: Диаграмма активностей (или, как часто говорят, диаграмма деятельности) — диаграмма UML, выглядящая наиболее простой, поскольку напоминает привычную всем блок-схему. На самом же деле диаграмма активности — это нечто большее, чем блок-схема, хотя цели у них похожи: обе они отображают некий алгоритм. Мы уже встречались с такими диаграммами в лекции «Виды диаграмм», а теперь рассмотрим их более внимательно. В этой лекции мы рассмотрим такие вопросы: а ведь это вовсе не блок-схема; примеры использования таких диаграмм; советы по построению диаграмм активностей
А ведь это вовсе не блок-схема!
Как мы уже говорили, диаграммы активностей ( Activity Diagrams ) являются представлением алгоритмов неких действий (активностей), выполняющихся в системе. Мы уже знаем, что нотация UML предлагает пять представлений системы:
- Вид системы с точки зрения прецедентов.
- Вид с точки зрения проектирования.
- Вид с точки зрения процессов.
- Вид с точки зрения развертывания.
- Вид с точки зрения реализации.
И при этом каждый из перечисленных способов представления системы может содержать последовательности действий, которые могут быть описаны с помощью алгоритмов. Вот здесь-то и выходят на сцену диаграммы деятельностей. Вообще говоря, любой элемент модели, имеющий динамическое поведение, может быть дополнен диаграммой деятельности — именно для уточнения этой самой динамики. Как хорошо подходящий по контексту пример следует упомянуть возможность применения диаграмм активности для описания бизнес-процессов, существующих в компании (нотации Grapes-BM, BPML /BPMN и др.). Вот уж где самая что ни на есть динамика!
Можно построить несколько диаграмм деятельности для одной и той же системы, причем каждая из них будет фокусироваться на разных аспектах системы, показывать различные действия, выполняющиеся внутри ее. Читатель, конечно же, понял, что, когда мы говорим о динамике, мы подразумеваем поведение системы в целом или ее частей.
Говоря более формально, диаграммы активности, в общем-то, не имеют монополии на описание поведенческих особенностей динамических частей системы. Для этой же цели могут использоваться еще диаграммы прецедентов , последовательности, кооперации и состояний. Почему же мы говорим именно о диаграмме активности? Нет, не только потому, что так называется эта лекция.
Именно на диаграмме деятельности представлены переходы потока управления от одной деятельности к другой. Это, по сути, разновидность диаграммы состояний, где все или большая часть состояний являются некоторыми деятельностями, а все или большая часть переходов срабатывают при завершении определенной деятельности и позволяют перейти к выполнению следующей.
Как мы уже говорили (повторение — мать учения), диаграмма деятельности может быть присоединена к любому элементу модели, имеющему динамическое поведение. Кстати, исходя из вышесказанного, логичнее говорить не » диаграмма деятельности», а » диаграмма деятельностей» — во множественном числе. А еще мы предполагаем, что читатель понимает смысл понятий » деятельность «, «переход» и » объект «. Об объектах как об экземплярах классов мы уже говорили ранее. Понятия же деятельности ( activity ) как протяженного во времени составного (неатомарного) вычисления (действия, action) и перехода как передачи контроля, надеемся, понятны интуитивно, без дополнительных объяснений.
Диаграммы деятельности позволяют моделировать сложный жизненный цикл объекта, с переходами из одного состояния (деятельности) в другое. Но этот вид диаграмм может быть использован и для описания динамики совокупности объектов. Они применимы и для детализации некоторой конкретной операции , причем, как мы увидим далее, предоставляют для этого больше возможностей, чем «классическая» блок-схема . Диаграммы деятельности описывают переход от одной деятельности к другой, в отличие от диаграмм взаимодействия, где акцент делается на переходах потока управления от объекта к объекту.
Как говорится, лучше один раз увидеть, чем сто раз услышать. Мы достаточно разрекламировали диаграммы деятельностей. Пора взглянуть на пример (рис. 4.1).
Рис. 4.1.
Эта диаграмма довольно точно описывает ежеутреннюю последовательность действий автора этих строк (до момента ухода на работу). Как видим, все очень просто и понятно. Действия показаны скругленными прямоугольниками, как в блок-схеме, — мы узнаем даже ромбик символа принятия решения с обозначениями условий возле переходов. Да, отличия от блок-схемы не так уж сильны.
Более того, эти отличия выглядят как логичное расширение нотации блок-схем. Обратим внимание на то, что начало и конец уже не изображаются одинаковым безликим кружком. Начало теперь закрашено, а конец изображен в виде символа, напоминающего кошачий глаз (рис. 4.2) (кстати, это образное название — «кошачий глаз» — уже намертво въелось в жаргон архитекторов и аналитиков).
Рис. 4.2.
Без пояснений понятен также смысл символа, предшествующего принятию душа и пению и следующего за ними — он означает распараллеливание , а затем опять слияние воедино ( синхронизацию ) потоков управления, т. е. операции «пение» и «душ» выполняются одновременно. Нотация проста: несколько потоков управления сливаются в один или один поток разделяется на несколько. Третьего не дано (рис. 4.3).
Рис. 4.3.
Конечно, это не единственные отличия диаграммы активностей от блок-схемы. На диаграмме деятельностей можно не только показать параллельно выполняемые действия, но и указать состояния объектов (так же, как и на представлениях конечных автоматов, о которых нам так много говорили в университетах), также есть возможность показывать распределение ролей и т. д. Вот еще пример, подтверждающий, что диаграмма активностей — это нечто большее, чем блок-схема (рис. 4.4).
Рис. 4.4.
Смысл диаграммы вполне понятен и без дополнительных объяснений. Как вы уже, конечно, догадались, на ней показана работа с веб-приложением, которое решает некую задачу в удаленной базе данных. Привлекает внимание странное расположение активностей на этой диаграмме: они как бы разбросаны по трем беговым дорожкам, каждая из которых соответствует поведению одного из трех объектов — клиента, веб-сервера и сервера баз данных. Благодаря этому легко определить, каким из объектов выполняется каждая из активностей, и неожиданно приходит понимание того, что «странность» этой диаграммы, оказывается, очень упрощает ее восприятие.
Аналогия с дорожками действительно очень удачна. Именно таково официальное название элемента нотации UML , позволяющего указать распределение ролей на диаграмме активностей. Только дорожки это не беговые, а плавательные — они так и называются: swimlanes . Более формально, дорожка — часть области диаграммы деятельности, на которой отображаются только те деятельности, за которые отвечает конкретный объект .
Рис. 4.5.
Предназначены они для разбиения диаграммы в соответствии с распределением ответственности за действия. Имя дорожки может означать роль или объект , которому она соответствует. При использовании дорожек нотация слегка изменяется. Вот как, к примеру, выглядит диаграмма из предыдущего примера, перерисованная с использованием дорожек (рис. 4.5).
Кстати, дорожки могут быть не только вертикальными, но и, если вам как автору так удобнее, горизонтальными. Изображаются горизонтальные дорожки аналогично — просто поверните «обычные» дорожки на 90 градусов против часовой стрелки!
Источник: intuit.ru
Какую особенность нотации диаграмм активностей активно используют для описания бизнес-процессов?
Какие конструкции чаще всего используют при моделировании операций с помощью диаграмм активностей?
Какие еще виды диаграмм, кроме диаграмм активностей, можно использовать для моделирования динамических аспектов систем?
Чем нотация диаграмм развертывания отличается от нотации других диаграмм UML?
В каких из описанных ситуаций уместно использование диаграмм активностей?
Какие элементы модели могут быть уточнены с помощью диаграмм активностей?
Какие из фрагментов диаграмм последовательностей НЕ противоречат нотации UML?
В чем отличие диаграмм деятельности от диаграмм взаимодействия?
Сколько конечных состояний может содержать диаграмма активностей?
Символ синхронизации используется на диаграмме активностей в случаях, когда .
Каким символом в диаграммах активностей изображается конструкция выбора?
Источник: bazaintuit.ru
Простое руководство по диаграммам активности UML
Диаграммы деятельности можно использовать на всех этапах разработки программного обеспечения и для различных целей. И поскольку они очень похожи на блок-схемы, они обычно более популярны, чем другие типы диаграмм UML.
В этом учебном пособии по диаграммам активности мы надеемся охватить все, что вам нужно знать о диаграммах активности, чтобы научиться и освоить их. Прокрутите вниз, чтобы найти;
- Что такое диаграмма активности?
- Диаграмма деятельности Символы
- Как нарисовать диаграмму деятельности
- Диаграмма деятельности Примеры
Что такое диаграмма активности?
Диаграмма активности UML позволяет более детально визуализировать конкретный случай использования. Это поведенческая диаграмма, которая иллюстрирует поток деятельности через систему.
Диаграммы активности UML также могут быть использованы для отображения потока событий в бизнес-процессе. Они могут быть использованы для изучения бизнес-процессов с целью определения их потока и требований.
Диаграмма деятельности Символы
В UML указан набор символов и правил для построения диаграмм активности. Ниже приведены часто используемые символы диаграммы деятельности с пояснениями.
Пуск/ начальный узел | Используется для представления отправной точки или начального состояния деятельности | |
![]() | Действие / Состояние действия | Используется для представления деятельности процесса |
![]() | Действие | Используется для представления исполняемых подрайонов деятельности |
![]() | Поток управления / Край | Используется для представления потока управления от одного действия к другому |
![]() | Поток объекта / края управления | Используется для отображения пути движения объектов по активности |
Конечный узел активности | Используется для обозначения конца всех контрольных потоков в рамках деятельности | |
Поток конечный узел | Используется для обозначения конца одного потока управления | |
Узел принятия решений | Используется для представления условной точки ответвления с одним входом и несколькими выходами | |
Узел слияния | Используется для представления слияния потоков. Он имеет несколько входов, но один выход. | |
Вилка | Используется для представления потока, который может разветвляться на два и более параллельных потока | |
Слияние | Используется для представления двух входов, которые объединяются в один выход | |
![]() | Отправка сигнала | Используется для представления действия по отправке сигнала на приемную деятельность |
![]() | Получение сигнала | Используется для обозначения того, что сигнал получен |
Примечание/комментарий | Используется для добавления соответствующих комментариев к элементам |
Активность Диаграммы с Swimlanes
В Диаграммы деятельности Swimlanes – также известные как разделы – используются для представления или группирования действий, выполняемых различными действующими лицами в одном потоке. Вот несколько советов, вы можете следовать при использовании Swimlanes.
- Добавить Swimlanes линейных процессов. Это позволяет легко читать.
- Не добавляйте более 5 Swimlanes.
- Расположить Swimlanes в логическом порядке.
Как нарисовать диаграмму деятельности
Схемы деятельности могут быть использованы для моделирования бизнес-требований, создания высокоуровневого представления о функциональных возможностях системы, анализа сценариев использования и для различных других целей. В каждом из этих случаев, вот как нарисовать диаграмму активности с самого начала.
Шаг 1: Определите шаги действия по сценарию использования
Здесь вам необходимо определить различные виды деятельности и действия, из которых состоит ваш бизнес-процесс или система.
Шаг 2: Определите участвующих субъектов
Если вы уже выяснили, кто эти актеры, то легче разобраться в каждом действии, за которое они отвечают.
Шаг 3: Найти поток среди мероприятий
Выяснить, в каком порядке обрабатываются действия. Отметьте условия, которые должны быть выполнены для выполнения определенных процессов, какие действия происходят одновременно, и нужно ли добавлять какие-то ветки на диаграмме. И вы должны завершить некоторые действия, прежде чем вы можете перейти к другим?
Шаг 4: Добавить Swimlanes
Вы уже выяснили, кто отвечает за каждое действие. Теперь пришло время, чтобы назначить им Swimlane и группу каждое действие они несут ответственность за под ними.
Нажмите здесь, чтобы начать рисовать диаграмму активности.
Диаграмма деятельности Примеры
Ниже приведены шаблоны диаграмм активности, которые можно мгновенно редактировать. Щелкните по изображению, чтобы открыть их в редакторе и внести изменения в режиме онлайн.
Диаграмма деятельности для входа в систему
Диаграмма деятельности для входа в систему (Нажмите на шаблон, чтобы отредактировать его в режиме онлайн)
Диаграмма деятельности для системы управления документами
Диаграмма деятельности для системы управления документами (щелкните по шаблону, чтобы отредактировать его в режиме онлайн)
Диаграмма активности для системы онлайн-покупок
Диаграмма активности для системы онлайн-покупок (Нажмите на шаблон, чтобы отредактировать в режиме онлайн)
Диаграмма деятельности для банкомата
Диаграмма деятельности для банкомата (Нажмите на шаблон, чтобы отредактировать в режиме онлайн)
Диаграмма деятельности для системы управления колледжа
Диаграмма деятельности для системы управления колледжа (Нажмите на шаблон, чтобы отредактировать в режиме онлайн)
Поделиться учебным пособием “Диаграмма деятельности”
Мы рассмотрели все, что вам нужно знать о диаграммах активности в этом учебном пособии. У тебя есть что добавить?
Если вы еще не видели, мы недавно опубликовали Простое руководство к диаграммам классов UML. Какие еще типы UML-схем вы хотите, чтобы мы охватили? Сообщите нам об этом в разделе комментариев ниже. И не забудьте поделиться с друзьями учебным пособием по диаграмме активности.
Источник: creately.com