2005年 2月 1日 作成 「認知番号」 としての コード >> 目次 (テーマ ごと)
2009年 3月 1日 補遺  


 
 「モノ」 を考える際、「個体と集合」 という考えかたを使う。個体は、集合の メンバー である。さらに、集合を メンバー にして、集合を作ることもできる (「類と種」 という概念)。コード 体系は、「個体と集合」 に対応している。コード 体系のなかには、以下の 2種類の コード がある。

 (1) 1つのまとまった単位の セット (集合) を記述するための コード
 (2) 1つの セット のなかの サブセット (部分集合) を記述するための コード

 (1) の コード は、「××番号」 とか 「×× コード」 というような単独の認知番号であり、(2) の コード は、「××区分 コード」 (第一階述語論理のなかで使われることが多い) とか 「××種別 コード」 (高階の クラス 概念のなかで使われることが多い) である。T字形 ER手法では、(1) は、「認知番号」 として、左側に記述される。(2) の コード は、右側に記述される。(2) は、セット のなかで成立する サブセット を記述するので、右側に記述される。
 T字形 ER手法では、entity は、以下のように定義されている。

   entity である = Df 認知番号を付与されている個体

 
 T字形 ER手法が、認知番号として、コード 体系を使う理由は、事業過程・管理過程のなかで成立している 「(認知の) 合意」 概念を重視して、システム・エンジニア の恣意性を排除するためである。

 さらに、T字形 ER手法は、コード 化の適否を検討するために、「みなし entity」 概念を導入している。T字形 ER手法が、意味論として、オノマシオロジー を前提にしてないで、セマシオロジー を前提にしている典型的な例証が、「みなし entity」 である。たとえば、以下を考えてみる (「event」 のなかに、「resource」 が混入している事態)。

 {予約番号、予約日、申込者氏名、・・・}.

 もし、同じ申込者が、いくども予約をする事業形態であれば、申込者は コード 化したほうが良いかもしれない。
 しかし、もし、予約が、催事のような都度の 「event」 であれば、申込者を コード 化することは無意味かもしれない。

 たとえば、概念設計のなかで、「予約」 entity と「申込者」 entity を認知して、それらのあいだには、「関連」 がある、と認識することが、どれほどの有用性があるのか。論点にしなければならないのは、「申込者」 が、管理過程のなかで、いかように管理されるか、という点であって、「申込者が予約する」 という現象ではない。申込者は、この事例では、あくまで、「予約」 のなかで記録されていて、単独の管理対象ではない。
 さらに、以下を考えてみる (「event」 のなかに、ほかの 「event」 が混入している事態)。

 {受注番号、受注日、受注数、請求金額}.

 「請求番号」 を使っていないので、「請求」 entity は認知されていない。受注伝票が、請求にも使われている──おそらく、受注された時点で、即、請求する、という事業形態である。もし、この事業形態を、「受注」 entity と 「請求」 entity を認知して、それらのあいだには 「関連」 がある、と認識すれば、事業過程および管理過程を、正確に記述していることにはならない。

 もし、システム・エンジニア が、事業過程を対象にして、「現実を、ありのままに」 記述する、とするなら、「現実」 というのは、管理過程のことであって、「物的世界」 のことではない。事業過程を対象にして、「モノ と関係」 を記述する際、小生 (佐藤正美) は、チェン ER手法 (の有用性) を、金輪際、認めていない。



[ 補遺 ] (2009年 3月 1日)

 前回の 「『真』 概念 (その 1)」 (376 ページ) で、TM (T字形 ER手法の改良版) の手続きは、以下の手続きであることを 「完全性」 「健全性」 の観点から説明しました──その ページ のほかにも、この手続きは、本 ホームページ のあちこちで説明しています。

   「合意」 された認知 → 「L-真」 の構成 → 「F-真」 の験証

 この手続きのなかで最初の段階となっている 「『合意』 された認知」 という概念を本 エッセー で説明しています。
 さらに、システム 設計において、「解釈」 が front-end に出てくる局面として、以下の ふたつの局面が考えられるでしょう。

 (1) 現実的事態に対する 「解釈」
 (2) モデル (形式的構成) に対する 「解釈」

 従来の システム 設計では、「要件定義」 として、(1) が重視されてきました。すなわち、システム・エンジニア が現実的事態 (事業過程) を観て、(「業務分析」 と称して、) 事業の構成を記述して、さらに、エンドユーザ に対して ヒアリング を実施して改善要望を聴いて、新 システム の要件を まとめるという やりかた を (1960年代から) 踏襲してきました。しかし、こういう やりかた を続けてきて明らかになった点の ひとつは、新 システム が導入されたあとの メンテナンス の 64% は、「分析・設計」 段階の ミス だった、という点です [ この数値は、1980年代なかばに、マーチン J. 氏が調査報告した数値で古いのですが、現代でも、ユーザ の意見を聞いた感じでは──あくまで、印象にすぎないのですが──この数値が低くなっていないようです ]。すなわち、システム・エンジニア が ユーザ の要件を正確に把握できていないという点が明らかにされてきました。今後も、こういう やりかた を続けていれば、この数値は改善されることはないでしょうね。

 上述した TM の手続きを図式化すれば、以下の図として表すことができます (368ページ を参照されたい)。

                  (F-真)
  ┌──────────────────────────────────┐
  │                                  │
  │         ┌───────┐                │
  │         │       │                │
  │        ─┘       └─               ↓
  y (形式的構造) ←    f    ← x (語彙) ← 「情報」 ← 現実的事態
           ─┐ (L-真)  ┌─
            │       │
            └───────┘

 事業過程では、「情報 (帳票、画面、レポート など)」 を使って、仕事の 「意味」 が伝えられてきます。そうならば、事業を理解するには、「情報」 を解析すれば良いということになるでしょう──ただし、「情報」 に記載されたことが 「正しい」 かどうか [ 言い換えれば、「情報」 に記載されたとおりに実際の仕事をやっているかどうか ] はわからない。そこで、「現実的事態」 と 「情報」 とのあいだに不一致がないことを以下のように調べれば良いでしょう。

 (1) 「情報」 に対して形式的構成を与える。
 (2) 形式的構成を現実的事態と対比して 「正しい」 ことを験証する。

 すなわち、前述した 「解釈」 では、「モデル に対する 『解釈』」 を重視するということです。そのためには、「情報」 に対して形式的構成を与えるときに、以下の 2点を遵守しなければならないでしょう。

 (1) ユーザ が使っている言語を変形しない。
 (2) ユーザ が使っている言語に対して、できるだけ機械的に構成を与える。

 「機械的に構成を与える」 ということは、「論理法則」 を使って構成するということです。しかも、「情報」 に対して形式的構成を与えれば、事業の 「意味」 を正確に理解できるでしょう。言い換えれば、システム・エンジニア の理解力に頼った 「解釈」 は排除されるということです。そして、上述した図のなかで、関数 f (論理法則) を隠蔽すれば、この図式が示していることは非常に単純なことであって、「文として記述されたことが 『真』 であるのは、実際に そういう事態が起こったことを確認すればいい」 ということです。デイヴィドソン 氏風に言えば、「言明 『p』 が真であるのは、時刻 t において、事態 p と一致するとき、そして、そのときに限る」 ということ。

 ユーザ が使っている言語を変形しないで、ユーザ が どのように事業を実施しているかを 「正確に」 記述するならば、個体 (および それらの集合) の認知は、本 エッセー で説明したように、コード 体系のなかに定義されている個体指定子を使うしかないでしょうね。そして、それが 「合意された」 認知ということです。





  << もどる ベーシックス すすむ >>
  データベースの基礎知識