» 【第92号】データ先行・リソース先行・概念先行の意義

株式会社データ総研 データ総研のオンサイト教育
製品案内 DMBOK ITコンサルティングサービス ITコンサルティング事例 紹介セミナー 教育コース 技術情報 DRIブログ 会社概要
技術情報
【第92号】データ先行・リソース先行・概念先行の意義

DRI通信92号「データ先行・リソース先行・概念先行の意義」  2004.5.6
ゴールデンウイークはやはり素晴しい季節ですね。皆様お元気ですか。さわやかに晴れた日の森の中で、新緑がきらきらと輝いています。今期も始まったばかりで、追い込まれていないのがなお良いですね。
4月22日には、DOA+OOP第3回分科会が住友電工殿の会場で行われました。スピーカーは東京国際大学の佐藤英人教授で、RADON法が紹介されました。処理をどのデータに対応付けるべきかという論点で、伝統的OOの実世界モデルアプローチおよび機能場アプローチは属人的になりやすい、と指摘されました。加工データ(チェックデータを含む)の処理に関しては、弊社のDOAと同じ結果が得られるようでした。
■DOAの条件
私はDOA(Data Oriented Approach)の条件として、「データ先行・リソース先行・概念先行」ということを申し上げています。多くの方は開発のアプローチとして受け取っておられるようですが、開発だけでなく、運用・保守、またユーザの利用にも、したがって情報システムの理解全般において常に有用なアプローチと考えています。そこで、その理由を以下述べてみたいと思います。


■データ先行
「データ先行」とは、「データをプロセス/処理(注1)に先行して考え、調整し、確定すべき」という意味です。「結果/要件先行」、すなわち結果/要件を先に規定し、そのための処理を後で考える、ということです。「データ中心」も同じ意味になります。データは相互に関係し、構造を作っています。必ずこれを把握しますので、「データベース中心」と言っても良いでしょう。これによってデータベースの仕様/構造が確定します。プロセスはこの後で考えますから、プロセスによってデータベースの仕様/構造は変わりません。このデータベース仕様/構造を前提とする限り、プロセスは自由に設計することができます。プロセスとプロセスの相互干渉がありません。データベースはプロセスとプロセスがコミュニケーションするハブ/通信場となります。従来の「プロセス中心」は、コンピュータを処理合理化ツールとするわけですが、「データ中心」は、さらにコミュニケーションの合理化ツールとする点で、「プロセス中心」を超えているかと思います。
注1:プロセス/処理には粒度がありますが、ここでは次の3レベルを考えます。
   加工データ :加工処理プログラム
   画面・帳票 :入出力プログラム
   データベース:当該データベース更新プログラム一式
これまで「データベースは構造を表現する巨大なストーレジである」という認識が多かったかと思います。しかし私は「プロセスに独立性を与える通信場」としての意味の方が重要ではないかと思っています。インターネットも私には、ネットワークというより、巨大なデータベース−共通にアクセスできる場(ホームページ)と特定の人にしかアクセスできない場(メール)から成る−に見えます。このデータベースによって非同期の通信が行われているのです。
■リソース先行
「リソース先行」とは、「イベントデータよりリソースデータを先行して固める」という意味です。リソースデータとは、社内外組織・人、製商品・原材料、勘定科目などの経営資源に関するデータです。マスターファイルと言った方が通じる方もあるかと思います。このデータが、受注・出荷・請求・生産などのイベントデータの中で、「誰が何をどこに」と言った5W1Hなど、を表すために用いられます。「イベントはFactであり、リソースはこれを記述するTermである」とも言われます。私は「社員・顧客・商品がビジネスにおける3大リソースだ」と言っていますが、リソースデータは、データの生成サイクルの中で最上流に位置します。リソースデータに不整合があると、これが下流のイベントデータや要約データに拡大・伝播し、データベースの有用性を損ないます。そこでこれを先に固める、「上流の清め」をやりましょう、といっているわけです。
リソース先行は、単一アプリケーションの中でも必要ですが、アプリケーション横断では、さらに重要です。しかし、従来は単一アプリの開発が優先され、そのアプリの範囲内でしか整合のとれていない、いわば「アプリの偏見」を持ったリソースが作られ、孤島システム化の原因を作っていました。折角のデータベースによる通信場が、単一アプリケーション内にとどまり、業務横断のDWH構築やERP導入への支障となっていたわけです。したがって「リソース先行」は「アプリ横断の通信場を形成するもの」を意味するものとします。
■概念先行
「概念先行」とは、「物理データベースより概念データベースを先行して固める」と言う意味です。データをまずは実装独立に−DBMSの種類はもとより、VSAMか順ファイルか、さらに紙か音声かを問わず−考えることによって、「IT独立ないしIT横断の通信場を実現しようとするもの」です。このいわばバーチャルな通信場でのコミュニケーションさえ可能ならば、物理的な環境の違いは変換によって、何とでもなると考えるからです。したがってその形式を問わず、ビジネス世界で使われているデータを捉えその意味を追求します。
この概念データベースの考え方は、1960年代から1970年代にかけては、主流の設計法だったと記憶しますが、リレーショナルDBMSが出現し、実装を急ぐためでしょうか、1980年頃以降は傍流になっていったように思われます。そのため、物理的に記憶しないデータはデータベース設計の対象としない、といった暗黙の前提を置いて考える人が多くなっていったように思われます。
すると、例えば「社員年齢」と言ったデータは、ビジネスにおいて重要な意味を持って使われていますが、社員生年月日から計算するため物理的にストアしない、したがって「設計対象外とする」といった発想になるわけです。また部品発注を、在庫状態コード=(在庫数/安全在庫数)の値によって、マイナスなら緊急発注、1以下なら通常発注、などと決めていれば、在庫状態コードは概念データとしては、意味のある重要なデータと言えますが、「物理的にストアしないから」と言う理由から、これを除外して扱い、敢えて業務仕様定義を難しくしているケースを見ることがあります。
■データ先行・リソース先行・概念先行の意義
したがって、われわれが「データ先行・リソース先行・概念先行」によってねらっているのは、業務横断・IT横断の通信場を手戻りなく明らかにしようというものです。これは従来、システム開発の上流工程の作業と位置づけられていたかと思われますが、やや無理のあるケースが多かったかと思われます。なぜならシステム開発のスコープを超えた全社データインフラ構築につながるものであり、本来的には開発プロジェクト以前に手掛けるべきものだからです。単一アプリケーション開発の中で扱うには期間的にもコスト的にも厳しいからです。かつて間宮林蔵が日本地図を作りました。それは各種用途に使われました。長期的には必ずペイする貴重な仕事でした。全社的概念データベース構造図はこれに類似した成果物です。乱立する孤島システムに悪戦苦闘している企業において、この取り組みがもはや早すぎることはないと思われます。皆様のご検討を期待します。