Главная Обратная связь Поможем написать вашу работу!

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Лабораторная работа 4. Диаграмма Состояний для класса Заказ



Постройте диаграммуСостояний для класса Заказ, показанную на рис. 5.

 

Рисунок 5 - Диаграмма состояний для класса Заказ

 

Этапы выполнения упражнения

Создание диаграммы

1. Найдитев браузере класс Заказ.

2. Щелкните на классе правой кнопкоймыши и в открывшемся меню укажите пункт New > Statechart Diagram (Создать диаграмму состояний).

Добавление начального и конечного состояний

1. Перетащите на диаграмму из броузера Start State (Начальное состояние)

2. Поместите это состояние на диаграмму.

3. Перетащите на диаграмму из броузера End State (Конечное состояние)

4. Поместите это состояние на диаграмму.

Добавление суперсостояния

1. Нажмите кнопку State (Состояние) панели инструментов Супер состояние объекта заказ, Инициализация, Выполнение заказа приостановлено .

2. Поместите эти состояния на диаграмму.

Добавление оставшихся состояний

1. На панели инструментов нажмите кнопку State (Состояние).

2.Поместите состояние на диаграмму.

3. Назовите состояние Отменен.

4. На панели инструментов нажмите кнопку State(Состояние).

5. Поместите состояние на диаграмму.

6. Назовите состояниеВыполнен.

7.На панели инструментов нажмите кнопку State(Состояние).

8.Поместите состояние на диаграмму внутрь суперсостояния.

9. Назовите состояниеИнициализация.

10. На панели инструментов нажмите кнопку State (Состояние).

11. Поместите состояние на диаграмму внутрь суперсостояния.

12. Назовите состояниеВыполнение заказа приостановлено.

Описание состояний

1.Дважды щелкните мышью на состоянии Инициализация.

2. Перейдите на вкладку Detail (Подробно).

3. Щелкните правойкнопкой мыши в окне Actions(Действия).

4. В открывшемся меню выберите пункт Insert(Вставить).

5. Дважды щелкните мышью на новом действии.

6. Назовите егоСохранить дату заказа.

7. Убедитесь, что указан пункт OnEntry (На входе). Дважды щелкнув на Entry в списке When можно выбрать Do (Выполнять между входом и выходом), On Exit (На выходе)



8. Повторив шаги 3—7, добавьте следующие действия:

-Собрать клиентскую информацию, в окне When укажите DO(Выполнять между входом и выходом)

Добавить к заказу новые позиции, укажитеDO

9. Нажмите два раза на ОК, чтобы закрыть спецификацию.

10. Дважды щелкните мышью на состоянии Отменен.

11. Повторив шаги 2—7, добавьте действия:

Сохранить дату отмены,укажите On Exit (На выходе)

12. Нажмите два раза на ОК, чтобы закрыть спецификацию.

13. Дважды щелкните мышью на состоянии Выполнен.

14. Повторив шаги 2—7, добавьте действие:

Выписать счет, укажитеOn Exit

15. Нажмите два раза на ОК, чтобы закрыть спецификацию.

Добавление переходов

 

1. Нажмите кнопку Transition(Переход) панели инструментов.

2. Щелкните мышью на начальном состоянии.

3. Проведите линию перехода к состояниюИнициализация.

4. Повторив шаги с первого по третий, создайте следующие переходы:

- От состояния Инициализация к состояниюВыполнение заказа приостановлено

- От состоянияВыполнение заказа приостановлено к состояниюВыполнен

- Отсуперсостояния к состояниюОтменен

- От состоянияОтменен кконечному состоянию

- От состоянияВыполнен кконечному состоянию

5. На панели инструментов нажмите кнопку Transition to Self (Переход к себе) Добавить к заказу новую позицию.

6. Щелкните мышью на состоянии Выполнение заказа приостановлено

Описание переходов

1. Дважды щелкнув мышью на переходеот состояния Инициализацияк состоянию Выполнение заказа приостановлено, откройте окно спецификации перехода.



2. В поле Event (Событие) введите фразуВыполнить заказ.

3. Щелкнув на кнопке ОК, закройте окно спецификации.

4. Повторив шаги с первого по третий, добавьте событиеОтменить заказ к переходу меж­ду суперсостоянием и состоянием Отменен.

5. Дважды щелкнув мышью на переходе от состояния Выполнение заказа приостановлено к со­стоянию Выполнен, откройте окно его спецификации.

6. В поле Event (Событие) введите фразуДобавить к заказу новую позицию.

7.Перейдите на вкладку Detail (Подробно).

8. В поле Guard Condition (Сторожевое Условие) введитеНе осталось незаполненных позиций.

9.Щелкнув на кнопке ОК, закройте окно спецификации.

10. Дважды щелкните мышью на рефлексивном переходе Добавить к заказу новую позицию (Transition to Self) состояния Выполне­ние заказа приостановлено.

11. В поле Event (Событие) введите фразуДобавить к заказу новую позицию.

12. Перейдите на вкладку Detail (Подробно).

13. В поле Guard Condition (Сторожевое Условие) введитеОстаются незаполненные позиции.

14. Щелкнув на кнопке ОК, закройте окно спецификации.

 

 


Лабораторная работа 5. Построение диаграммы Активности для варианта использования «Выполнить поставку Заказа».

Побеседовав с Павлом, Антон понял, что необходимо согласовать логику реализации еще одного варианта использования «Выполнить поставку заказа». Стало ясно, что здесь возможны несколько альтернативных потоков управления. Для таких ситуаций более удобно использовать не диаграммы взаимодействия, приспособленные для единственного потока, а диаграмму активности.

Описание варианта использования.

При оформлении заказа проверяют каждую содержащую­ся в нем позицию, чтобы убедиться в наличии соответствующих товаров на складе. После этого выписываются товары для реализации заказа. Во время выполнения этих процедур одновременно проверяется прохож­дение платежа. Если платеж прошел, и товары имеются на складе, то осуществляется их поставка. Если платеж прошел, но товары на складе отсутствуют, то заказ ставится в ожи­дание. Если платеж не прошел, то заказ аннулируется.




Просмотров 385

Эта страница нарушает авторские права




allrefrs.ru - 2021 год. Все права принадлежат их авторам!