Skip to content

業務イベント仕様 全体構成 作成ルール

Business Event Specification Index (BES Index) Documentation Rules

業務で発生する主要なイベント(販売、仕入、在庫調整など)を一覧で整理します。業務イベントを明確にすることで、BPS(業務プロセス仕様)や UI 仕様、BR(ビジネスルール)との対応付けを明確にします。

複雑な業務イベントについては、個別の BES ドキュメントで詳細を定義し、一覧からリンクできるようにします。

1. メタデータ

項目説明必須
id業務イベント一覧ID (bel-xxx-xxxx)
typedomain 固定
title業務イベント一覧名
statusdraft/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)

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: []
    ---
  • 本文には、少なくとも次の見出し(日本語)と表を含めてください:

    1. 業務イベント一覧
  • 一覧表は次の列を この順序 で必ず含めてください:

    イベントID / イベント名 / 何が起きたか / いつ / 誰が/何が / 発生条件 / 事実データ

  • イベントIDbes-<領域>-<短い英字> の形式を推奨します(例: bes-sale-checkout)。

  • 個別の BES ドキュメントを作成する場合、一覧表の イベントID は、そのドキュメントへの Markdownリンク(相対パス) にしてください(例: [bes-sale-checkout](bes-sale-checkout.md))。

  • 業務イベントの責務は、次に 限定 してください:

    何が起きたか / いつ / 誰が/何が / 発生条件 / 事実データ

  • 事実データ は、その時点で観測できる情報(ペイロード)を概念レベルで列挙してください。

  • イベントとプロセスは独立に保ち、起動関係は BP(業務プロセス仕様)側で記載してください。

  • 全体を 業務用語で統一 し、略語を使う場合は、業務用語集に存在する一般的な略語のみとし、意味が推測しづらい略語や内部コードは使用しないでください。