Книга: Rational Rose 2000 и UML Визуальное моделирование
Диаграммы действий
Диаграммы действий
На данном этапе жизненного цикла также могут быть построены диаграммы действий (activity diagrams). Они отражают динамику проекта и представляют собой схемы потоков управления в системе от действия к действию, а также параллельные действия и альтернативные потоки.
В конкретной точке жизненного цикла диаграммы действий могут представлять потоки между функциями или внутри отдельной функции. На разных этапах жизненного цикла они создаются для отражения последовательности выполнения операции.
Диаграммы действий иллюстрируют действия, переходы между ними, элементы выбора и линии синхронизации. В языке UML действие изображается в виде прямоугольника с закругленными углами, переходы — в виде направленных стрелок, элементы выбора — в виде ромбов, линии синхронизации — в виде толстых горизонтальных или вертикальных линий (см. рис. 3.11).
Рис. 3.11. Нотация языка UML для элементов диаграммы действий
Диаграммы действий в программе Rational Rose создаются следующим образом:
1. Щелкните правой кнопкой мыши по разделу Use Case View (Представление прецедентов) в списке браузера.
2. В появившемся контекстно-зависимом меню выберите команду New => Activity Diagram (Создать => Диаграмма действий). В список будет добавлена новая диаграмма с именем New Diagram.
3. Введите название диаграммы.
4. Чтобы открыть диаграмму, дважды щелкните по ней мышью в браузере. Окно браузера с диаграммой действий изображено на рис. 3.12.
Рис. 3.12. Диаграмма действий в окне браузера
Действия
Действием называется исполнение определенного поведения в потоке управления системы (см. рис. 3.13).
Для создания действий в программе Rational Rose:
1. Щелкните по кнопке Activity (Действие) на панели инструментов.
2. Щелкните по диаграмме действий, чтобы поместить элемент, изображающий действие, на диаграмму.
3. Введите имя нового действия.
Рис. 3.13. Действия
Переходы
Переходы используются для изображения пути потока управления от действия к действию (см. рис. 3.14). Они обычно осуществляются по завершении очередного действия.
Чтобы получить переходы в программе Rational Rose:
1. Щелкните по кнопке State Transition (Переход) на панели инструментов.
2. Щелкните по начальному действию на диаграмме и переместите стрелку перехода на последующее действие.
Рис. 3.14. Переходы
Элементы выбора
При моделировании управляющих потоков системы часто требуется показать места их разделения на основе условного выбора. Переходы из элемента выбора содержат ограничительные условия, определяющие, какое направление перехода будет выбрано. Элементы выбора и условия позволяют задавать альтернативные пути потока управления.
Для создания элементов выбора в программе Rational Rose выполните следующие действия:
1. Щелкните по кнопке Decision (Элемент выбора) на панели инструментов.
2. Щелкните по диаграмме действий, чтобы поместить на нее элемент выбора.
3. Введите имя нового элемента.
4. Щелкните по кнопке State Transition на панели инструментов.
5. Щелкните по начальному действию на диаграмме и переместите стрелку перехода на элемент выбора.
Элемент выбора показан на рис. 3.15.
Последовательность создания условных переходов в программе Rational Rose:
1. Щелкните по кнопке State Transition на панели инструментов.
2. Щелкните по элементу выбора на диаграмме и переместите стрелку перехода на последующее действие.
3. Дважды щелкните по стрелке перехода, чтобы открыть диалоговое окно Specification (Параметры).
4. Щелкните по вкладке Detail (Подробно).
5. В поле ввода Guard Condition (Условие) введите условие перехода.
6. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно.
Указатель перехода с условием изображен на рис. 3.16.
Рис. 3.15. Элементы выбора на диаграмме действий
Рис. 3.16. Условные переходы
Чтобы получить прямолинейные линии переходов в программе Rational Rose:
1. Выберите линии переходов, которые вы хотите сделать прямолинейными (для выбора нескольких линий можно использовать клавишу Shift).
2. Выберите команду меню Format => Style => Rectilinear (Формат => Стиль => Прямолинейный).
3. Расположите линии нужным образом на диаграмме действий, перетаскивая их с помощью мыши.
Прямолинейные линии переходов показаны на рис. 3.17.
Рис. 3.17. Прямолинейные линии
Линии синхронизации
В потоке обычно существуют действия, выполняемые параллельно. Линия синхронизации (synchronization bar) позволяет указать на необходимость их одновременного выполнения, а также обеспечивает единое выполнение действий в потоке (то есть указывает на необходимость завершения определенных действий для перехода к следующему) — см. рис. 3.18. Таким образом, линии перехода могут иметь несколько входящих линий переходов и одну исходящую либо одну входящую и несколько исходящих.
Для создания линий синхронизации в программе Rational Rose:
1. Щелкните по кнопке Horizontal Synchronization (Горизонтальная линия синхронизации) или Vertical Synchronization (Вертикальная линия синхронизации) на панели инструментов.
2. Щелкните по диаграмме действий, чтобы поместить на нее линию синхронизации.
3. Щелкните по кнопке State Transition (Переход) на панели инструментов и добавьте необходимые входящие и исходящие линии переходов к линии синхронизации.
Линии синхронизации показаны на рис. 3.18.
Рис. 3.18. Линии синхронизации
Секции
Секции (swimlanes) делят диаграммы действий на несколько участков. Это нужно для того, чтобы показать, кто отвечает за выполнение действий на каждом участке.
Алгоритм создания секций в программе Rational Rose:
1. Щелкните по кнопке Swimlane (Секция) на панели инструментов.
2. Щелкните по диаграмме действий, чтобы создать на ней новую секцию с названием New Swimlane.
3. Дважды щелкните по названию новой секции, чтобы открыть диалоговое окно Specification (Параметры).
4. Введите нужное название секции в поле ввода Name (Название).
5. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно.
6. Для изменения размеров секции переместите ее границу с помощью мыши.
7. Переместите все необходимые действия и переходы на диаграмме в новую секцию, где сразу сможете их создавать.
Диаграмма действий с разделительными линиями показана на рис. 3.19.
Рис. 3.19. Секции
Начальное и конечное состояния
Для обозначения начального и конечного состояний в потоке управления системы используются специальные символы. Начальное состояние изображается в виде закрашенного круга, а конечное — в виде закрашенного круга, обведенного дополнительной окружностью. Обычно в потоке существуют одно начальное и несколько конечных состояний — для каждого альтернативного направления.
Последовательность создания начального и конечного состояний в программе Rational Rose:
1. Щелкните по кнопке Start State (Начальное состояние) или End State (Конечное состояние) на панели инструментов.
2. Щелкните по диаграмме действий, чтобы поместить на нее символ конечного или начального состояния.
3. Если вы добавили начальное состояние, щелкните по кнопке State Transition (Переход) на панели инструментов, а затем на символе начального состояния и выполните переход к первому действию в потоке.
4. Если вы добавили конечное состояние, щелкните по кнопке State Transition на панели инструментов, а затем на предшествующем действии и выполните переход к символу конечного состояния на диаграмме.
Диаграмма действий с начальным и конечным состояниями показана на рис. 3.20.
Рис. 3.20. Начальное и конечное состояния
- Диаграммы прецедентов
- Диаграммы последовательности действий
- Отмена ошибочных действий
- Диаграммы
- 5.5. Диаграммы взаимодействия
- 10.4.3. Диаграммы последовательности
- Диаграммы взаимодействий
- Инкапсуляция действий со ссылками
- Диаграммы последовательности действий и граничные классы
- Сложность и диаграммы последовательности действий