Рис. 9.7. Диалоговое окно спецификации свойств перехода три неудачи при задании действия на переходе
Для продолжения построения диаграммы состояний следует выполнить следующие действия:
8. Добавить переход: выбор суммы со сторожевым условием: [сумма введена], направленный от состояния Ожидание выбора клиента к состоянию Обработка запроса на снятие наличных.
9. Добавить переход: выбор справки, направленный от состояния Ожидание выбора клиента к состоянию Обработка запроса на получение справки.
10. Добавить переход: отмена транзакции, направленный от состояния Ожидание выбора клиента к состоянию Возврат карточки.
11. Добавить переход со сторожевым условием: [кредит не превышен], направленный от состояния Обработка запроса на снятие наличных к состоянию Выдача наличных.
12. Добавить переход со сторожевым условием: [кредит превышен] с действием на переходе сообщение, направленный от состояния Обработка запроса на снятие наличных к состоянию Возврат карточки.
13. Добавить переход: наличные выданы со сторожевым условием: [выбрана печать чека], направленный от состояния Выдача наличных к состоянию Печать.
14. Добавить переход: наличные выданы со сторожевым условием: [печать чека не выбрана], направленный от состояния Выдача наличных к состоянию Возврат карточки.
15. Добавить переход: справка сформирована, направленный от состояния Обработка запроса на получение справки к состоянию Печать.
16. Добавить переход: печать закончена, направленный от состояния Печать к состоянию Возврат карточки.
17. Добавить переход: карточка возвращена, направленный от состояния Возврат карточки к состоянию Завершение транзакции.
18. Добавить переход: транзакция завершена, направленный от состояния Завершение транзакции к состоянию Ожидание карточки.
19. Добавить переход, направленный от состояния Ожидание карточки к финальному состоянию.
Диаграмма состояний для рассматриваемой модели банкомата будет иметь следующий вид (рис. 9.8).
Рис. 9.8. Окончательный вид диаграммы состояний для моделирования поведения банкомата
Следует заметить, что в разрабатываемой модели диаграмма состояний является единственной и описывает поведение системы управления банкоматом в целом. Главное достоинство данной диаграммы состояний - возможность моделировать условный характер реализации всех вариантов использования в форме изменения отдельных состояний разрабатываемой системы. В то же время в среде IBM Rational Rose 2003 данная диаграмма не является необходимой для генерации программного кода. Поэтому в случае дублирования информации, представленной на диаграммах кооперации и последовательности, разработку диаграммы состояний, особенно в условиях дефицита времени, отпущенного на выполнение проекта, иногда опускают.