これまでこのコーナーでは、EA(エンタープライズ・アーキテクチャ)を構築する際は、各種の標準化されたモデル図(ER図、クラス図、システム関連図など)を用いて属人性を排除した設計図を描くように言ってきた。確かに確固たる記述法に基づいたモデル図は第三者が理解するにあたってブレ幅が小さい。しかしどんなに精緻で正しいモデル図が描かれたとしてもそれだけで設計者の意図が十分に伝わるだろうか?答えはノーである。そこに“補足説明”が加わってはじめて、モデルが何を言わんとしているかが腑に落ちるのではなかろうか。
さて言葉による補足説明と言っても様々な記述様式が考えられる。モデル図上に吹き出しを記した補足説明もあれば、図の脚注に箇条書きで注釈を記したもの、さらには別紙にモデル全体を説明したものまで様々なレベルが存在する。今回はこの中の“モデル全体の説明”に言及したい。まず文章の形態はあえて“語り口”(ナラティブ形式)を推奨したい。無機質なモデル図と対極にあるナラティブは、ストーリー性があるので読み手のイメージ空間に焼き付き易い。そして補足すべき内容は図に描かれていない事柄が効果的だ。モデル図は目的のみにフォーカスしそれ以外の付属物を削ぎ落としたものだから。例えばデータモデル(ER図)であれば、処理プロセスについては現されていない。
図1のある受発注システムのER図を例にナラティブを記述してみる。サンプルゆえ本物レベルより超簡素化されているところはご容赦願いたい。モデルのナラティヴはおおよそ次のようになる。
「左上から右へ向かって説明します。まず複数のマスタ群ですが、各エンティティのKEY項目に会社コードが含まれており、複数会社対応を実現しています。組織系は部門、課等の自社組織が登録された組織マスタと、倉庫等の物流拠点マスタの2種類が中心です。取引先系には自社製品が注文を受ける相手の得意先と、商品を発注する際の仕入先の両方が含まれており、それぞれ品目毎の取引単価が取引条件マスタに登録されています。品目には、メーカーとして市場に販売する製商品とその原材料等が登録されています。次に左下から右へ向かって受発注イベントを受注のケースで説明します。取引先からの1回の受注処理で、納期、届け先、売上部門等が受発注伝票ヘッダーに登録され、品目毎の単価、売上数量、売上金額が受発注伝票明細に格納されます。同時に得意先に向けた出荷拠点の当該品目の在庫を受注数量分だけ引当てます。出荷日の到来とともに、得意先に向けて製品が出荷され、同時に引当数量分を実際の現物在庫から引き落とします。発注のケースは出荷→入荷、売上→購入となりますが基本は同様です。」
どうだろうか。基幹系の巨大な受発注システムも基本となるデータ・ハンドリングはこのようなものだ(実際はこれに何十倍も枝葉がつくが)。エンタープライズレベルでのモデリングでは、手のひらに会社を載せるようなつもりで取り組むのが良い(たとえ細部が見えなくても)。そして、ナラティブを加えるとそのモデルにリアリティが出てくる。また、ナラティブはモデルの個々のパーツをまたがってストーリー展開するのでモデルの検証手段としても機能する。ぜひ皆さんも自分で描いたモデルを口頭で説明するだけでなく、文章にされることをお勧めする。せっかく描いたモデルが後世に伝承される為にも。