検証の門を通った、その後の話

検証の門を通った、その後の話

前回のJ-06では、信頼境界という門で入力を検査し、検証済みのデータだけを内側へ通す仕組みを学びました。この講義は、その門を通った後の話です。検証が「形が正しいか」を見る仕事だとすると、業務ロジックは「そのうえで、会社のルールに照らしてどう扱うか」を判断する層です。サーバーの5責務、J-01で挙げた5つのうち、二番目にあたる中心的な仕事を、ここで具体的に見ていきます。

このスライドのポイント

  • 前回J-06: 信頼境界という門で入力を検査し、検証済みのデータだけを内側へ通した
  • この講義: その門を通った後、データをどう扱うかを判断する層
  • サーバーの5責務(J-01)の二番目「業務ルールの適用」にあたる中心的な仕事

定義: 会社固有の判断規則のコード化

定義: 会社固有の判断規則のコード化

業務ロジックとは、そのサービスや会社に固有の判断規則をコードにしたものです。たとえば「1万円以上の経費は上長の承認が必要」「月締めのあとは修正できない」といった規則が、これにあたります。作る・読む・変える・消す、というデータの出し入れ、いわゆるCRUDだけのアプリと、実際の業務アプリを分けるのが、この層です。E-05で学んだ条件分岐が、いよいよ会社の言葉で書かれる場所だと考えてください。

このスライドのポイント

  • 業務ロジック = そのサービス・会社に固有の判断規則をコードにしたもの
  • 例: 「1万円以上の経費は上長の承認が必要」「月締めのあとは修正できない」
  • 作る・読む・変える・消す(CRUD)だけのアプリと、実際の業務アプリを分けるのがこの層
  • E-05で学んだ条件分岐が、会社の言葉で書かれる場所

なぜ必要か——ルールは人間しか知らない

なぜ必要か——ルールは人間しか知らない

この層を意識しないと、どうなるでしょうか。AIに「経費アプリを作って」とだけ頼むと、多くの場合、入力を保存して一覧を表示するだけの、ルールのないアプリができあがります。承認の要否も、締め後の扱いも、そこには入っていません。会社ごとのルールは、人間しか知りません。だからこそ、A-07で見た「AIに渡す情報」のなかで、最も重要な部類に入るのです。渡さなければ、AIには決して作れません。

このスライドのポイント

  • 「経費アプリを作って」とだけ頼むと、保存して一覧表示するだけのルールなしアプリになりがち
  • 承認の要否も、締め後の扱いも、そこには入っていない
  • 会社ごとのルールは人間しか知らない = A-07で渡すべき情報のうち最重要の部類
  • 渡さなければ、AIには決して作れない

構造: 3層に分けて置く

構造: 3層に分けて置く

業務アプリのサーバーは、3つの層に分けて考えると見通しがよくなります。ひとつめは検証、J-06で学んだ信頼境界で、データの形が正しいかを見ます。ふたつめが業務ロジックで、会社のルールに照らして判断します。みっつめが保存で、データを永続化しますが、その仕組みの詳細はカテゴリLで扱います。この3つを混ぜずに分けておくほど、ルールが変わったときに直す場所が一箇所で済み、変更に強くなります。

このスライドのポイント

  • 検証(J-06): データの形が正しいか
  • 業務ロジック(この層): 会社のルールに照らして判断する
  • 保存(カテゴリL): データを永続化する。仕組みの詳細はカテゴリLで扱う
  • 3つを混ぜず分けておくほど、ルール変更時に直す場所が一箇所で済み、変更に強い

具体例: ひとつのルールが一本につながる

具体例: ひとつのルールが一本につながる

「1万円以上は上長承認へ」という、ひとつのルールを追いかけてみましょう。このルールは、A-08で「生成の前に決めること」として決め、E-05で条件分岐の書き方として学び、H-03の遷移図では申請から承認への流れとして描きました。そして、いまこのJ-07で、ついにサーバーのコードになります。講座のあちこちで別々に見えていた話が、この業務ロジックの層で一本につながる瞬間です。

このスライドのポイント

  • 追いかけるルール: 「1万円以上は上長承認へ」
  • A-08: 生成の前に決めること、として決めた
  • E-05: 条件分岐の書き方として学んだ
  • H-03: 遷移図で、申請から承認への流れとして描いた
  • J-07: いま、サーバーのコードになる——縦串が一本につながる瞬間

技術サンプル: ルールを1つの関数に隔離する

技術サンプル: ルールを1つの関数に隔離する

サンプルを見てみましょう。種別はコード、目的は、承認が必要かどうかを判断する業務ロジックを、1つの関数に隔離することです。読み方の要点は2つです。ひとつは、判断の規則がneedsApprovalという1つの関数の中だけに書かれていること。もうひとつは、だからルールが変わっても、直すのはこの関数だけで済むということです。AIへの質問例は、コードから業務ルールを逆算して日本語にしてもらい、自分の認識と合っているか確かめる問いです。

このスライドのポイント

  • 種別: code
  • 目的: 承認が必要かどうかの判断(業務ロジック)を、1つの関数に隔離する
  • サンプル本体:

混同しやすい: 検証と業務ロジック

混同しやすい: 検証と業務ロジック

検証と業務ロジックは、どちらもハンドラーの中で行われるため、混同しやすい2つです。違いはこうです。マイナスの金額を弾くのは検証です。データの形として、そもそもありえないからです。一方、1万円を境に承認の要否を分けるのは業務ロジックです。形は正しいけれど、会社の判断が必要だからです。この線引きができると、AIが書いたコードのどこを直すべきかも、はっきりします。

このスライドのポイント

  • どちらもハンドラーの中で行われるため混同しやすい
  • マイナスの金額を弾く = 検証(データの形としてありえない)
  • 1万円を境に承認の要否を分ける = 業務ロジック(形は正しいが、会社の判断が必要)

バイブコーディングでの確認点

バイブコーディングでの確認点

バイブコーディングでの確認点です。AIが作った業務ロジックは、会社の本当のルールとずれていることがあります。そこで、「このアプリの業務ルールを、コードから逆算して日本語の箇条書きにしてください」とAIに定期的に頼み、自分の認識と突き合わせます。これはA-06で学んだ、もっともらしい間違いを未然に防ぐ習慣でもあります。ルールは目に見えにくいからこそ、言葉にして確かめることが大切です。

このスライドのポイント

  • AIが作った業務ロジックは、会社の本当のルールとずれていることがある
  • 定期的に「業務ルールをコードから逆算して日本語の箇条書きに」とAIへ依頼し、自分の認識と突き合わせる
  • これはA-06で学んだ、もっともらしい間違いを未然に防ぐ習慣
  • AIへの質問例: 「このコードが実行している業務ルールを箇条書きにしてください。抜けや思い違いはありませんか」

一問一答とまとめ

一問一答とまとめ

最後に一問一答です。「1万円以上は上長承認、という規則をコード化した層を何と呼ぶでしょうか」。……答えは、業務ロジックです。30秒でまとめます。業務ロジックは会社固有の判断規則のコード化であり、検証や保存とは分けて置くほど変更に強くなります。そのルールは人間しか知らないため、AIに渡し、逆算で確かめ続けることが要点でした。次回のJ-08では、処理が失敗したときの振る舞い、例外処理とエラー応答へ進みます。関連資料は「業務整理質問集100」「AIアプリ要件定義シート」です。

このスライドのポイント

  • 一問一答: 「1万円以上は上長承認、という規則をコード化した層は?」→ 業務ロジック
  • 30秒まとめ: 業務ロジック = 会社固有の判断規則のコード化。検証・保存とは分けて置くほど変更に強い。ルールは人間しか知らないので、渡し、逆算で確かめ続ける
  • 次回: J-08 例外処理とエラー応答
  • 関連資料: 「業務整理質問集100」「AIアプリ要件定義シート」