「モデ 家」 の アトリビュート・リスト (「契約」 に関する アトリビュート) を検討しました。
● HDR-DTL の 「階」 構成 (その 1)
「契約」 は、HDR-DTL 構成で、かつ、「階」 構成になっています。
まず、「請求時期」 を検討しました。
HDR-DTL 構成の 「階」 のなかで、「請求時期」 は、以下の範囲で束縛変数になっている点に注意していてください。(参考 1)
{ 契約年月日・・・ { 契約期間, 契約期限 (D), 更新 フラグ・・・ { 請求時期 } } }.
契約年月日、契約期間、契約期限 (D)、更新 フラグ については、前回、検討しました。
請求時期が、それらの アトリビュート に対して、どういう制約・束縛があるかを検討したときに、「契約」 の継続・終了が争点になりました。
(1) 「終了」 は、「絶版」 のとき、そして、そのときに限る。
なお、「絶版」 は、「書名」 の VE として記述されている。
(2) 「継続」 は、契約年月日、契約期間、契約期限 (D)、更新 フラグ を前提にして、
以下の計算式で判断される。
(契約年月日 + 5) × N > 現在日.
当然ながら、「絶版」 であれば、(2) の値が生じないことは確認されなければならない。
この構成は、「絶版」 にならないかぎり 「継続」 であって、しかも、「継続」 は、それが 「当初契約」 であるのか 「継続契約」 であるのかを問わない、という事業形態です。
→ 板書写真 (1)
● HDR-DTL の 「階」 構成 (その 2)
「請求時期」 に対する HDR は、さらに、サブセット として、HDR-DTL 構成になっています。
┌─────────────────┐
│ 契 約 E│
├────────┬────────┤
│契約番号 │ │
│ │ │
│ │ │
└────────┼────────┘
|
×
|
┌───────────┴───────────┐
| |
┌────────┴────────┐ ┌────────┴────────┐
│ HDR │ │ DTL-1 │
├────────┬────────┤ ├────────┬────────┤
│契約番号 │ │ │契約番号 │請求時期 │
│顧客番号(R) │ ├┼───<│取引先コード(R) │ │
│ │ │ │ │ │
│ │ │ │ │ │
│ │ │ │ │ │
└────────┼────────┘ └────────┴────────┘
└───────────┐
|
× null
|
┌───────────┴───────────┐
| |
┌────────┴────────┐ ┌────────┴────────┐
│ 付属品無 │ │ 付属品有 │
├────────┬────────┤ ├────────┬────────┤
│ │ │ │ │ │
│ │ │ │ │ │
│ │ │ │ │ │
│ │ │ │ │ │
│ │ │ │ │ │
└────────┴────────┘ └────────┼────────┘
┌───────────┘
|
×
|
┌───────────┴───────────┐
| |
┌────────┴────────┐ ┌────────┴────────┐
│ HDR │ │ DTL-2 │
├────────┬────────┤ ├────────┬────────┤
│ │ │ │契約番号 │数量 │
│ │ ├┼───<│書名コード(R) │単価 │
│ │ │ │費目コード(R) │金額(R) │
│ │ │ │ │ │
│ │ │ │ │ │
└────────┴────────┘ └────────┴────────┘
「請求時期」 を束縛している HDR が、さらに、(サブセット 構成のなかで) HDR-DTL 構成になっているので、DTL どうしの 「写像 (対応性)」 を確認しておかなければならない──上述の TMD で、DTL-1 と DTL-2 との対応関係を確認しておかなければならない。
DTL-2 は、付属品が有ったとき、そして、そのときに限り、付属品に関する費用を計算している構成なので、なんら、DTL-1 を束縛する構成ではない。したがって、DTL-2 は、(サブセット 構成のなかで) HDR-DTL にするのではなくて、VE とするのが妥当でしょうね。
→ 板書写真 (2)
→ 板書写真 (3)
● 「入力値」 に関する注意点
「概算金額」 は、「入力値」──入力された値を そのまま 記入すること──とのこと。
ただし、「入力値」 であっても、以下の点を つねに確認するようにしてください。
(1) その値が 「真」 とされるには、どのような験証をすればいいのか。
(2) 「入力値」 の 「妥当な範囲」 は (ほんとうに) ないのか。
たとえば、「1 円」 と入力されたときに、はたして、その値を そのまま認めていいかどうかは争点になるでしょう。モデル では、つねに、以下の規則が守られていなければならない。(参考 2)
(1) 指示規則 (記述的定項──たとえば、個体と述語──を定義する)
(2) 生成規則 (許された文の形式を定義する)
(3) 真理性 (「真」 を定義する)
(4) 範囲規則 (与えられた文が成立する状態記述──真・偽──の集合を定義する)
TM では、指示規則が entity の定義で、生成規則が 「関係文法」 で、真理性が 「L-真、F-真」 で、範囲規則が 「制約・束縛」──アトリビュート・リスト で記述される項目──です。そして、範囲規則は、たいがい、以下の コントロール の構成となります。
(1) 標準値
(2) 許容範囲 (標準値に対して、上限・下限として ±α の値)
(3) 許容範囲を超えたときの対応 (action)
たとえば、ほかの システム から値を入手するときも 「入力値」 として扱いますが、その値は、ほかの システム で すでに (検証済みで) 使われているからといっても、「いい加減な」 値であることが多い (驚)。システム・エンジニア であるならば、モデル を考えるときに、つねに、上述した規則 (指示規則、生成規則、真理性、範囲規則) を注意していてください。
→ 板書写真 (3)
(参考 1) 拙著 「モデル への いざない」、31ページ (量化記号) と 151ページ (冠頭標準形)。
(参考 2) 拙著 「モデル への いざない」、38ページ。