Терри Кватрани - Rational Rose 2000 и UML Визуальное моделирование
Между актером и прецедентом может существовать ассоциативное отношение. Такой тип связи часто называют коммуникативной ассоциацией (communicate association), потому что она отражает связь между актером и прецедентом.
Ассоциативная связь может быть либо двухсторонней (от актера к прецеденту и от прецедента к актеру), либо односторонней (от актера к прецеденту или от прецедента к актеру). Направление связи показывает, кто является ее инициатором (актер или прецедент). Такой тип отношений изображается в виде линии, соединяющей взаимодействующие элементы. Направление связи обозначается стрелками на линии связи.
Существует два типа отношений между прецедентами: включает и дополняет. Различные прецеденты могут иметь одинаково функционирующие фрагменты. Их обычно помещают в отдельный прецедент, чтобы не повторять несколько раз. Отношение включает (include relationship) создается, когда один из прецедентов использует другой. Например, каждый прецедент в системе регистрации учебных курсов начинается с аутентификации пользователя. Такие действия можно объединить в один прецедент, который будет применяться другими пользователями.
Отношение включает изображается как отношение зависимости, которое направлено от базового прецедента к используемому. (В программе Rational Rose 2000 вместо отношения зависимости необходимо использовать однонаправленную ассоциативную связь.)
Отношение дополняет (extend relationship) применяется для отражения:
□ дополнительных режимов;
□ режимов, которые запускаются только при определенных условиях, например сигнала тревоги;
□ альтернативных потоков, которые запускаются по выбору актера.
Например, прецедент, контролирующий движение коробок на конвейере, может быть дополнен прецедентом сигнала тревоги при возникновении затора. Для системы регистрации курсов пока нельзя выделить каких-либо дополнительных прецедентов. Отношение дополняет изображается как отношение зависимости, которое направлено от дополнительного прецедента к базовому. (В программе Rational Rose 2000 необходимо использовать однонаправленную ассоциативную связь вместо отношения зависимости.)
В языке UML существует понятие стереотипа (stereotype), с помощью которого создаются новые элементы модели путем расширения функциональности базовых элементов. Таким образом, это понятие позволяет языку UML иметь минимальный набор символов, которые могут быть при необходимости дополнены для создания связующих элементов в разрабатываемой системе. Имя стереотипа заключается в двойные треугольные скобки и помещается рядом с линией связи. Стереотипы используются для создания нужных отношений между прецедентами. Стереотип <<communicate>> может добавляться к ассоциации, чтобы показать, что это коммуникативная ассоциация. Но в этом нет необходимости, поскольку ассоциация — это единственный допустимый тип связи между актером и прецедентом. Отношения включает и дополняет должны использовать стереотипы, потому что они отображаются как отношение зависимости.
Пример отношений прецедентов показан на рис. 3.8.
Рис. 3.8. Отношения прецедентов
Диаграммы прецедентовДиаграмма прецедентов (use case diagram) — это графическое представление всех или части актеров, прецедентов и их взаимодействий в системе. В каждой системе обычно есть главная диаграмма прецедентов, которая отображает границы системы (актеров) и основное функциональное поведение системы (прецеденты). Другие диаграммы прецедентов могут создаваться при необходимости. Приведу некоторые примеры:
□ диаграмма, показывающая все прецеденты для определенного актера;
□ диаграмма, показывающая все прецеденты, реализованные на данной итерации;
□ диаграмма, показывающая определенный прецедент и все его отношения. Для создания главной диаграммы прецедентов в программе Rational Rose:
1. Дважды щелкните по пункту Main (Главная диаграмма) в разделе Use Case View (Представление прецедентов) в списке браузера, чтобы открыть диаграмму.
2. В списке браузера выберите актера и перетащите его на диаграмму с помощью мыши.
3. Аналогичным образом поместите на диаграмму других нужных актеров.
4. В списке браузера выберите прецедент и перетащите его на диаграмму с помощью мыши.
5. Аналогичным образом поместите на диаграмму другие требуемые прецеденты.
Актеры и прецедент могут быть получены прямо на диаграмме с использованием панели инструментов.
Чтобы создать коммуникативные ассоциации в программе Rational Rose:
1. На панели инструментов щелкните по кнопке Association (Ассоциативная связь) или по кнопке Unidirectional Association (Однонаправленная ассоциативная связь). Если нужная кнопка отсутствует, щелкните правой кнопкой мыши на панели инструментов, в появившемся контекстно-зависимом меню выберите команду Customize (Настройка), чтобы добавить кнопку.
2. Щелкните по актеру — инициатору связи — и перетащите возникшую линию связи на нужный прецедент.
Если нужно добавить стереотип, сделайте следующее:
1. Дважды щелкните по линии связи, чтобы открыть диалоговое окно Specification (Параметры).
2. В открывающемся списке Stereotype (Стереотип) выберите значение communicate.
3. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно.
4. Аналогичным образом добавьте стереотип к другим связям.
Для создания отношения включает в программе Rational Rose нужно:
1. На панели инструментов щелкнуть по кнопке Unidirectional Association.
2. Щелкнуть по использующему прецеденту и перетащить возникшую линию связи на используемый.
3. Дважды щелкнуть по линии связи, чтобы открыть диалоговое окно Specification.
4. В открывающемся списке Stereotype выбрать значение include.
5. Щелкнуть по кнопке ОК, чтобы закрыть диалоговое окно.
Создание отношения дополняет в программе Rational Rose предусматривает выполнение следующих действий:
1. На панели инструментов щелкните по кнопке Unidirectional Association.
2. Щелкните по прецеденту с дополнительными возможностями и перетащите возникшую линию связи на базовый.
3. Дважды щелкните по линии связи, чтобы открыть диалоговое окно Specification.
4. В открывающемся списке Stereotype выберите значение extend.
6. Щелкните по кнопке ОК, чтобы закрыть диалоговое окно Specification.
Главная диаграмма прецедентов для системы регистрации учебных курсов показана на рис. 3.9.
Рис. 3.9. Главная диаграмма прецедентов
Порядок создания дополнительной диаграммы прецедентов в программе Rational Rose:
1. Щелкните правой кнопкой мыши по разделу Use Case View (Представление прецедентов) в списке браузера.
2. В появившемся контекстно-зависимом меню выберите команду New => Use Case Diagram (Создать => Диаграмма прецедентов).
3. Введите название диаграммы.
4. Откройте диаграмму и поместите на нее необходимых актеров, прецеденты и связи.
Дополнительная диаграмма прецедентов показана на рис. 3.10.
Рис. 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.