SlideShare a Scribd company logo
1 of 25
Диаграмма 
деятельности 
(activity diagram)
В контексте языка UML деятельность (activity) 
представляет собой некоторую совокупность 
отдельных вычислений, выполняемых автоматом. 
При этом отдельные элементарные вычисления 
могут приводить к некоторому результату или 
действию (action). На диаграмме деятельности 
отображается логика или последовательность 
перехода от одной деятельности к другой, при этом 
внимание фиксируется на результате 
деятельности. Сам же результат может привести к 
изменению состояния системы или возвращению 
некоторого значения. Хотя диаграмма 
деятельности предназначена для моделирования 
поведения систем, время в явном виде отсутствует 
на этой диаграмме.
Состояние действия (action state) 
является специальным случаем состояния с 
некоторым входным действием и по крайней 
мере одним выходящим из состояния переходом. 
Этот переход неявно предполагает, что входное 
действие уже завершилось. Состояние действия 
не может иметь внутренних переходов, поскольку 
оно является элементарным. Обычное 
использование состояния действия заключается 
в моделировании одного шага выполнения 
алгоритма (процедуры) или потока управления.
Cостояние действия изображается фигурой, 
напоминающей прямоугольник, боковые 
стороны которого заменены выпуклыми 
дугами. Внутри этой фигуры записывается 
выражение действия (action-expression), 
которое должно быть уникальным в пределах 
одной диаграммы деятельности.
Рекомендуется в качестве имени простого 
действия использовать глагол с 
пояснительными словами. 
Для сложного действия, которое, в свою 
очередь, состоит из нескольких более 
простых действий можно использовать 
специальное обозначение так называемого 
состояния под-деятельности (subactivity state) 
(обозначается специальной пиктограммой в 
правом нижнем углу символа состояния 
действия)
Каждая диаграмма деятельности должна 
иметь единственное начальное и 
единственное конечное состояния. Они 
имеют такие же обозначения, как и на 
диаграмме состояний. При этом каждая 
деятельность начинается в начальном 
состоянии и заканчивается в конечном 
состоянии. Саму диаграмму деятельности 
принято располагать таким образом, чтобы 
действия следовали сверху вниз.
Если из состояния действия выходит 
единственный переход, то он может быть 
никак не помечен. Если же таких переходов 
несколько, то сработать может только один из 
них. Именно в этом случае для каждого из 
таких переходов должно быть явно записано 
сторожевое условие в прямых скобках. Такая 
ситуация получила название ветвления, а для 
ее обозначения применяется специальный 
символ. Графически ветвление на диаграмме 
деятельности обозначается небольшим 
ромбом, внутри которого нет никакого текста
Один из наиболее значимых недостатков 
обычных блок-схем или структурных схем 
алгоритмов связан с проблемой изображения 
параллельных ветвей отдельных вычислений. 
Поскольку распараллеливание вычислений 
существенно повышает общее быстродействие 
программных систем, необходимы графические 
примитивы для представления параллельных 
процессов. В языке UML для этой цели 
используется специальный символ жирной 
черточки для разделения и 
слияния параллельных 
вычислений или потоков 
управления.
Слияние напитков.
Дорожки 
Диаграммы деятельности могут быть использованы 
не только для спецификации алгоритмов вычислений 
или потоков управления в программных системах. Не 
менее важная область их применения связана с 
моделированием бизнес-процессов. Действительно, 
деятельность любой компании (фирмы) также 
представляет собой не что иное, как совокупность 
отдельных действий, направленных на достижение 
требуемого результата. Однако применительно к 
бизнес-процессам желательно выполнение каждого 
действия ассоциировать с конкретным 
подразделением компании. В этом случае 
подразделение несет ответственность за реализацию 
отдельных действий, а сам бизнес-процесс 
представляется в виде переходов действий из одного 
подразделения к другому.
Для моделирования этих особенностей в языке 
UML используется специальная конструкция, 
получившее название дорожки 
(swimlanes). Названия подразделений явно 
указываются в верхней части дорожки. 
Пересекать линию дорожки могут только 
переходы, которые в этом случае обозначают 
выход или вход потока управления в 
соответствующее подразделение компании. 
Порядок следования дорожек не несет 
какой-либо семантической информации и 
определяется соображениями удобства.
Объекты 
В общем случае действия на диаграмме 
деятельности выполняются над теми или иными 
объектами. Эти объекты либо инициируют 
выполнение действий, либо определяют 
некоторый результат этих действий. При этом 
действия специфицируют вызовы, которые 
передаются от одного объекта графа 
деятельности к другому. Для графического 
представления объектов используются 
прямоугольник класса, с тем отличием, что имя 
объекта подчеркивается. Далее после имени 
может указываться характеристика состояния 
объекта в прямых скобках.
Если объект расположен на границе двух 
дорожек, то это может означать, что переход к 
следующему состоянию действия в соседней 
дорожке ассоциирован с готовностью некоторого 
документа (объект в некотором состоянии). Если 
же объект целиком расположен внутри дорожки, 
то и состояние этого объекта целиком 
определяется действиями данной дорожки.
Cледует остановиться на необходимости 
синхронизации отдельных действий на диаграмме 
деятельности. Такая необходимость возникает 
всякий раз, когда параллельно выполняемые 
действия оказывают влияние на друг на друга. 
Применительно к диаграмме состояний для этой 
цели применялось специальное псевдосостояние 
- синхронизирующее состояние. На диаграмме 
деятельности никаких дополнительных 
обозначений не используется, поскольку 
синхронизация параллельных процессов может 
быть реализована с помощью переходов 
"разделение-слияние".
Советы 
Создавая в UML диаграммы деятельности, не забывайте, что 
они лишь моделируют срез некоторых динамических аспектов 
поведения системы. С помощью единственной диаграммы 
деятельности никогда не удастся охватить все динамические 
аспекты системы. Вместо этого следует использовать разные 
диаграммы деятельности для моделирования динамики 
рабочих процессов или отдельных операций. 
Хорошо структурированная диаграмма деятельности: 
сконцентрирована на описании одного аспекта 
динамики системы; 
содержит только те элементы, которые существенны 
для понимания этого аспекта; 
представляет лишь те детали, которые соответствуют 
своему уровню абстракции; не должно быть дополнений, 
которые не являются необходимыми для понимания; 
не настолько кратка, чтобы читатель упустил из виду 
важные аспекты семантики.
Рисуя диаграмму деятельности, необходимо 
руководствоваться следующими принципами: 
 дайте диаграмме имя, соответствующее ее 
назначению; 
 начинайте с моделирования главного потока. 
Ветвления, параллельность и траектории объектов 
являются второстепенными деталями, которые можно 
изобразить на отдельной диаграмме; 
 располагайте элементы так, чтобы число пересечений 
было минимальным; 
 используйте примечания и закраску, чтобы привлечь 
внимание к важным особенностям диаграммы.

More Related Content

What's hot

Component diagram
Component diagramComponent diagram
Component diagramaepetelin
 
Диаграммы композитной структуры, коммуникации и пакетов
Диаграммы композитной структуры, коммуникации и пакетовДиаграммы композитной структуры, коммуникации и пакетов
Диаграммы композитной структуры, коммуникации и пакетовDEVTYPE
 
5 1 диаграммы состояний
5 1 диаграммы состояний5 1 диаграммы состояний
5 1 диаграммы состоянийMaksim Nikitin
 
Введення Uml
Введення UmlВведення Uml
Введення Umlpogromskaya
 
Диаграмма компонентов
Диаграмма компонентовДиаграмма компонентов
Диаграмма компонентовDEVTYPE
 
tema1
tema1tema1
tema1comp
 
Алгоритмизация
АлгоритмизацияАлгоритмизация
АлгоритмизацияLebedeva_Zoya
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Javametaform
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Javametaform
 
Работа с БД в Java
Работа с БД в JavaРабота с БД в Java
Работа с БД в Javametaform
 
лекция 7
лекция 7лекция 7
лекция 7cezium
 
0042
00420042
0042JIuc
 
Шаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLШаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLSergey Nemchinsky
 
Архитектурный шаблон MVC
Архитектурный шаблон MVCАрхитектурный шаблон MVC
Архитектурный шаблон MVCUnguryan Vitaliy
 
Диаграмма развертывания
Диаграмма развертыванияДиаграмма развертывания
Диаграмма развертыванияDEVTYPE
 

What's hot (19)

Component diagram
Component diagramComponent diagram
Component diagram
 
UML Glossary
UML GlossaryUML Glossary
UML Glossary
 
Диаграммы композитной структуры, коммуникации и пакетов
Диаграммы композитной структуры, коммуникации и пакетовДиаграммы композитной структуры, коммуникации и пакетов
Диаграммы композитной структуры, коммуникации и пакетов
 
5 1 диаграммы состояний
5 1 диаграммы состояний5 1 диаграммы состояний
5 1 диаграммы состояний
 
Введення Uml
Введення UmlВведення Uml
Введення Uml
 
Prez
PrezPrez
Prez
 
Диаграмма компонентов
Диаграмма компонентовДиаграмма компонентов
Диаграмма компонентов
 
tema1
tema1tema1
tema1
 
Алгоритмизация
АлгоритмизацияАлгоритмизация
Алгоритмизация
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
 
Uml
UmlUml
Uml
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
 
Работа с БД в Java
Работа с БД в JavaРабота с БД в Java
Работа с БД в Java
 
Лекция 3. UML (dynamic logical model)
Лекция 3. UML (dynamic logical model)Лекция 3. UML (dynamic logical model)
Лекция 3. UML (dynamic logical model)
 
лекция 7
лекция 7лекция 7
лекция 7
 
0042
00420042
0042
 
Шаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLШаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UML
 
Архитектурный шаблон MVC
Архитектурный шаблон MVCАрхитектурный шаблон MVC
Архитектурный шаблон MVC
 
Диаграмма развертывания
Диаграмма развертыванияДиаграмма развертывания
Диаграмма развертывания
 

Similar to Activity diagram

диаграмма деятельности
диаграмма деятельностидиаграмма деятельности
диаграмма деятельностиViktoria Alhimenko
 
UML_Yznaika.com.pptx
UML_Yznaika.com.pptxUML_Yznaika.com.pptx
UML_Yznaika.com.pptxssuserd0eb401
 
Нотации оформления требований
Нотации оформления требованийНотации оформления требований
Нотации оформления требованийJaneKozmina
 
Разработка ПО с помощью UML
Разработка ПО с помощью UMLРазработка ПО с помощью UML
Разработка ПО с помощью UMLCUSTIS
 
Сетевое моделирование
Сетевое моделированиеСетевое моделирование
Сетевое моделированиеKaterinaMakarevich
 
принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)romachka_pole
 
принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)romachka_pole
 
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.Pavel Tsukanov
 
лекция 7
лекция 7лекция 7
лекция 7cezium
 
моделирование на языке Uml 2
моделирование на языке Uml 2моделирование на языке Uml 2
моделирование на языке Uml 2Elena Kasimova
 
язык Uml. диаграмма использования. (19)
язык Uml. диаграмма использования. (19)язык Uml. диаграмма использования. (19)
язык Uml. диаграмма использования. (19)romachka_pole
 
МАПО Лекция 14 UML Use Case
МАПО Лекция 14 UML Use CaseМАПО Лекция 14 UML Use Case
МАПО Лекция 14 UML Use CaseОлег Гудаев
 

Similar to Activity diagram (20)

диаграмма деятельности
диаграмма деятельностидиаграмма деятельности
диаграмма деятельности
 
UML: Statechart Diagram
UML: Statechart DiagramUML: Statechart Diagram
UML: Statechart Diagram
 
UML_Yznaika.com.pptx
UML_Yznaika.com.pptxUML_Yznaika.com.pptx
UML_Yznaika.com.pptx
 
Нотации оформления требований
Нотации оформления требованийНотации оформления требований
Нотации оформления требований
 
алгоритмы и их виды
алгоритмы и их видыалгоритмы и их виды
алгоритмы и их виды
 
алгоритмы и их виды
алгоритмы и их видыалгоритмы и их виды
алгоритмы и их виды
 
алгоритмы и их виды
алгоритмы и их видыалгоритмы и их виды
алгоритмы и их виды
 
Нотация UML / UML Notation
Нотация UML / UML NotationНотация UML / UML Notation
Нотация UML / UML Notation
 
Разработка ПО с помощью UML
Разработка ПО с помощью UMLРазработка ПО с помощью UML
Разработка ПО с помощью UML
 
п15 16
п15 16п15 16
п15 16
 
Сетевое моделирование
Сетевое моделированиеСетевое моделирование
Сетевое моделирование
 
Bpmn
BpmnBpmn
Bpmn
 
принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)
 
принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)
 
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
РАЗРАБОТКА ПО С ИСПОЛЬЗОВАНИЕМ FINITE STATE MACHINE.
 
лекция 7
лекция 7лекция 7
лекция 7
 
Babich Presentation
Babich PresentationBabich Presentation
Babich Presentation
 
моделирование на языке Uml 2
моделирование на языке Uml 2моделирование на языке Uml 2
моделирование на языке Uml 2
 
язык Uml. диаграмма использования. (19)
язык Uml. диаграмма использования. (19)язык Uml. диаграмма использования. (19)
язык Uml. диаграмма использования. (19)
 
МАПО Лекция 14 UML Use Case
МАПО Лекция 14 UML Use CaseМАПО Лекция 14 UML Use Case
МАПО Лекция 14 UML Use Case
 

More from aepetelin

защита информации 10
защита информации 10защита информации 10
защита информации 10aepetelin
 
защита информации 9
защита информации 9защита информации 9
защита информации 9aepetelin
 
информационная безопасность человека
информационная безопасность человекаинформационная безопасность человека
информационная безопасность человекаaepetelin
 
криптография
криптографиякриптография
криптографияaepetelin
 
защита информации 5
защита информации 5защита информации 5
защита информации 5aepetelin
 
защита информации 4
защита информации 4защита информации 4
защита информации 4aepetelin
 
защита информации 3
защита информации 3защита информации 3
защита информации 3aepetelin
 
защита информации 2
защита информации 2защита информации 2
защита информации 2aepetelin
 
защита информации 1
защита информации 1защита информации 1
защита информации 1aepetelin
 
Creating a word file by a template
Creating a word file by a templateCreating a word file by a template
Creating a word file by a templateaepetelin
 
Creating a word file
Creating a word fileCreating a word file
Creating a word fileaepetelin
 
Инсталляторы
ИнсталляторыИнсталляторы
Инсталляторыaepetelin
 
Create word template
Create word templateCreate word template
Create word templateaepetelin
 
Сreate word
Сreate wordСreate word
Сreate wordaepetelin
 
Deployment diagram
Deployment diagramDeployment diagram
Deployment diagramaepetelin
 

More from aepetelin (18)

защита информации 10
защита информации 10защита информации 10
защита информации 10
 
защита информации 9
защита информации 9защита информации 9
защита информации 9
 
информационная безопасность человека
информационная безопасность человекаинформационная безопасность человека
информационная безопасность человека
 
криптография
криптографиякриптография
криптография
 
защита информации 5
защита информации 5защита информации 5
защита информации 5
 
защита информации 4
защита информации 4защита информации 4
защита информации 4
 
защита информации 3
защита информации 3защита информации 3
защита информации 3
 
защита информации 2
защита информации 2защита информации 2
защита информации 2
 
защита информации 1
защита информации 1защита информации 1
защита информации 1
 
Installers
InstallersInstallers
Installers
 
Creating a word file by a template
Creating a word file by a templateCreating a word file by a template
Creating a word file by a template
 
06 still
06 still06 still
06 still
 
исиб
исибисиб
исиб
 
Creating a word file
Creating a word fileCreating a word file
Creating a word file
 
Инсталляторы
ИнсталляторыИнсталляторы
Инсталляторы
 
Create word template
Create word templateCreate word template
Create word template
 
Сreate word
Сreate wordСreate word
Сreate word
 
Deployment diagram
Deployment diagramDeployment diagram
Deployment diagram
 

Activity diagram

  • 2.
  • 3. В контексте языка UML деятельность (activity) представляет собой некоторую совокупность отдельных вычислений, выполняемых автоматом. При этом отдельные элементарные вычисления могут приводить к некоторому результату или действию (action). На диаграмме деятельности отображается логика или последовательность перехода от одной деятельности к другой, при этом внимание фиксируется на результате деятельности. Сам же результат может привести к изменению состояния системы или возвращению некоторого значения. Хотя диаграмма деятельности предназначена для моделирования поведения систем, время в явном виде отсутствует на этой диаграмме.
  • 4. Состояние действия (action state) является специальным случаем состояния с некоторым входным действием и по крайней мере одним выходящим из состояния переходом. Этот переход неявно предполагает, что входное действие уже завершилось. Состояние действия не может иметь внутренних переходов, поскольку оно является элементарным. Обычное использование состояния действия заключается в моделировании одного шага выполнения алгоритма (процедуры) или потока управления.
  • 5. Cостояние действия изображается фигурой, напоминающей прямоугольник, боковые стороны которого заменены выпуклыми дугами. Внутри этой фигуры записывается выражение действия (action-expression), которое должно быть уникальным в пределах одной диаграммы деятельности.
  • 6. Рекомендуется в качестве имени простого действия использовать глагол с пояснительными словами. Для сложного действия, которое, в свою очередь, состоит из нескольких более простых действий можно использовать специальное обозначение так называемого состояния под-деятельности (subactivity state) (обозначается специальной пиктограммой в правом нижнем углу символа состояния действия)
  • 7. Каждая диаграмма деятельности должна иметь единственное начальное и единственное конечное состояния. Они имеют такие же обозначения, как и на диаграмме состояний. При этом каждая деятельность начинается в начальном состоянии и заканчивается в конечном состоянии. Саму диаграмму деятельности принято располагать таким образом, чтобы действия следовали сверху вниз.
  • 8. Если из состояния действия выходит единственный переход, то он может быть никак не помечен. Если же таких переходов несколько, то сработать может только один из них. Именно в этом случае для каждого из таких переходов должно быть явно записано сторожевое условие в прямых скобках. Такая ситуация получила название ветвления, а для ее обозначения применяется специальный символ. Графически ветвление на диаграмме деятельности обозначается небольшим ромбом, внутри которого нет никакого текста
  • 9.
  • 10.
  • 11.
  • 12. Один из наиболее значимых недостатков обычных блок-схем или структурных схем алгоритмов связан с проблемой изображения параллельных ветвей отдельных вычислений. Поскольку распараллеливание вычислений существенно повышает общее быстродействие программных систем, необходимы графические примитивы для представления параллельных процессов. В языке UML для этой цели используется специальный символ жирной черточки для разделения и слияния параллельных вычислений или потоков управления.
  • 13.
  • 15. Дорожки Диаграммы деятельности могут быть использованы не только для спецификации алгоритмов вычислений или потоков управления в программных системах. Не менее важная область их применения связана с моделированием бизнес-процессов. Действительно, деятельность любой компании (фирмы) также представляет собой не что иное, как совокупность отдельных действий, направленных на достижение требуемого результата. Однако применительно к бизнес-процессам желательно выполнение каждого действия ассоциировать с конкретным подразделением компании. В этом случае подразделение несет ответственность за реализацию отдельных действий, а сам бизнес-процесс представляется в виде переходов действий из одного подразделения к другому.
  • 16. Для моделирования этих особенностей в языке UML используется специальная конструкция, получившее название дорожки (swimlanes). Названия подразделений явно указываются в верхней части дорожки. Пересекать линию дорожки могут только переходы, которые в этом случае обозначают выход или вход потока управления в соответствующее подразделение компании. Порядок следования дорожек не несет какой-либо семантической информации и определяется соображениями удобства.
  • 17.
  • 18.
  • 19. Объекты В общем случае действия на диаграмме деятельности выполняются над теми или иными объектами. Эти объекты либо инициируют выполнение действий, либо определяют некоторый результат этих действий. При этом действия специфицируют вызовы, которые передаются от одного объекта графа деятельности к другому. Для графического представления объектов используются прямоугольник класса, с тем отличием, что имя объекта подчеркивается. Далее после имени может указываться характеристика состояния объекта в прямых скобках.
  • 20. Если объект расположен на границе двух дорожек, то это может означать, что переход к следующему состоянию действия в соседней дорожке ассоциирован с готовностью некоторого документа (объект в некотором состоянии). Если же объект целиком расположен внутри дорожки, то и состояние этого объекта целиком определяется действиями данной дорожки.
  • 21.
  • 22. Cледует остановиться на необходимости синхронизации отдельных действий на диаграмме деятельности. Такая необходимость возникает всякий раз, когда параллельно выполняемые действия оказывают влияние на друг на друга. Применительно к диаграмме состояний для этой цели применялось специальное псевдосостояние - синхронизирующее состояние. На диаграмме деятельности никаких дополнительных обозначений не используется, поскольку синхронизация параллельных процессов может быть реализована с помощью переходов "разделение-слияние".
  • 23.
  • 24. Советы Создавая в UML диаграммы деятельности, не забывайте, что они лишь моделируют срез некоторых динамических аспектов поведения системы. С помощью единственной диаграммы деятельности никогда не удастся охватить все динамические аспекты системы. Вместо этого следует использовать разные диаграммы деятельности для моделирования динамики рабочих процессов или отдельных операций. Хорошо структурированная диаграмма деятельности: сконцентрирована на описании одного аспекта динамики системы; содержит только те элементы, которые существенны для понимания этого аспекта; представляет лишь те детали, которые соответствуют своему уровню абстракции; не должно быть дополнений, которые не являются необходимыми для понимания; не настолько кратка, чтобы читатель упустил из виду важные аспекты семантики.
  • 25. Рисуя диаграмму деятельности, необходимо руководствоваться следующими принципами:  дайте диаграмме имя, соответствующее ее назначению;  начинайте с моделирования главного потока. Ветвления, параллельность и траектории объектов являются второстепенными деталями, которые можно изобразить на отдельной диаграмме;  располагайте элементы так, чтобы число пересечений было минимальным;  используйте примечания и закраску, чтобы привлечь внимание к важным особенностям диаграммы.