業務イベント仕様 全体構成 作成ルール
Business Event Specification Index (BES Index) Documentation Rules
業務で発生する主要なイベント(販売、仕入、在庫調整など)を一覧で整理します。業務イベントを明確にすることで、BPS(業務プロセス仕様)や UI 仕様、BR(ビジネスルール)との対応付けを明確にします。
複雑な業務イベントについては、個別の BES ドキュメントで詳細を定義し、一覧からリンクできるようにします。
1. メタデータ
| 項目 | 説明 | 必須 |
|---|---|---|
| id | 業務イベント一覧ID (bel-xxx-xxxx) | ○ |
| type | domain 固定 | ○ |
| title | 業務イベント一覧名 | ○ |
| status | draft/ready/deprecated | ○ |
| supersedes | 置き換え関係(古仕様→新仕様) | 任意 |
1.1 ID規約
- 業務イベント一覧IDは正規表現
^bel-[a-z0-9-]+$に合致する一意IDを用います。 type: domainは業務ドメイン仕様であることを示します。
2. 記述ルール
- 業務イベントの一覧を 表形式 で整理します。
- イベント名は、業務ユーザーが理解できる 日本語 を用い、曖昧な動詞(「処理」「対応」など)だけに寄らないようにします。
- 業務イベントの責務は、次の観点に 限定 します(詳細手順や結果は BP(業務プロセス仕様)側へ寄せる)。
- 何が起きたか(業務的に意味のある出来事)
- いつ(発生タイミング、周期)
- 誰が/何が(人・システム・外部)
- 発生条件(観測条件・成立条件)
- 事実データ(その時点で観測できる情報)
- 「誰が/何が」「いつ」「発生条件」は、1セルに詰め込みすぎず 短文 で表現します。
- 「事実データ」はイベントの付帯情報(ペイロード)として、概念レベルで列挙します。
- イベントとプロセスは独立に保ちます。
- 「どの業務プロセスがどのイベントで起動するか」は、BP(業務プロセス仕様)側で記載します。
- 仕様間(BPS/BR/UI/用語集)で名称の整合性を保ちます。
2.3 個別BESドキュメントへのリンク
- 個別の BES ドキュメントを作成する場合、一覧表の イベントID は、その BES ドキュメントへの Markdownリンク とします(リンク先がない場合はプレーンテキストで可)。
- リンクは原則として相対パスを用い、一覧から詳細へ辿れることを最優先にします。
- ファイル名は
bes-...とイベントIDに対応する形を推奨します(例:bes-sale-checkout.md)。
2.1 標準列の定義
| 列名 | 説明 |
|---|---|
| イベントID | イベントを一意に識別するID(例: bes-xxx-xxxx)。後工程(BP/UI/BR/テスト)から参照される前提で付与します。 |
| イベント名 | イベントの日本語名(例: 会計確定(販売))。 |
| 何が起きたか | 業務的に意味のある出来事を一文で記述します。 |
| いつ | 発生タイミング、周期を短く記述します。 |
| 誰が/何が | 人・システム・外部のいずれが起点かを短く記述します。 |
| 発生条件 | 観測条件・成立条件を短く記述します。 |
| 事実データ | その時点で観測できる情報(ペイロード)を概念レベルで列挙します。 |
※ 列順は イベントID → イベント名 → 何が起きたか → いつ → 誰が/何が → 発生条件 → 事実データ に統一します。
2.2 イベントIDの推奨
- 一覧ドキュメント自体の
id(= bel-...)とは別に、一覧表の各行には イベントID を付与することを推奨します。 - イベントIDの推奨形式:
bes-<領域>-<短い英字>(例:bes-sale-checkout)。- 既存プロジェクトの命名規約に合わせ、必要ならプレフィックスは調整します。
3. 禁止事項
| 項目 | 理由 |
|---|---|
| 物理テーブル名・物理カラム名・SQL全文 | 概念レベル逸脱 |
| 実装クラス/関数名・APIの実装詳細 | 実装依存で変更に弱い |
| クリック手順など UI 操作の逐語列挙 | 一覧の可読性低下・変更に弱い |
| 曖昧な名詞(「その他」「適宜」)の多用 | 後工程で解釈が割れる |
4. サンプル
4.1 メタデータ(front-matter YAML)
---
id: bel-main
type: domain
title: 業務イベント一覧(main)
status: draft
supersedes: []
---4.2 業務イベント一覧(表)
| イベントID | イベント名 | 何が起きたか | いつ | 誰が/何が | 発生条件 | 事実データ |
|---|---|---|---|---|---|---|
| bes-sale-checkout | 会計確定(販売) | 販売の会計が確定された | 会計確定操作の実行時 | 店員 | 取引が確定可能な状態 | 取引ID、明細、支払情報 |
| bes-procurement-recv | 納品登録(仕入) | 仕入の納品が確定された | 納品確定操作の実行時 | 仕入担当/外部 | 納品情報が揃っている | 納品ID、納品明細、仕入先、商品、数量 |
| bes-stock-adjust | 在庫調整 | 在庫調整(棚卸差異)が確定された | 差異確定操作の実行時 | 担当者 | 差異理由が入力済み | 商品、現在庫数、差異数量、差異理由 |
5. 生成 AI への指示テンプレート
生成 AI に業務イベント一覧(BEL)を作らせるときは、以下のような指示を与えます。
以下のルールに従って、業務イベント一覧(Business Event List: BEL) を 1 つ作成してください。出力は Markdown とします。
対象は「一覧(表)」です。複雑なイベントの詳細手順や実装設計は書かず、イベントを網羅的に整理してください。
禁止: 物理テーブル名・物理カラム名・SQL全文、実装クラス/関数名・API実装詳細、UIコンポーネント名、クリック手順など UI 操作の逐語列挙
先頭に YAML Frontmatter を付与し、以下の形式で記述してください(不要な項目は省略可だが、
id/type/title/statusは必須):yaml--- id: bel-<英小文字とハイフンで構成したID> # 例: bel-main type: domain title: <業務イベント一覧名> # 例: 業務イベント一覧(main) status: draft # draft / ready / deprecated のいずれか supersedes: [] ---本文には、少なくとも次の見出し(日本語)と表を含めてください:
- 業務イベント一覧
一覧表は次の列を この順序 で必ず含めてください:
イベントID / イベント名 / 何が起きたか / いつ / 誰が/何が / 発生条件 / 事実データ
イベントID は
bes-<領域>-<短い英字>の形式を推奨します(例:bes-sale-checkout)。個別の BES ドキュメントを作成する場合、一覧表の イベントID は、そのドキュメントへの Markdownリンク(相対パス) にしてください(例:
[bes-sale-checkout](bes-sale-checkout.md))。業務イベントの責務は、次に 限定 してください:
何が起きたか / いつ / 誰が/何が / 発生条件 / 事実データ
事実データ は、その時点で観測できる情報(ペイロード)を概念レベルで列挙してください。
イベントとプロセスは独立に保ち、起動関係は BP(業務プロセス仕様)側で記載してください。
全体を 業務用語で統一 し、略語を使う場合は、業務用語集に存在する一般的な略語のみとし、意味が推測しづらい略語や内部コードは使用しないでください。