US-005:簡易クーポン管理機能
基本情報
| 項目 | 内容 |
|---|---|
| ID | US-005 |
| タイトル | 簡易クーポン管理機能の実装 |
ユーザーストーリー
As a マーケティング担当者
I want 割引クーポンを作成・配布できる
So that 顧客の購買意欲を高めることができる
日本語記述
マーケティング担当者として、顧客の購買意欲を高めるために、シンプルな割引クーポンを作成・配布できる機能が必要である。
背景・目的
ビジネス背景
プロモーション施策として、特定のコードを入力することで割引が適用される「クーポン」機能は必須である。本フェーズでは複雑なルールを排除し、運用が容易な定率割引クーポンに特化して実装する。
ユーザーニーズ
- マーケティング担当者: 簡単にクーポンを発行したい
- 顧客: クーポンコードを入力して安く買いたい
受入基準(Acceptance Criteria)
機能要件
AC-1: クーポン作成
Given マーケティング担当者が管理画面にログインしている
When クーポンコード、割引率、有効期限を入力する
Then クーポンが作成され、利用可能になる
詳細説明:
- クーポンコードは一意(重複チェック)
- 割引タイプは「パーセント割引」のみ(例:10% OFF)
- 有効期限(開始・終了日時)を設定可能
AC-2: クーポン適用
Given ユーザーがカート画面でクーポンコードを入力する
When 「適用」ボタンを押下する
Then クーポンが有効であれば割引が適用され、小計が更新される
詳細説明:
- 1注文につき1クーポンのみ適用可能
- 有効期限切れや無効なコードの場合はエラーメッセージを表示
- 割引額 = 小計 × 割引率(端数切り捨て)
非機能要件
パフォーマンス
- クーポン検証APIのP99レスポンスタイム: 50ms以内
セキュリティ
- クーポンコードのブルートフォース攻撃対策(レート制限)
- 価格改ざん防止(サーバー側で割引額を再計算)
可用性
- クーポンサービスのSLA: 99.9%
UI/UX要件
画面遷移
[クーポン一覧] → [クーポン作成]
インタラクション
- クーポン入力時の即座なバリデーションとエラー表示
- 割引適用後の価格変化を表示
依存関係
前提条件
- 注文管理機能が実装済み(US-003)
依存するストーリー
- US-003: カート管理と注文確定
ブロッカー
- なし
備考・コメント
設計上の決定事項
- クーポンとプロモーションは同一テーブルで管理せず、シンプルなCouponエンティティを使用
- 複雑な優先順位ロジックは実装しない
将来の拡張性
- 固定額割引、送料無料クーポンの追加
- ユーザー限定クーポン
- 利用回数制限