Anton O.card.quoted10 kun oldin
Дано: клиент

И ресторан

И адрес/время доставки из этого ресторана

И суммарная цена заказа, отвечающая среднему показателю ресторана

Когда клиент размещает заказ

Тогда банковская карта клиента авторизуется

И создается заказ в состоянии PENDING_ACCEPTANCE

И заказ привязывается к клиенту

И заказ привязывается к ресторану

Имена существительные в этом пользовательском сценарии указывают на существование различных классов, включая Consumer (клиент), Order (заказ), Restaurant (ресторан) и CreditCard (банковская карта).

Точно так же историю приема заказа можно развернуть в сценарий наподобие следующего:

Дано: заказ в состоянии PENDING_ACCEPTANCE

И курьер, доступный для доставки заказа

Когда ресторан принимает заказ с обязательством приготовить еду к заданному времени

Тогда состояние заказа меняется на ACCEPTED

И полю заказа promiseByTime назначается заданное время

И курьер назначается для доставки заказа

Этот сценарий подразумевает существование классов Courier (курьер) и Delivery (доставка). После нескольких этапов анализа итоговым результатом будет доменная модель, состоящая, как и ожидалось, из этих и других классов, таких как MenuItem (пункт меню) и Address (адрес). Схема с ключевыми классами показана на рис.
  • Fikr bildirish uchun kirish yoki roʻyxatdan oʻtish