Добавление перехода и редактирование его свойств



Для добавления перехода между двумя состояниями нужно с помощью левой кнопки мыши нажать кнопку с изображением перехода на специальной панели инструментов, отпустить левую кнопку мыши, щелкнуть левой кнопкой мыши на изображении исходного состояния на диаграмме и отпустить ее на изображении целевого состояния. В результате этих действий на диаграмме появится изображение перехода, соединяющего два выбранных состояния. Продолжая разработку модели системы процесса Принять сумму оплаты, добавим на диаграмму состояний начальное состояние (Start State) и соединим его переходом с состоянием Ожидание карточки. Графическое отображение перехода изображено на рисунке 4.

Рисунок 4 - Отображение перехода

 

После добавления перехода на диаграмму, двойным щелчком по нему

можно открыть диалоговое окно его свойств и специфицировать дополнительные свойства, доступные на соответствующих вкладках. Следует обратить внимание на две первые строки вкладки Detail (Подробно), которые представляются наиболее важными из свойств перехода. Первое поле ввода Guard Condition служит для задания сторожевого условия, которое определяет правило срабатывания соответствующего перехода. Во втором поле ввода Action можно специфицировать действие, которое происходит при срабатывании перехода до того, как моделируемая система попадет в целевое состояние. Диалоговое окно свойств перехода приведено на рисунке 5.

Рисунок 5 - Диалоговое окно свойств перехода

Что бы назвать переход, щелкните два раза по нему и во вкладке General введите Отмена транзакции в поле Event.

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

Для завершения построения диаграммы состояний рассматриваемого примера следует описанным выше способом добавить оставшиеся состояния и переходы. С этой целью следует выполнить следующие действия:

1. Добавить состояния с именами: Ожидание ввода ПИН-кода, Проверка ПИН-кода, Ожидание выбора клиента, Обработка запроса на снятие наличных, Обработка запроса на получение справки, Выдача наличных, Печать, Возврат карточки, Завершение транзакции и финальное состояние.

2. Добавить переход: карточка вставлена, направленный от состояния Ожидание карточки к состоянию Ожидание ввода ПИН-кода.

3. Добавить переход: ПИН-код введен, направленный от состояния Ожидание ввода ПИН-кода к состоянию Проверка ПИН-кода.

4. Добавить переход: отмена транзакции, направленный от состояния Ожидание ввода ПИН-кода к состоянию Возврат карточки.

5. Добавить переход со сторожевым условием: [ПИН-код верный], направленный от состояния Проверка ПИН-кода к состоянию Ожидание выбора клиента.

6. Добавить переход со сторожевым условием: [ПИН-код неверный], направленный от состояния Проверка ПИН-кода к состоянию Ожидание ввода ПИН-кода.

7. Добавить переход: три неудачи с действием на переходе конфискация карточки, направленный от состояния Проверка ПИН-кода к состоянию Завершение транзакции. Для задания действия на данном переходе следует ввести текст конфискация карточки в поле ввода Action (Действие) на вкладке Detail (Подробно) окна спецификации свойств данного перехода (рис. 9.7).


Рис. 9.7. Диалоговое окно спецификации свойств перехода три неудачи при задании действия на переходе

Для продолжения построения диаграммы состояний следует выполнить следующие действия:

8. Добавить переход: выбор суммы со сторожевым условием: [сумма введена], направленный от состояния Ожидание выбора клиента к состоянию Обработка запроса на снятие наличных.

9. Добавить переход: выбор справки, направленный от состояния Ожидание выбора клиента к состоянию Обработка запроса на получение справки.

10. Добавить переход: отмена транзакции, направленный от состояния Ожидание выбора клиента к состоянию Возврат карточки.

11. Добавить переход со сторожевым условием: [кредит не превышен], направленный от состояния Обработка запроса на снятие наличных к состоянию Выдача наличных.

12. Добавить переход со сторожевым условием: [кредит превышен] с действием на переходе сообщение, направленный от состояния Обработка запроса на снятие наличных к состоянию Возврат карточки.

13. Добавить переход: наличные выданы со сторожевым условием: [выбрана печать чека], направленный от состояния Выдача наличных к состоянию Печать.

14. Добавить переход: наличные выданы со сторожевым условием: [печать чека не выбрана], направленный от состояния Выдача наличных к состоянию Возврат карточки.

15. Добавить переход: справка сформирована, направленный от состояния Обработка запроса на получение справки к состоянию Печать.

16. Добавить переход: печать закончена, направленный от состояния Печать к состоянию Возврат карточки.

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

18. Добавить переход: транзакция завершена, направленный от состояния Завершение транзакции к состоянию Ожидание карточки.

19. Добавить переход, направленный от состояния Ожидание карточки к финальному состоянию.

Диаграмма состояний для рассматриваемой модели банкомата будет иметь следующий вид (рис. 9.8).


Рис. 9.8. Окончательный вид диаграммы состояний для моделирования поведения банкомата

Следует заметить, что в разрабатываемой модели диаграмма состояний является единственной и описывает поведение системы управления банкоматом в целом. Главное достоинство данной диаграммы состояний - возможность моделировать условный характер реализации всех вариантов использования в форме изменения отдельных состояний разрабатываемой системы. В то же время в среде IBM Rational Rose 2003 данная диаграмма не является необходимой для генерации программного кода. Поэтому в случае дублирования информации, представленной на диаграммах кооперации и последовательности, разработку диаграммы состояний, особенно в условиях дефицита времени, отпущенного на выполнение проекта, иногда опускают.


Дата добавления: 2021-07-19; просмотров: 168; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!