デシジョンテーブル

「デシジョンテーブルとは」概要や構造、その書き方をわかりやすく解説!

デシジョンテーブルはビジネス、ファイナンス、エンジニアリングなど、複雑な意思決定シナリオを整理して単純化するためのツールです。可能なすべての選択肢、条件、結果を特定し、より情報に基づいた効果的な意思決定につながります。

本ブログでは、デシジョンテーブルの概要、基本構造、その書き方について紹介します。デシジョンテーブルは、複雑な状況や結果を整理し、意図したとおりに機能しているかどうかを判断するのに役立ちます。

Table of Contents

デシジョンテーブルとは

デシジョンテーブル(あるいは決定表)とは、対象が取り得る条件(入力)と、その結果の動作(出力)を洗い出した上で整理し、マトリクス上に一覧化した表のことです。

日本産業規格のJIS X 0125:1986においては、デシジョンテーブルは「決定表」と規定されており、日本語でもそのように呼ばれることがあります。ソフトウェアテストで採用されているブラックボックステスト手法の1つである「デシジョンテーブルテスト」で活用されています。

次の図はデシジョンテーブルの例です。

デシジョンテーブルテスト

出典:medium-company.com

デシジョンテーブルの見方は、例えば1列目であれば「〇〇」と「△△」の両方が当てはまるとき、結果は「C」となります。

デシジョンテーブルテストとは

デシジョンテーブルテストとは、入力状況と関連する出力結果の組み合わせを整理してテストケースを作成することです。この方法は複雑な意思決定ロジックを整理するのに有効なデシジョンテーブルの考えに基づいています。

テスト設計全般についてはこちらのページもご覧ください。

デシジョンテーブルの構成

デシジョンテーブルは主に以下の4つの要素で構成されています。

デシジョンテーブル 書き方

出典:veriserve.co.jp

条件記述部

この部分では、考慮しなければならない要件を列挙し、説明します。図では①の部分が該当します。条件を記述するため、条件記述部と呼ばれます。

動作記述部

考慮する必要がある活動(出力結果)を列挙し、説明します。図ではの部分が該当します。行動を定義していますが、行動記述部分と呼ばれます。

条件指定部

YまたはNは、①で述べた条件が真か偽か、すなわち満たされているか否かを示します。図ではの部分が該当します。YesはYという文字で表され、T(True)という単語を表すのにも使用されます。Nは “No “を表し、F(False)と書かれることもあります。各条件文のY/Nの組み合わせを提供しているのは、条件指定部分と呼ばれるからです。

動作指定部

これは、図の④の部分が該当します。「ルール」とは、各欄に記載された条件項目のY/Nの組み合わせによって、出力結果(動作)を決定するものです。条件の組み合わせに従って動作させる場合は、動作記述に「X」を指定します。「X」の代わりに、「実行」を意味する。アクションを行わない場合は、「-」で示す。動作を指定するため、動作指定部と呼ばれます。

例えば、ルール1では、消費者が会員であるかどうかにかかわらず、タイムサービス時間内であり、かつ割引対象商品であれば10%オフで提供することを定めています。このデシジョンテーブルの各ルールに対してテストケースを定義することで、多くの条件をカバーすることができます。

デシジョンテーブルの作り方

デシジョンテーブルを使って、議論すべき状況を徹底的に網羅し、入力と出力の組み合わせによってテストケースを生成することを 「デシジョンテーブルテスト」 と言います。

複数の条件(入力)とアクション(出力)があり、条件によってアクションが異なる場合、網羅的にテストケースを作成するのは困難ですが、デシジョンテーブルを使って整理すると、極めて綿密なテストケースが簡単に作成できます。サンプル例を使って、デシジョンテーブルを使ったテストのテストケースを作成することを試みてみよう。

サンプル例

あるテーマパークの割引料金に関する仕様が以下の通りで定義されていたとします。

  規則①規則②規則③規則④規則⑤規則⑥
条件
子供YNYNNN
       
高齢者NYNYNN
女性YYNNYN
動作
50%割引XX
20%割引
10%割引XX
5%割引X
割引なしX
  • 子供は、10%割引が適用される
  • 高齢者は、50%割引が適用される
  • 女性の方は、5%割引が適用される

複数の割引条件が重なる場合は、割引率が最も高いものが適用される

各記号は以下のことを示しています。

条件

Y:条件が真(true)であること

N:条件が偽(false)であること

-:条件が動作に影響しない ※N/Aと表すこともあり

動作

X:条件に対して動作が発生する

-:条件に対して動作が発生しない ※空白で表すこともあり

たとえば、「規則1」の場合では、「子供」であり、かつ「女性」であることが条件となります。

「子供」の割引率は10%、「女性」の割引率は5%と定められておりますが、仕様として「複数の割引条件が重なる場合は、割引率が最も高いものが適用」となるため、最も割引率の高い「10%」が該当します。

このように、仕様をデシジョンテーブルテストとして表すことで、テストケースを作成することができます。

ちなみに、条件として「子供」「高齢者」「女性」の全てが該当(Y)となる条件については、「子供」と「高齢者」が相反するためテストケースからは外れています。

デシジョンテーブルの作成における注意点

条件指定部では、考えられるすべての「Y」「N」の組み合わせを作成します。その結果、下の例のように、条件や条件のパターンが増えるにつれて、テーブルが大きくなっていきます。

デシジョンテーブルの作成における注意点

出典:基本情報技術者試験 平成30年秋期 午後試験問5より抜粋

デシジョンテーブルを使ってテストケースを作成する場合、起こりえない、あるいはプロセスとは無関係な条件の組み合わせとそれに伴うアクションを特定することが可能です。

必要なテスト工数を減らすためには、このような無意味なテストケースを特定し、テストケースから削除することが肝要です。

操作と無関係な条件については、上記の参考例のように、条件指定部に「-」などの記号を挿入します。

まとめ

結論として、決定表は複雑なビジネスロジックを分析し、意思決定プロセスを自動化するための強力なツールです。このアプローチを活用することで、企業は業務を効率化し、エラーのリスクを低減し、より効率的かつ俊敏な運営を実現できます。

CMC Japanは、ITソリューションのリーディングプロバイダーとして、決定表の力を最大限に活用するための幅広いサービスを提供しています。当社の専門家チームは、各クライアントのユニークなニーズを理解し、結果をもたらすカスタマイズされたソリューションを提供することに専念しています。コンサルテーション、実装、トレーニング、サポートから、革新的なソリューションを提供することにコミットしており、ビジネスの目標達成に役立つものです。

CMC Japanとパートナーになることは、今日の急速に変化するビジネス環境で競争力を得ることを意味します。決定表を活用してビジネスを変革する第一歩を踏乱しましょう。お気軽にお問い合わせください