11. SoR / SoE 混在システム 規範・基準
11.1 混在システムの位置づけ
SoR / SoE 混在システムとは、
単一のシステムまたは密接に連携するサブシステム群の中に、SoR 的責務と SoE 的責務が共存する構造を指す。
混在システムは以下の理由から発生する。
- 既存 SoR に UI・業務支援機能が追加される
- SoE が成長し、業務判断・データ保持を担い始める
- 段階的刷新・内製化・PoC から本番化への移行
混在自体は許容されるが、無秩序な混在は品質・契約・責任の不明確化を招く。
11.2 混在システムに関する基本規範(Must / Must Not)
11.2.1 基本原則(Must)
- 混在システムでは、責務の所在(SoR / SoE)を明示しなければならない
- 各機能・データ・業務判断について、SoR 的か SoE 的かを判定すること
- 判定結果は、要件定義または基本設計成果物に明示すること
11.2.2 禁止事項(Must Not)
- SoR / SoE の判定を行わずに設計・実装を進めること
- 「一体型だから区別できない」という理由で責務定義を放棄すること
- SoR 的責務と SoE 的責務を同一ロジック・同一データで混在させること
11.3 混在判定ルール(重心判断)
11.3.1 判定の観点(Must)
以下の観点で、機能・データ・処理単位に重心を判定する。
| 観点 | SoR 寄り | SoE 寄り |
|---|---|---|
| 正の所在 | 業務ルール・契約 | 利用者体験 |
| データ性質 | 確定・履歴 | 一時・操作中 |
| 変更頻度 | 低 | 高 |
| 主利用者 | 業務責任者 | 現場・顧客 |
11.3.2 判定単位(Should)
- システム単位ではなく、機能単位・データ単位で判定する
- 画面単位・API 単位での判定を推奨する
11.4 要件定義工程における混在規範
11.4.1 要件整理の規範(Must)
- 全要件に対し、以下のいずれかを付与する
- SoR 要件
- SoE 要件
- 混在要件(理由を明示)
- 混在要件については、責務分割方針を併記すること
11.4.2 合意形成の規範(Should)
- 混在要件は、発注者・受注者間で明示的に合意する
- 契約範囲・品質期待の違いを合意文書に反映する
11.5 基本設計工程における混在規範
11.5.1 設計分離の原則(Must)
- SoR 的処理と SoE 的処理は、構造上分離すること
- 少なくとも以下の分離を行う
- ロジック分離
- データ分離
- 責務分離
11.5.2 例外的混在の扱い(Must)
- 技術的・コスト的制約により分離できない場合
- 例外理由
- 影響範囲
- 将来分離方針
を設計書に明示すること
11.6 成果物品質基準(混在システム)
11.6.1 要件定義成果物(Must)
- 混在要件の一覧が存在すること
- SoR / SoE の責務分割が説明可能であること
- 将来変更時の影響範囲が把握できること
11.6.2 基本設計成果物(Must)
- 責務分割が構造として確認できること
- SoR 側変更が SoE 側に与える影響が限定的であること
- 混在箇所が意図的であることを説明できること
11.7 混在パターン別指針(Should)
代表的な混在パターンと指針を以下に示す。
| パターン | 指針 |
|---|---|
| SoR+UI 強化 | UI 部分を SoE として独立整理 |
| SoE 肥大化 | 業務ルールを SoR 側へ移管 |
| 段階刷新 | 移行中は混在を許容、最終像を明示 |
11.8 他章との関係
- SoR 規範:第06章を参照
- SoE 規範:第07章を参照
- 変更・逸脱管理:第03章を参照
11.9 本章の意図(解釈指針)
本章は、SoR / SoE の完全分離を強制するものではない。
「どこが混ざっているか」「なぜ混ざっているか」「どう管理するか」を説明可能にすることを目的とする。