Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Введение в ПИ / ЛК 3.5 UML-Диаграмма деятельности.ppt
Скачиваний:
47
Добавлен:
26.02.2016
Размер:
380.42 Кб
Скачать

Курганский государственный университет Кафедра программного обеспечения

автоматизированных систем

К У Р С Л Е К Ц И Й

по дисциплине

ВВЕДЕНИЕ В ПРОГРАММНУЮ ИНЖЕНЕРИЮ

для студентов направления 231000.62

«Программная инженерия»

Лекция 3.5. Моделирование поведения программной системы.

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

(Activity Diagram)

1

План лекции

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

2.Переход

3.Управление ветвлением

4.Управление параллелизмом

5.Моделирование бизнес-процессов

6.Синхронизация

7.Контрольное задание

2

Введение

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

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

состояний в другие.

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

Основное назначение диаграмм деятельности - визуализация алгоритмов реализации операций классов. При этом каждое состояние может связываться с выполнением операции некоторого класса.

Диаграмма деятельности может разрабатываться для целой подсистемы, для отдельного варианта использования, отдельного класса или отдельной операции класса, а также для наглядного представления бизнес-процессов, позволяя специфицировать деятельность подразделений компаний.

3

Основные компоненты диаграммы деятельности

Деятельность (activity) представляет собой совокупность действий (actions), каждое из которых может приводить к некоторому результату.

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

Диаграмма деятельности представляется в форме графа деятельности, вершинами которого являются состояния действия (action states), а дугами – переходы (transitions) от одного состояния действия к другому.

4

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

Состояние действия (action state) используется для моделирования одного

элементарного шага выполнения алгоритма (процедуры) или потока управления и характеризуется одним входным действием и, по крайней мере, одним выходящим из состояния переходом.

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

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

Выражение действия может быть записано на естественном языке, языке программирования или псевдокоде. Рекомендуется в качестве имени простого действия использовать глагол с пояснительными словами (а).

Если же действие может быть представлено в некотором формальном виде, то целесообразно записать его на том языке программирования, на котором предполагается реализовывать конкретный проект (б).

5

Состояния под-деятельности

(subactivity state)

Когда возникает необходимость представить на диаграмме деятельности

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

(subactivity state).

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

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

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

6

Переход

Переход (transition) представляет собой отношение между двумя последовательными состояниями, которое указывает на факт смены одного состояния другим.

Пребывание моделируемого объекта в некотором ("исходном") состоянии сопровождается выполнением

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

При построении диаграммы деятельности используются только нетриггерные переходы, т. е. такие, которые не

управляются событиями, а срабатывают сразу после выполнения соответствующего действия в исходном состоянии.

7

Управление ветвлением

Переход изображается на диаграмме сплошной линией со стрелкой, соединяющей исходное и целевое состояния и направленной в целевое состояние.

Исходное состояние может иметь один или несколько альтернативных переходов: если переход всего один, то его линия на диаграмме никак не помечается, а если переходов несколько, то каждый из них должен быть

"помечен" строкой текста, заключенной в прямые скобки – так называемым сторожевым условием (guard condition), представляющим

собой любое корректное логическое выражение.

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

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

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

Стрелки,

направленные

в

целевые

состояния

помечаются

соответствующими сторожевыми условиями.

 

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

8

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

9

Управление параллелизмом

Один из существенных недостатков обычных блок-схем алгоритмов связан

с проблемой изображения параллельных ветвей алгоритмов.

Вязыке UML для этой цели используется специальный символ для обозначения переходов-разделений и переходов-слияний: прямая утолщенная черта, соединяющая входящие и выходящие линии

переходов.

Не следует путать переходы-разделения (а) с рассмотренными выше ветвлениями, реализующими переходы к альтернативным (то есть взаимно исключающим) целевым состояниям.

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

Для перехода-слияния (б) выходящий переход сработает только при срабатывании всех без исключения входящих в него переходов.

10