Skip to content

分類一覧(Classification List)作成ルール

業務上の分類(カテゴリ、種別、区分など)を一覧で整理するための標準ルールです。 分類は業務目的に応じて 業務分類(固定)/コード表(システム分類)/動的分類(ユーザー定義) の3種類に分けて管理します。

分類は業務データ辞書(BDD)の enum や画面の選択肢、集計軸として重要な役割を持つため、ここでのルールは他仕様(BDD/ステータス/用語集)と一貫させることを目的とします。

0. 概要

分類(Classification)とは、業務データを意味的にグループ化する構造である。

分類は以下の 3 種類に分類される:

1. 業務分類(Business Classification)

  • 業務ロジックに基づいて固定的に存在する分類
  • 例:商品区分、顧客種別、売上種別
  • 値は少数で変動しないことが多い
  • システム依存性は低い

2. コード表(Code List / System Code List)

  • システムで使用されるコード値の一覧
  • 都道府県コード、支払方法コード、税種別コードなど
  • 多くの場合 マスターテーブルとして保持する
  • BDD の enum と密接に対応

3. 動的分類(Dynamic Classification)

  • ユーザーが自由に作成・編集・削除できる分類
  • タグ、ラベル、フォルダ分類など
  • BDD の enum にしてはいけない
  • システムテーブルで管理し、BDD では string または reference とする

1. メタデータ

分類一覧を1つの YAML ドキュメントとして管理する場合、以下のメタデータを用いる。

項目説明必須
id分類一覧ID(例:cll-xxx-xxxx)
typedomain 固定
title分類一覧名
statusdraft / ready / deprecated
supersedes置き換え関係(旧仕様→新仕様)任意

1.1 ID規約

  • 分類一覧IDは正規表現 ^cll-[a-z0-9-]+$ に合致すること
  • type: domain は画面やAPI仕様と切り離して管理することを示す

2. 記述ルール(共通)

  • 日本語の単数形で記載する(例:商品区分、顧客種別)
  • 分類を 分類定義 と 値の説明(値一覧) の二つの表で整理する。
  • 値はシステム上の識別子として lower-kebab-case を使用する。
  • 略語のみの記述や曖昧な説明は避ける。
  • システム内部名称のみにしない

2.1 分類定義の説明

分類定義は、「定義項目 / 内容」 の 2 列の表で記述します。

列名説明
対象エンティティ分類が属する業務上の主要対象(例:商品、顧客など)
分類定義名分類を表す項目(フィールド)名
種別「業務分類」「コード表」「動的分類」のいずれか
説明分類が何を意味するか

2.2 値一覧

値を持つ分類では、以下の列を基本とする。

列名説明
システム上の識別子。lower-kebab-case 推奨
分類名正式名称。BDD/用語集と整合させる
表示名UI や現場で使用される表示用名称
説明値の意味・成立条件など

3. 分類の種類別のルール

3.1 業務分類(Business Classification)

特徴

  • 業務ロジック上必然的に存在する分類
  • 値は少数で固定的
  • システム実装に強く依存しない

BDD での扱い

  • 値が少ない場合は BDD の type: enum として記載してよい。

3.2 コード表(System Code List)

特徴

  • システム内で使用される コード値の一覧
  • 多くの場合 マスターテーブルとして管理すべき
  • 外部連携や識別子として利用される

マスターテーブル化すべき条件

以下のいずれかを満たす:

  • 値が多い(10以上)
  • 追加・変更・廃止の可能性がある
  • 外部システム連携や帳票に必要
  • 多言語化が必要
  • BDD enum では収まらないメタ情報がある(例:税率、期間)

BDD enum で良いケース

  • 値が3〜5個以下
  • 業務ルールで固定されている
  • ラベル変更の可能性が低い

3.3 動的分類(Dynamic Classification)

特徴

  • ユーザーが自由に追加・編集・削除可能
  • タグ、ラベル、フォルダ分類などに用いられる

BDD の enum にしてはいけない

  • 値の増減に対応できず仕様が破綻するため

BDD での扱い

  • type: string または reference とする

標準列

| 値 | 作成者 | 説明 |


4. BDD との関係(重要)

分類種類BDD の扱い
業務分類enum 可能
コード表enum または マスターテーブル
動的分類enum 禁止、別テーブルで管理

5. サンプル(商品区分)

5.1 メタデータ

yaml
---
id: cll-product-type
type: domain
title: 商品区分
status: draft
supersedes: []
---

5.2 分類定義

定義項目内容
対象エンティティ商品
分類定義名商品区分
種別業務分類
説明商品の業務上の上位分類

5.3 値一覧

分類名表示名説明
snackお菓子おやつ食品系商品
toy玩具おもちゃ玩具類
drink飲料ドリンク飲み物類

6. 生成 AI への指示テンプレート

生成 AI に分類一覧(Classification List: CLL)を作らせるときは、以下のような指示を与えます。

  • 以下のルールに従って、分類一覧(Classification List: CLL) を 1 ファイル作成してください。出力は Markdown とします。

  • 対象は「業務上の分類(カテゴリ・種別・区分など)」の定義です。分類の 種別 は必ず次のいずれかにしてください:

    業務分類 / コード表 / 動的分類

  • 禁止: 物理テーブル名・物理カラム名・SQL全文、実装クラス/関数名、API の内部実装詳細、クリック手順など UI 操作の逐語列挙

  • 先頭に YAML Frontmatter を付与し、以下の形式で記述してください(不要な項目は省略可だが、id / type / title / status は必須):

    yaml
    ---
    id: cll-<英小文字とハイフンで構成したID> # 例: cll-product-type
    type: domain
    title: <分類一覧名> # 例: 商品区分
    status: draft # draft / ready / deprecated のいずれか
    supersedes: []
    ---
  • 本文には、少なくとも次の見出し(日本語)と表を含めてください:

    1. 分類定義
    2. 値一覧
  • 分類定義「定義項目 / 内容」 の 2 列の表で記述し、次の定義項目(行)を含めてください:

    対象エンティティ / 分類定義名 / 種別 / 説明

  • 値一覧 は表形式で、次の列を この順序 で必ず含めてください:

    値 / 分類名 / 表示名 / 説明

  • 「分類定義名」「分類名」は、業務用語として自然な日本語(日本語単数形)を用い、BDD/用語集と整合 させてください。

  • 「値」はシステム上の識別子として lower-kebab-case を用いてください。

  • 「説明」は、分類(または値)の意味が検証できるように、曖昧表現を避けて簡潔に記載してください。