Ответ
Название: Оформление заказа в интернет-магазине
Акторы: Покупатель, Система оплаты
Предусловия: Покупатель авторизован, корзина не пуста.
Основной поток:
- Покупатель нажимает "Оформить заказ".
- Система отображает форму с данными доставки и оплаты.
- Покупатель подтверждает заказ.
- Система создает заказ и перенаправляет на страницу оплаты.
- Система оплаты обрабатывает платеж.
- Система отправляет подтверждение на email.
Альтернативные потоки:
- A1: Некорректные данные – система показывает ошибку.
- A2: Оплата не прошла – заказ сохраняется как "Ожидает оплаты".
// Пример кода для создания заказа
public class OrderService {
public Order createOrder(User user, Cart cart) {
if (cart.isEmpty()) {
throw new IllegalStateException("Cart is empty");
}
Order order = new Order(user, cart.getItems());
orderRepository.save(order);
paymentGateway.processPayment(order);
return order;
}
}