20453

Диаграмма деятельности (activity diagram)

Доклад

Информатика, кибернетика и программирование

Для моделирования процесса выполнения операций в языке UML используются диаграммы деятельности. Каждое состояние на диаграмме деятельности соответствует выполнению некоторой элементарной операции а переход в следующее состояние выполняется только при завершении этой операции. Таким образом диаграммы деятельности можно считать частным случаем диаграмм состояний.

Русский

2013-07-25

136 KB

5 чел.

25 Диаграмма деятельности (activity diagram)

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

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

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

В контексте языка UML деятельность (activity) представляет собой совокупность отдельных вычислений, выполняемых автоматом, приводящих к некоторому результату или действию (action). На диаграмме деятельности отображается логика и последовательность переходов от одной деятельности к другой, а внимание аналитика фокусируется на результатах. Результат деятельности может привести к изменению состояния системы или возвращению некоторого значения.

Состояние действия

Состояние действия (action state) является специальным случаем состояния с некоторым входным действием и, по крайней мере, одним выходящим из состояния переходом. Этот переход неявно предполагает, что входное действие уже завершилось. Состояние действия не может иметь внутренних переходов, поскольку оно является элементарным. Обычное использование состояния действия заключается в моделировании одного шага выполнения алгоритма (процедуры) или потока управления.

Графически состояние действия изображается прямоугольником с закругленными углами (рис. 5). Внутри этого изображения записывается выражение действия (action-expression), которое должно быть уникальным в пределах одной диаграммы деятельности.

Рис. 5. Изображение состояния действия

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

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

Рис. 6. Изображение состояния под-деятельности

Каждая диаграмма деятельности должна иметь единственное начальное и единственное конечное состояния. Они имеют такие же обозначения, как и на диаграмме состояний. При этом каждая деятельность начинается в начальном состоянии и заканчивается в конечном состоянии. Саму диаграмму деятельности принято располагать таким образом, чтобы действия следовали сверху вниз. В этом случае начальное состояние будет изображаться в верхней части диаграммы, а конечное в нижней.

Переходы

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

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

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

Один из недостатков обычных блок-схем алгоритмов связан с проблемой изображения параллельных ветвей отдельных вычислений. Поскольку распараллеливание вычислений существенно повышает общее быстродействие программных систем, необходимы графические примитивы для представления параллельных процессов. В языке UML для этой цели используется специальный символ для разделения и слияния параллельных вычислений или потоков управления. Таким символом является прямая черточка. Как правило, такая черточка изображается отрезком горизонтальной линии, толщина которой несколько шире основных сплошных линий диаграммы деятельности. При этом разделение (concurrent fork) имеет один входящий переход и несколько выходящих, а слияние (concurrent join) имеет несколько входящих переходов и один выходящий.

Дорожки

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

Для моделирования этих особенностей в языке UML используется специальная конструкция, получившее название дорожки (swimlanes). Имеется в виду визуальная аналогия с плавательными дорожками в бассейне, если смотреть на соответствующую диаграмму. Все состояния действия на диаграмме деятельности делятся на отдельные группы, которые отделяются друг от друга вертикальными линиями. Две соседние линии образуют дорожку, а группа состояний между этими линиями выполняется отдельным подразделением (отделом, группой, отделением, филиалом) организации.

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

Объекты

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

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

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

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

 


 

А также другие работы, которые могут Вас заинтересовать

20393. Правовые основы деятельности акционерных обществ 2.27 MB
  За изданием Кодекса последовало принятие ряда федеральных законов которые развивали и детализировали положения Кодекса применительно к конкретным разновидностям юридических лиц: Об акционерных обществах О некоммерческих организациях Об обществах с ограниченной ответственностью и др. Федеральный закон Об акционерных обществах в значительной мере способствовал упорядочению деятельности акционерных обществ однако отдельные пробелы а также отсутствие детальной проработки ряда вопросов в Законе требовали дальнейшего совершенствования...
20394. Корпорации в России: Правовой статус и основы деятельности 2.91 MB
  2128 обществами Уст. Кашанина отмечала что если взять за основу характеристики форму имущественной обособленности организаций то оказывается что к числу корпораций относятся только те которые основаны на акционерном капитале и по своему правовому положению напоминают акционерные общества стран континентального права 30. Торговые корпорации Англии именуются компаниями company и подразделяются на публичные аналог открытого акционерного общества континентального права и частные аналог закрытого акционерного общества. Кашанина...
20395. Взрывчатка и наркотики: Особенности назначения экспертиз: Пособие для следователей и оперативных работников 370.5 KB
  В пособии изложены рекомендации по назначению экспертиз при расследовании фактов незаконного оборота наркотиков и взрывчатых веществ а также преступлений совершаемых путем взрыва. Наряду с этим дефицит знаний в этих областях ощущался и ощущается у работников правоохранительных органов столкнувшихся с тенденциями роста преступлений связанных с незаконным оборотом наркотиков и ВВ использованием взрыва в преступных целях. Научные работы экспертов этого института по методам экспертного исследования самодельных взрывных устройств СВУ...
20396. Меры пресечения в российском уголовном процессе 1.45 MB
  Меры пресечения в российском уголовном процессе. В издании рассматривaются цели виды основания и процессуальный порядок применения органами расследования прокурорами и судами мер пресечения. Особое внимание уделено наиболее строгой и ответственной мере пресечения заключению под стражу в том числе процессуальному механизму продления сроков содержания под стражей обжалованию и судебной проверке законности задержания ареста и продления сроков содержания под стражей Книга по курсу Уголовный процесс адресована студентам аспирантам...
20397. ТЕРРОРИЗМ: ПОНЯТИЕ, ОТВЕТСТВЕННОСТЬ, ПРЕДУПРЕЖДЕНИЕ 370.5 KB
  ПОНЯТИЕ ВИДЫ И ПРИЧИНЫ ТЕРРОРИЗМА 1. Понятие и сущность терроризма 2. Виды терроризма 3. Формы проявления терроризма 4.
20398. Ведение защиты в суде с участием присяжных заседателей 4 MB
  Во многих странах такая защита обеспечивается отменой смертной казни и функционированием наряду с обычными судами конвейерами через которые проходит основной поток стандартных оформительских дел судов присяжных рассчитанных на рассмотрение наиболее сложных и общественно значимых уголовных дел и правильное и справедливое их разрешение в нестандартных ситуациях. Как будет показано ниже процессуальная форма суда присяжных обеспечивает по таким делам более надежную защиту права на жизнь и других прав и свобод человека и гражданина от...
20399. Искусство защиты в суде присяжных 2.34 MB
  Искусство защиты в суде присяжных: Учеб. заведующий сектором НИИ проблем укрепления законности и правопорядка при Генеральной прокуратуре РФ; заслуженный юрист России доктор юридических наук Книга является своеобразной энциклопедией ведения искусной эффективной и надежной защиты в суде присяжных Рассматриваются социальная ценность духовный и правозащитный потенциал суда присяжных роль здравого смысла и совести как интеллектуальной и нравственной основы этой формы судопроизводства процессуальные тактические и психологические особенности...
20400. Проблемы борьбы с преступлениями в сфере безопасности дорожного движения: уголовно-правовые и криминологические аспекты 626.5 KB
  Мешалкин Проблемы борьбы с преступлениямив сфере безопасности дорожного движения:уголовноправовые и криминологические аспекты Монография Домодедово 2003 ББК 67. Проблемы борьбы с преступлениями в сфере безопасности дорожного движения: уголовноправовые и криминологические аспекты: Монография. В монографии освещаются уголовноправовые и криминологические проблемы борьбы с преступными нарушениями безопасности движения и эксплуатации транспортных средств на основе комплексного анализа сравнительноправового метода исследования....
20401. Оперативно-розыскная тактика и особенности легализации полученной информации в ходе предварительного следствия 362.5 KB
  ПОПОВ Оперативнорозыскная тактика и особенности легализации полученной информации в ходе предварительного следствия Учебнопрактическое пособие ББК 67. В учебнопрактическом пособии рассматриваются оперативнорозыскные мероприятия способы отображения полученной оперативнорозыскной информации в соответствующих документах. Основное внимание уделено технологии превращения оперативнорозыскной информации в криминалистически значимую являющуюся одним из источников доказательств по делу доступную для использования в ходе предварительного или...