<< 目次を表示 >> ページ位置: その他の記法のモデリング > DMN > DMN表現エディタ > デシジョンテーブル > デシジョンテーブルの評価 |
デシジョンテーブルは、DMNの表記の中でも最も広く利用され、意思決定のルールを表現するための最も便利な表現です。しかし、デシジョンテーブルの定義は複雑になりやすく、特に複数の入力の組み合わせでルールが多数になる場合には複雑になります。
Enterprise Architectには、デシジョンテーブルを評価する機能があります。このトピックでは、デシジョンテーブルの評価機能について説明します。
利用手順:
DMN 表現 サブウィンドウ |
シミュレーション > デシジョン分析 > DMN > DMN表現 その後、評価ボタンを押す |
DMN シミュレーション サブウィンドウ |
シミュレーション > デシジョン分析 > DMN > DMNシミュレーションウィンドウ Simulateタブで評価ボタンを押す |
範囲外の条件を抽出する
デシジョンテーブルの入力句と出力句に「選択可能な値」を定義することをお勧めします。
「選択可能な値」のリストを利用して、テーブルルールの入力エントリと出力エントリの値の範囲チェックが実行されます。
この例では、上の画像のような条件を指定しています。
こうした問題が生じた場合は、実際のビジネスルールに照らし合わせ、「選択可能な値」を更新するか、無効なルールの入力エントリを修正して対応します。
完全性の検知 – ルール間の漏れを見つける
デシジョンテーブルのルールの漏れとは、入力値に対して一致するルールがない場合を指します。こうした場合は、一部のロジックやルールが欠落している可能性があります(デフォルトの出力が定義されている場合を除く)。
デシジョンテーブルに多くのルールがあり、それぞれのルールが数値の範囲を指定しているような場合、目でルールの漏れを見つけることは難しくなります。また、すべての条件を網羅するテストケースを作成し実行するのにも非常に時間がかかります。
次の例で説明します。
こうした複雑なデシジョンテーブルでも、評価機能によりルールの漏れを見つけることができます。評価機能は細部まで正確に検証できるため、ルール9のエラーが明らかになります。ルール9の入力エントリ(580..600]は、[580..600]である必要があります。
単一選択の方針の場合に、複数ルールの合致を防ぐ
ルールに重なりがあると、入力値に対して、複数のルールが条件に合致する可能性があります。デシジョンテーブルの適用方針が「Unique」に指定されている場合、この状況は適切ではありません。
デシジョンテーブルに多くのルールがあり、それぞれのルールが数値の範囲を指定しているような場合、目でルールの漏れを見つけることは難しくなります。また、すべての条件を網羅するテストケースを作成し実行するのにも非常に時間がかかります。
次の例で説明します。
評価機能の実行結果で、ルール4とルール5に重なりが生じていることが報告されています。2つのルールを詳細に見ていくと、3番目の入力値「Credit Score」に重なりがあることがわかります。「<610」は「[600..625]」と重なっています。この問題を修正するには、実際のビジネスルールに照らし合わせ、ルール4を「<600」に変更するか、ルール5を「[610..625]」に変更します。
参照: