Новые понятия итерации 2
Exchange Items – Обмен товара
CreditCard – Кредитная карточка
Check – Чек
CashPayment – Оплата наличными
CreditPayment – Оплата по кредитной карточке
CheckPayment – Оплата чеком
CreditAutorizationService – Служба авторизации кредитных карточек
CheckAutorizationService – Служба авторизации чеков
AccountsReceivable – Система оплаты кредитов
Вариант использования: Buy Items (Покупка товаров) - 2
Вариант использования
| Buy Items (Покупка товаров)
| Актеры
| Customer (Покупатель) – инициатор, Cashier (Кассир)
| Тип
| Основной
| Описание
| Покупатель подходит к кассе с товарами, которые он желает приобрести. Кассир вводит информацию о товаре и оформляет платеж. В завершение покупатель покидает магазин с приобретенными товарами.
| Типичный ход событий
| Действия актера
| Отклик системы
| 1. Покупатель подходит к кассе с системой POST с выбранными товарами.
|
| 2. Кассир вводит информацию о каждом товаре.
| 3. Определяет цену единицы товара и добавляет информацию о товаре для выполнения транзакции.
| Если выбрано несколько единиц одного и того же товара, то кассир вводит их количество.
| Выводит описание товара и его цену.
| 4. После завершения ввода информации о товаре, кассир уведомляет об этом систему POST.
| 5. Вычисляет и отображает общую стоимость покупки.
| 6. Кассир сообщает покупателю общую стоимость покупки.
|
| 7. Покупатель выбирает тип платежа:
· Если выбрана оплата наличными, то инициировать вариант использования Pay by Cash (Оплата наличными).
· Если выбрана оплата по кредитной карточке, то инициировать вариант использования Pay by Credit (Оплата по кредитной карточке).
· Если выбрана оплата чеком, то инициировать вариант использования Pay by Check (Оплата чеком).
|
|
| 8. Регистрирует сделанную покупку.
|
| 9. Обновляет сведения о наличии и количестве товара.
|
| 10. Генерирует и выдает товарный чек.
| 11. Кассир выдает покупателю товарный чек.
|
| 12. Покупатель покидает магазин с приобретенными товарами
|
|
Альтернативный ход событий
| 2. Введен неверный идентификатор товара. – Выдать сообщение об ошибке.
| 7. Покупатель не может оплатить покупку. – Отменить транзакции, связанной с данной продажей.
| Связанные варианты использования
| Pay by Cash; Pay by Credit; Pay by Check
| Вариант использования: Pay by Cash (Оплата наличными)
Вариант использования
| Pay by Cash (Оплата наличными)
| Актеры
| Customer (Покупатель) – инициатор, Cashier (Кассир)
| Описание
| Покупатель оплачивает покупку наличными
|
Типичный ход событий
| Действия актера
| Отклик системы
| 1. Покупатель решает оплачивать покупку наличными после сообщения ему общей стоимости покупки.
|
| 2. Покупатель вручает кассиру сумму, возможно превышающую общую стоимость покупки.
|
| 3. Кассир вводит в систему полученную сумму.
| 4. Отображает сумму причитающейся сдачи.
| 5. Кассир кладет полученные от покупателя деньги в кассу и извлекает причитающуюся ему сдачу.
Кассир возвращает сдачу покупателю.
|
| Альтернативный ход событий
| 2. У покупателя недостаточно наличных денег. – Можно отменить покупку или инициировать другой способ платежа.
| 3. В кассе недостаточно денег для выдачи сдачи. – Кассир запрашивает недостающую сумму в вышестоящей организации или просит покупателя поискать более мелкие купюры либо изменить способ оплаты.
| Вариант использования: Pay by Credit (Оплата по кредитной карточке)
Вариант использования
| Pay by Credit (Оплата по кредитной карточке)
| Актеры
| Customer (Покупатель) – инициатор, Cashier (Кассир), CreditAutorizationService (Служба авторизации кредитных карточек), AccountsReceivable ( Система оплаты кредитов)
| Описание
| Покупатель оплачивает покупку по кредитной карточке. Платеж проверяется внешней службой авторизации платежей по кредитным карточкам. Информация направляется системе оплаты кредитов.
|
Типичный ход событий
| Действия актера
| Отклик системы
| 1. Покупатель решает оплачивать покупку по кредитной карточке после сообщения ему общей стоимости покупки.
|
| 2. Покупатель сообщает информацию, необходимую для оформления оплаты по кредитной карточке.
| 3. Генерирует запрос на оформление оплаты по кредитной карточке и отправляет его внешней службе авторизации кредитов CAS (Credit Authorization Service).
| 4. Служба авторизации кредитов авторизует оплату.
| 5. Получает подтверждение на выполнение платежа от службы авторизации кредитов.
|
| 6. Заносит информацию об оплате по кредитной карточке и подтверждение от службы CAS в систему оплаты кредитов A/R (Accounts Receivable). (Служба авторизации кредитов выделяет деньги на оплату покупки, а система оплаты кредитов должна перечислить необходимую сумму на счет магазина).
|
| 7. Отображает сообщение об успешной авторизации.
| Альтернативный ход событий
| 4. В ответ на запрос получен отказ от службы авторизации кредитов. – Предложить покупателю другой способ оплаты.
| Вариант использования: Pay by Check (Оплата чеком)
Вариант использования
| Pay by Check (Оплата чеком)
| Актеры
| Customer (Покупатель) – инициатор, Cashier (Кассир), CheckAutorizationService (Служба авторизации чеков)
| Описание
| Покупатель оплачивает покупку чеком. Платеж проверяется внешней службой авторизации чеков.
| Типичный ход событий
| Действия актера
| Отклик системы
| 1. Покупатель решает оплачивать покупку чеком после сообщения ему общей стоимости покупки.
|
| 2. Покупатель выписывает чек и идентифицирует себя.
|
| 3. Кассир вводит в систему необходимую информацию и направляет запрос на авторизацию оплаты чеком.
| 4. Генерирует запрос на оплату чеком и отправляет его в службу авторизации чеков.
| 5. Служба авторизации чеков авторизует платеж.
| 6. Получает подтверждение на выполнение оплаты чеком от службы авторизации чеков.
|
| 7. Отображает сообщение об успешной авторизации.
| Альтернативный ход событий
| 5. В ответ на запрос получен отказ от службы авторизации чеков – Предложить покупателю другой способ оплаты.
| Ниже приведены примеры диаграмм последовательности для некоторых функций системы.
Стандартное начало диаграммы последовательности для варианта использования Buy Items (Покупка товаров) приведена на рис. П.13.
Рис П. 0.13 Стандартное начало варианта использования Buy Items
Диаграмма последовательности для оплаты по кредитной карточке приведена на рис. П.14.
Рис. 0.14. Диаграмма последовательности для оплаты по кредитной карточке
Диаграмма последовательности для оплаты чеком приведена на рис. П.15.
Рис. 0.15. Диаграмма последовательности для оплаты чеком
Ниже приведено описание системных операций.
Описание операции makeCashPayment полностью соответствует описанию операции makePayment, описанной на первой итерации.
Описание операции makeCreditPayment
| Описание
| Имя
| makeCreditPayment (ccNum:Number, expiryDate:date)
| Обязанности
| Сгенерировать и передать запрос на авторизацию при платеже по кредитной карточке
| Тип (класс)
| Системная
| Примечания
| Запрос должен быть преобразован в запись
| Вывод
| Если платеж осуществляется по кредитной карточке, то запрос должен быть передан службе авторизации кредитных карточек
| Предусловия
| Текущая продажа завершена
| Постусловия
| Создан экземпляр объекта pmt класса CreditPayment
Объект pmt связан с текущим объектом Sale
Создан экземпляр cc класса CreditCard, при этом cc.number=ccNum, cc.expiryDate=expiryDate
Объект cc связан с объектом pmt
Создан экземпляр cpr класса CreditPaymentRequest
Объект pmt связан с объектом cpr
Объект cpr связан с объектом CreditAutorizationService
| Описание операции handleCreditReply
| Описание
| Имя
| handleCreditReply (reply:CreditPaymentReply)
| Обязанности
| Обработать ответ службы авторизации кредитных карточек. Если получено подтверждение, то завершить продажу и поместить запись о платеже в базу данных поступлений.
| Тип (класс)
| Системная
| Примечания
| Объект reply представляет собой запись, которая должна быть преобразована в объект CreditPaymentApprovalReply или CreditPaymentDenialReply
| Вывод
| Если получено подтверждение, то в базу данных поступлений помещается соответствующая информация
| Предусловия
| Службе авторизации кредитных карточек передается запрос на авторизацию
| Постусловия
| Если получено подтверждение:
Создан экземпляр approval класса CreditPaymentApprovalReply
Объект approval связан с объектом AccountsReceivable
Объект Sale связан с объектом Store (в журнал регистрации добавлены данные о завершенных продажах)
Если получен отказ:
Создан экземпляр denial класса CreditPaymentDenialReply
| Описание операции makeCheckPayment
| Описание
| Имя
| makeCheckPayment(driversLicenceNum:number)
| Обязанности
| Сгенерировать и передать запрос на авторизацию при платеже чеком
| Тип (класс)
| Системная
| Примечания
| Запрос должен быть преобразован в запись
| Вывод
|
| Предусловия
| Текущая продажа завершена
| Постусловия
| Создан экземпляр объекта pmt класса CheckPayment
Объект pmt связан с текущим объектом Sale
Создан экземпляр dl класса DriverLicense, при этом dl.number=driversLicenseNum
Объект dl связан с объектом pmt
Создан экземпляр cpr класса CheckPaymentRequest
Объект pmt связан с объектом cpr
Объект cpr связан с объектом CheckAutorizationService
| Описание операции handleCheckReply
| Описание
| Имя
| handleCreditReply (reply:CheckPaymentReply)
| Обязанности
| Обработать ответ службы авторизации чеков. Если получено подтверждение, то завершить продажу.
| Тип (класс)
| Системная
| Примечания
| Объект reply представляет собой запись, которая должна быть преобразована в объект CheckPaymentApprovalReply или CheckPaymentDenialReply
| Вывод
|
| Предусловия
| Службе авторизации чеков передается запрос на авторизацию
| Постусловия
| Если получено подтверждение:
Создан экземпляр approval класса CheckPaymentApprovalReply
Объект Sale связан с объектом Store (в журнал регистрации добавлены данные о завершенных продажах)
Если получен отказ:
Создан экземпляр denial класса CheckPaymentDenialReply
| Диаграмма состояний для варианта использования BuyItems приведена на рис. П.16.
Рис. 0.16. Диаграмма состояний для варианта использования BuyItems
Выше приведенно описание только фрагмента процесса разработки. 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Поиск по сайту:
|