Выбрать главу

Рис. 3.10. Дополнительная диаграмма прецедентов

Диаграммы действий

На данном этапе жизненного цикла также могут быть построены диаграммы действий (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 (Формат => Стиль => Прямолинейный).

полную версию книги