ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.11.2023
Просмотров: 169
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
После добавления перехода можно открыть окно его свойств и специфицировать свойства (события, аргументы, сторожевое условие, действия и посылаемые события) на вкладках. Следующие поля вкладки Detail являются наиболее важными: поле Guard Condition служит для задания сторожевого условия, которое определяет правило срабатывания соответствующего перехода; поле Action служит для указания действия, которое происходит при срабатывании перехода до того, как система попадёт в целевое состояние.
При необходимости можно определить сообщение о событии, происходящем при срабатывании перехода, а также визуализировать вложенность состояний и подключить историю отдельных состояний.
Для добавления события на диаграмму, дважды щёлкнув мышью на переходе, откройте окно его спецификации, перейдите на вкладку General и введите событие в поле Event (Событие), аргументы – в поле Arguments (аргументы).
Отправить событие можно так: перейдите на вкладку Detail и введите событие в поле Send Event (отправляемое событие), аргументы – в поле Send Arguments (отправляемые аргументы) и укажите цель в поле Send Target (цель события).
Типовой пример
Для модели банкомата рассмотрим построение диаграммы состояний (рис.5.1), которое заключается в добавлении следующих состояний и переходов.
1. Начальное и конечное состояния, состояния: ‘Ожидание карточки’, ‘Ожидание ввода ПИН-кода’, ‘Проверка ПИН-кода’, ‘Ожидание выбора клиента’, ‘Обработка запроса на снятие наличных’, ‘Обработка запроса на получение справки’, ‘Выдача наличных’, ‘Печать’, ‘Возврат карточки’, ‘Завершение транзакции’.
2. Переходы:
1) переход – от начального состояния к состоянию ‘Ожидание карточки’;
2) ‘карточка вставлена’ – от ‘Ожидание карточки’ к ‘Ожидание ввода ПИН-кода’;
3) ‘ПИН-код введён’ – от ‘Ожидание ввода ПИН-кода’ к ‘Проверка ПИН-кода’;
4) ‘отмена транзакции’ – от ‘Ожидание ввода ПИН-кода’ к ‘Возврат карточки’;
5) переход со сторожевым условием: [ПИН-код верный] – от ‘Проверка ПИН-кода’ к ‘Ожидание выбора клиента’;
6) переход со сторожевым условием: [ПИН-код неверный] – от ‘Проверка ПИН-кода’ к ‘Ожидание ввода ПИН-кода’;
7) ‘три неудачи’ с действием на переходе ‘конфискация карточки’ от ‘Проверка ПИН-кода’ к ‘Завершение транзакции’. Для задания действия на переходе ввести текст ‘конфискация карточки’ в поле Action на вкладке Detail окна спецификации свойств перехода
;
8) ‘выбор суммы’ со сторожевым условием: [сумма введена] – от ‘Ожидание выбора клиента’ к ‘Обработка запроса на снятие наличных’;
9) ‘выбор справки’ от ‘Ожидание выбора клиента’ к ‘Обработка запроса на получение справки’;
10) ‘отмена транзакции’ от ‘Ожидание выбора клиента’ к ‘Возврат карточки’;
11) переход со сторожевым условием: [кредит не превышен] – от ‘Обработка запроса на снятие наличных’ к ‘Выдача наличных’;
12) переход со сторожевым условием: [кредит превышен] с действием на переходе ‘сообщение’ – от ‘Обработка запроса на снятие наличных’ к ‘Возврат карточки’;
13) ‘наличные выданы’ со сторожевым условием: [выбрана печать чека] – от ‘Выдача наличных’ к ‘Печать’;
14) переход ‘наличные выданы’ со сторожевым условием: [печать чека не выбрана] – от ‘Выдача наличных’ к ‘Возврат карточки’;
15) ‘справка сформирована’ от ‘Обработка запроса на получение справки’ к ‘Печать’;
16) ‘печать закончена’ от ‘Печать’ к ‘Возврат карточки’;
17) ‘карточка возвращена’ от ‘Возврат карточки’ к ‘Завершение транзакции’;
18) ‘транзакция завершена’ от ‘Завершение транзакции’ к ‘Ожидание карточки’;
19) переход – от состояния ‘Ожидание карточки’ к конечному состоянию.
Рис.5.1. Диаграмма состояний для моделирования поведения банкомата
В этой модели диаграмма состояний является единственной и описывает поведение системы управления банкоматом в целом. Главное достоинство этой диаграммы состояний – возможность моделировать условный характер реализации всех прецедентов в форме изменения отдельных состояний системы.
Диаграмма деятельности
Начать построение диаграммы деятельности для выбранного элемента модели или системы в целом можно одним из следующих способов:
1. Выделить логическое представление (Logical View) или представление прецедентов (Use Case View) в браузере и выполнить операцию контекстного меню New → Activity Diagram (Новая → Диаграмма деятельности).
2. Раскрыть логическое представление в браузере и выделить класс (операцию класса, пакет) или раскрыть представление прецедента и выбрать прецедент, после чего выполнить операцию контекстного меню New → Activity Diagram (Новая → Диаграмма деятельности).
3. Выполнить операцию меню Browse
→ State Machine Diagram (Обзор → Диаграмма переходов состояний) и выбрать представление и тип диаграммы.
При этом появляется новое окно с чистым рабочим листом диаграммы и специальная панель инструментов, содержащая кнопки с изображением графических элементов для разработки диаграммы деятельности (табл.5.2).
Таблица 5.2
Значок | Подсказка | Назначение кнопки |
| Selection Tool | Переключает в режим выделения элементов на диаграмме |
| Text Box | Добавляет на диаграмму текстовую область |
| Note | Добавляет на диаграмму примечание |
| Anchor Note to Item | Добавляет связь примечания с элементом диаграммы |
| State | Добавляет на диаграмму состояние |
| Activity | Добавляет на диаграмму деятельность |
| Start State | Добавляет на диаграмму начальное состояние |
| End State | Добавляет на диаграмму конечное состояние |
| State Transition | Добавляет на диаграмму переход |
| Transition to Self | Добавляет на диаграмму рефлексивный переход |
| Horizontal Synchronization | Добавляет горизонтальный символ синхронизации |
| Vertical Synchronization | Добавляет вертикальный символ синхронизации |
| Decision | Добавляет на диаграмму символ принятия решения |
| Swimlane | Добавляет на диаграмму дорожку |
| Object | Добавляет на диаграмму объект |
| Object Flow | Добавляет на диаграмму стрелку потока объектов |
| Business Activity | Добавляет на диаграмму бизнес-деятельность |
| Business Transaction | Добавляет на диаграмму бизнес-транзакцию |
Для добавления деятельности на диаграмму нужно с помощью левой кнопки мыши нажать кнопку со значком деятельности на специальной панели инструментов. Добавить деятельность на диаграмму можно и с помощью операции меню Tools → Create → Activity или с помощью операции контекстного меню New → Activity, предварительно выделив диаграмму деятельности в браузере.
После добавления деятельности можно открыть окно спецификации её свойств и определить свойства деятельности на вкладках.
Для деятельности доступны два стереотипа: Business Activity (Бизнес-деятельность) и Business Transaction (Бизнес-транзакция). На вкладке Transitions окна спецификации свойств деятельности можно определять и редактировать переходы, которые входят и выходят из деятельности. Вкладка Swimlanes служит для спецификации дорожки, на которую помещается деятельность.
Хотя RR позволяет определить свойства деятельности, доступные на вкладке Actions, следует помнить, что внутренние действия являются свойствами общего понятия состояния, а внутренняя деятельность служит именем собственно деятельности, помещаемой на диаграмму деятельности. Поэтому для деятельности во избежание недоразумений лучше оставить эту вкладку пустой.
Добавление перехода полностью аналогично диаграмме состояний.
При наличии в проекте законченной диаграммы состояний попытка добавить начальное состояние на диаграмму деятельности с помощью кнопки специальной панели инструментов окажется безуспешной. RR фиксирует наличие в модели начального состояния и не позволит добавить его на диаграммы переходов состояний. Решить эту проблему можно посредством перетаскивания с помощью мыши начального состояния из браузера на любую из требуемых диаграмм.
После добавления перехода становятся доступными для редактирования его свойства в специальном окне, которое можно открыть по двойному щелчку левой кнопкой мыши на изображении перехода.
При спецификации свойств переходов следует помнить, что все переходы на диаграмме деятельности являются нетриггерными, т.е. не имеют имён событий. Поэтому поле Event для всех переходов должно быть пустым. Но все переходы из символов ветвления (решения) должны иметь сторожевые условия, которые специфицируются на вкладке Detail окна спецификации свойств перехода.
Типовой пример
Для модели системы управления банкоматом диаграмма деятельности описывает последовательность действий клиента при пользовании банкоматом (рис.5.2). Для построения диаграммы необходимо добавить следующие деятельности, символы ветвления и переходы.
1. Деятельности: ‘Вставить карточку’, ‘Ввести ПИН-код’, ‘Выбрать тип транзакции’, ‘Ввести сумму’, ‘Получить справку о состоянии счёта’, ‘Получить наличные’, ‘Получить чек’, ‘Получить карточку’, начальное и конечное состояния.
2. Символы ветвления (решения) между деятельностями: ‘Ввести ПИН-код’ и ‘Выбрать тип транзакции’, ‘Выбрать тип транзакции’ и ‘Ввести сумму’, ‘Ввести сумму’ и ‘Получить справку о состоянии счёта’, ‘Получить наличные’ и ‘Получить чек’, ‘Получить чек’ и ‘Получить карточку’. Последний символ решения используется в качестве символа соединения.
3. Переходы:
1) переход – от деятельности ‘Ввести ПИН-код’ к символу решения;
2) переход со сторожевым условием [ПИН-код верный] – от символа решения к ‘Выбрать тип транзакции’;
3) переход со сторожевым условием [ПИН-код неверный] – от символа решения к символу соединения;
4) переход – от ‘Выбрать тип транзакции’ к символу решения;
5) переход со сторожевым условием [выбор снятия суммы] – от символа решения к ‘Ввести сумму’;
6) переход со сторожевым условием [выбор получения справки] – от символа решения к ‘Получить справку о состоянии счёта’;
7) переход – от ‘Ввести сумму’ к символу решения;
8) переход со сторожевым условием [сумма не превышает кредит] – от символа решения к ‘Получить наличные’;
Рис.5.2. Диаграмма деятельности для модели банкомата
9) переход со сторожевым условием [сумма превышает кредит] – от символа решения к символу соединения;
10) переход – от ‘Получить наличные’ к символу решения;
11) переход со сторожевым условием [выбрана печать чека] – от символа решения к ‘Получить чек’;
12) переход со сторожевым условием [печать чека не выбрана] – от символа решения к символу соединения;
13) переход – от ‘Получить чек’ к символу соединения;
14) переход – от ‘Получить справку о состоянии счёта’ к символу соединения;
15) переход – от символа соединения к ‘Получить карточку’;