42
классы.
Данный сценарий позволяет покупателю оформить заказ из корзины и
оплатить его с использованием банковской карты.
Давайте представим, как выполняется этот сценарий, еще раз.
Покупатель, находясь в своей покупательской корзине, приняв решение о
том, что он готов сделать заказ в магазине «Style», выбирает опцию
«Оформить заказ». Как реагирует система на действия покупателя?
Запускается сценарий
Оформление заказа.
Пользователь
должен на
специальной форме внести свои личные данные, подтвердить заказ или нет, и
в зависимости от этого произвести оплату, затем получить подтверждение
заказа. В системе появляется новый объект – заказ покупателя.
Выбор граничных классов.
По всей видимости, нам нужен будет хотя бы один граничный класс,
который осуществляет связь между действующим лицом
Покупатель
и
дополнительным
прецедентом
Оформить
заказ
.
Назовем
его
ОформлениеЗаказа (PlaceOrder).
Этот
класс
знает,
какие товары и в
каком количестве были в корзине покупателя, их нужно перенести в заказ.
Также этот класс может знать, пуста корзина покупателя или нет, и, если
пуста, то вывести об этом соответствующее сообщение. Для того, чтобы
сделать заказ, покупатель должен ввести свои личные данные, электронный
адрес, телефон и данные кредитной карты. Для этих целей мы введем еще
один
класс
ВводЛичныхДанных (EnterPersonalInformation)
. После того,
как выбраны товары и введена личная информация покупателя, остается
только проверить детали заказа и согласиться с ними или нет – для этого
действия введем класс
ПроверкаДеталейЗаказа (ConfirmOrder).
Наконец,
когда покупатель завершит оформление заказа, то на экране он видит номер
заказа и подтверждение заказа отправляется покупателю на электронный
адрес, для выполнения этих обязанностей создадим еще один граничный
класс
ПодтверждениеЗаказа (OrderConfirmation)
Выбор управляющих классов.
Создадим
один управляющий класс, который будет распределять
обязанности других классов и вызывать их операции при выполнении
данного
сценария.
Назовем
этот
управляющий
класс
МенеджерОформленияЗаказа (PlaceOrderManager).
Выбор классов-сущностей.
В сценарии
Оформление заказа
речь идет о покупателе, заказе и
товарах.
Создадим классы-сущности
Покупатель (Customer), Заказ
(Order),
Товар (Item).
Возможно, что в ходе дальнейшего проектирования какие-то новые
43
классы будут добавлены для этого сценария, а какие-то, напротив, из этой
диаграммы удалены.
Построим
диаграмму классов сценария
Оформление заказа
в
StarUML.
Создайте в пакете Logical View диаграмму классов описанным выше
способом. Переименуйте ClassDiagram1 в Place Order (Оформление Заказа).
Создадим новый класс
Покупатель
(Customer)
. Щелкните правой
кнопкой мыши по Logical View в навигаторе модели, в контекстном меню
выберите пункт Add (Добавить), затем выберите пунскт Class (Класс). Новый
класс будет создан и отобразится в навигаторе модели. На вкладке Properties
(Свойства) измените имя класса на
Покупатель (Customer).
Заметим, что
при таком способе создания класса, StarUML создает новое пространство
имен.
Если вы хотите создать класс, который носит такое же имя, как,
например, действующее лицо на диаграмме прецедентов, то для того, чтобы
StarUML «разрешил» использовать это имя еще раз, нужно создать класс
способом, описанным выше. Теперь перетащите этот класс из навигатора
модели на лист диаграммы Place Order (рис. 40).
Достарыңызбен бөлісу: