選択関係

JIS規格を読んで、1つデシジョンテーブルを書いて見た。


お題は、「携帯電話の基本料金割引」!

動作部から、複数のテーブルへ分岐する「選択関係」のデシジョンテーブルだ。


これを1つのテーブルで表現するとかなり苦しい。
テーブルの表現をわかりやすくするために、
特定の条件にしか関連が無い条件は、外出しのテーブルにするとよいと思う。


『携帯の基本料金割引きテーブル』は2値の条件が5つあるので、
完全なテーブルだと「2×2×2×2×2=32規則」となる。


上記の図は、10の規則しか無いが
「誰でも割」「年割」「スマイルハート割引」「ガク割」は、
排他関係にある条件なので、有効な規則だけを書いている。


だから以下の図のように書き直すことも出来る。

どちらの使い方が良いかは、状況によるだろうか?

「優先割引」という括りは、テーブルを小さくするために使ってみたが
実際にはそういう括りは存在しない。

以下のような事を踏まえつつ、判断するのがよいのかもしれない。

  • 各々の条件の独立性
  • 条件の種類が増えた時のテーブルの修正し易さ
  • テーブルが使われる場面
  • 印刷して1ページに収まるか