Упражнение 6 . Создание диаграммы состояний
В этом упражнении будет создана диаграмма Состояний для класса Order.
Создание диаграммы Состояний
Разработайте диаграмму Состояний для класса Order, показанную на рисунке 12.
Рис. 12. Диаграмма Состояний для класса Order.
Этапы выполнения упражнения
Создание диаграммы
• Найдите в броузере класс Order.
• Щелкните на классе правой кнопкой мыши и в открывшемся меню укажите пункт Open State Diagram.
Добавление начального и конечного состояний
• На панели инструментов нажмите кнопку Start State (Начальное состояние).
• Поместите это состояние на диаграмму.
• На панели инструментов нажмите кнопку End State (Конечное состояние).
• Поместите это состояние на диаграмму.
Добавление суперсостояния
• На панели инструментов нажмите кнопку State (Состояние).
• Поместите это состояние на диаграмму.
Добавление оставшихся состояний
• На панели инструментов нажмите кнопку State (Состояние).
• Поместите это состояние на диаграмму.
• Назовите состояние Cancelled (Отменен).
• На панели инструментов нажмите кнопку State (Состояние).
• Поместите это состояние на диаграмму.
• Назовите состояние Filled (Выполнен).
• На панели инструментов нажмите кнопку State (Состояние).
• Поместите это состояние на диаграмму внутрь суперсостояния.
• Назовите состояние Initialization (Инициализация).
• На панели инструментов нажмите кнопку State (Состояние).
• Поместите это состояние на диаграмму внутрь суперсостояния.
• Назовите состояние Pending (Выполнение заказа приостановлено).
Подробное описание состояний
• Дважды щелкните на состоянии Initialization (Инициализация).
• Щелкните правой кнопкой мыши на окне Actions (Действия).
• В открывшемся меню выберите пункт Insert (Вставить).
• Дважды щелкните мышью на новом действии.
• Назовите его Store Order Date (Сохранить дату заказа).
• Убедитесь, что в окне When (Когда) указан пункт On Entry (На входе).
• Повторите этапы 3 - 7, добавив следующие действия:
# Collect Customer Info (Собрать клиентскую информацию), в окне When указать пункт Do
# Add Order Items (Добавить к заказу новые графы), в окне When указать Do
• Нажмите на кнопки ОК два раза, чтобы закрыть спецификацию.
• Дважды щелкните на состоянии Cancelled (Отменен).
• Повторите этапы 2 - 7, добавив действие Store Cancellation Data (Сохранить дату отмены), указать пункт On Exit (на выходе)
• Нажмите на кнопки ОК два раза, чтобы закрыть спецификацию.
• Дважды щелкните на состоянии Filled (Выполнен).
• Повторите этапы 2 - 7, добавив действие Bill Customer (Выписать счет), указать пункт Do .
• Нажмите на кнопки ОК два раза, чтобы закрыть спецификацию.
Добавление переходов
• На панели инструментов нажмите кнопку Transition (Переход).
• Щелкните мышью на начальном состоянии.
• Проведите линию перехода к состоянию Initialization (Инициализация).
• Повторите этапы с первого по третий, создав следующие переходы:
# От состояния Initialization (Инициализация) к состоянию Pending (Выполнение заказа приостановлено)
# От состояния Pending (Выполнение заказа приостановлено) к состоянию Filled (Выполнен)
# От суперсостояния к состоянию Cancelled (Отменен)
# От состояния Cancelled (Отменен) к конечному состоянию
# От состояния Filled (Выполнен) к конечному состоянию
• На панели инструментов нажмите кнопку Transition to Self (Переход к себе).
• Щелкните на состоянии Pending (Выполнение заказа приостановлено).