Copy
# 概念データモデル
## ドメイン構造
本システムでは、以下のドメイン(業務領域)で情報を扱う。
` ` ` mermaid
graph TB
subgraph 会員管理ドメイン
A[会員情報]
B[会員ステータス]
C[会員履歴]
end
subgraph 商品管理ドメイン
D[商品情報]
E[カテゴリ情報]
F[在庫情報]
end
subgraph 注文管理ドメイン
G[注文情報]
H[注文明細]
I[決済情報]
end
A --> G
D --> H
G --> H
G --> I
D --> F
E --> D
` ` `
## ドメイン定義
| ドメイン名 | 責務 | 境界 |
| -- -- -- -- -- | -- -- -- | -- -- -- |
| 会員管理 | 会員の登録、認証、ステータス管理 | 会員の個人情報と権限に関する情報のみを管理 |
| 商品管理 | 商品マスタ、在庫、カテゴリの管理 | 商品の基本情報と在庫状態の管理。価格履歴は含むが販売実績は含まない |
| 注文管理 | 注文受付、決済、配送管理 | 注文から決済完了までの一連のプロセスを管理 |
-- -
## エンティティ(ドメインモデル)一覧
| No | エンティティ名 | 論理名 | ドメイン | 概要 |
| -- -- | -- -- -- -- -- -- -- | -- -- -- -- | -- -- -- -- - | -- -- -- |
| 1 | Member | 会員 | 会員管理 | システム利用者の会員情報 |
| 2 | MemberStatus | 会員ステータス | 会員管理 | 会員ランク(BRONZE / SILVER / GOLD / PLATINUM ) |
| 3 | Order | 注文 | 注文管理 | 会員が行った注文の基本情報 |
| 4 | OrderItem | 注文明細 | 注文管理 | 注文に含まれる商品と数量 |
| 5 | Product | 商品 | 商品管理 | 販売商品のマスタ情報 |
| 6 | Category | カテゴリ | 商品管理 | 商品分類カテゴリ |
| 7 | Inventory | 在庫 | 商品管理 | 商品の在庫数と状態 |
| 8 | Payment | 決済 | 注文管理 | 注文に対する決済情報 |
-- -
## 概念ER 図
` ` ` mermaid
erDiagram
Member ||--o{ Order : "注文する"
Member ||--|| MemberStatus : "持つ"
Order ||--|{ OrderItem : "含む"
OrderItem }o--|| Product : "参照する"
Product }o--|| Category : "属する"
Product ||--|| Inventory : "在庫を持つ"
Order ||--|| Payment : "決済される"
` ` `
-- -
## 属性一覧(バリューオブジェクト一覧)
| バリューオブジェクト名 | データ型 | 制約 | 説明 |
| -- -- -- -- -- -- -- -- -- - | -- -- -- -- - | -- -- -- | -- -- -- |
| MemberId | 文字列 | 20 文字固定、英数字 | 会員を一意に識別するID |
| Email | 文字列 | RFC5322 準拠 | メールアドレス |
| MemberStatusType | 列挙型 | BRONZE / SILVER / GOLD / PLATINUM | 会員ステータス区分 |
| OrderId | 文字列 | 20 文字固定、英数字 | 注文を一意に識別するID |
| Money | 数値 | 小数点以下2 桁、0 以上 | 金額(税込) |
| Quantity | 整数 | 1 以上 | 数量 |
| ProductId | 文字列 | 20 文字固定、英数字 | 商品を一意に識別するID |
-- -
## データ制約・業務ルール一覧
| ID | ルール名 | 制約内容 | 対象エンティティ |
| -- -- | -- -- -- -- - | -- -- -- -- - | -- -- -- -- -- -- -- - |
| BP - 001 | 金額非負制約 | 金額項目は0 以上でなければならない | Order, OrderItem, Payment |
| BP - 002 | 会員ステータス遷移 | ステータスは累計購入金額に基づき自動更新される | Member |
| BP - 003 | 在庫引当 | 注文確定時に在庫を引き当て、在庫不足の場合はエラー | Inventory, OrderItem |
| BP - 004 | 注文キャンセル制限 | 配送済み ( SHIPPED ) 以降はキャンセル不可 | Order |
| BP - 005 | メールアドレス一意性 | 同一メールアドレスで複数会員登録不可 | Member |
-- -