« [記事]CUnitによるテスト駆動開発 | トップページ | 【改^2】原因結果グラフ デシジョンテーブル作成 »

【改】原因結果グラフ デシジョンテーブル作成

原因結果グラフ デシジョンテーブル作成はコメントで指摘されたように間違ってるところがあって、また作り直してみました。
#2007/03/17 コメントをいただいたので修正アゲイン!
#2007/03/17 再チャレンジでも正解にたどりつけてないので、整理してからリベンジ予定~

==

(1) 原因と結果の洗い出し
(2) 原因結果グラフ作成
(3) 原因結果グラフ修正

では、まずは前回作成したグラフは以下のとおり。



煩雑さをなくすために原因にあたる6つの条件を①~⑥とする。
1つ目の結果「正常に受信される」について。


Cegdt01


これを成立させるためには、

 ①、かつ、not④、かつ、not⑤、かつ、not⑥

となるので、ここの局所的なデシジョンテーブルは、

Dt01_2

という5つのテストケースになる。AND条件のデシジョンテーブル作成方法は後ほど記事にしたいな。

2つ目の結果は「メールが一時拒否される」について。


Cegdt02


これは単純である。


Dt02


3つ目の結果は「メールが拒否される」についてだが、これは中間ノードaがある。

Cegdt03


ここでの局所的なデシジョンテーブルは

 ②、または、③、または、④、または、⑤
 中間ノードa、かつ、not⑥

という満足条件なので、

Dt03_1
#2007/03/17 画像差し替えしました。

この2つを結合してみる。

Dt03a
#2007/0/17 画像追加しました。

最後にこれらすべてのデシジョンテーブルを結合するとこんな感じ。になると思う。

Dt041_1

ここでテストケースの集約をしてみる。まずは、5列目7列目はまったく同じなので、7列目を削除。3列目10列目4列目11列目も同様に削除できる。また、6列目5列目に吸収でき、2列目8列目と9列目と同等となる。(制約Oがあるため
#2007/03/17 コメントを修正します。

  • 2列目
  • 8列目と9列目と同値(制約O)なので削除
  • 6列目
  • 5列目と同値なので削除
  • 7列目
  • 1列目と同値なので削除
  • 10列目と11列目
  • それぞれ3列目、4列目と同値なので削除

    Dt06_1


    さあ、見やすくしてみるとこんな感じのデシジョンテーブルが完成する。

    Dt07
    #2007/03/17 画像を差し替えました。中間ノードについても記載。

    なんか、チョーそれっぽいテーブル♪あってるかなあ。
    そういえば、中間ノード名つけるの忘れちゃった~

    |

    « [記事]CUnitによるテスト駆動開発 | トップページ | 【改^2】原因結果グラフ デシジョンテーブル作成 »

    コメント

    おしい!
    中間ノードaと、⑥のデシジョンテーブルが間違っています。

    確認しなければならないのは、TT, FT, TFなので、

    a and (NOT ⑥) then 拒否
    (NOT a) and (NOT ⑥) then (NOT 拒否)
    a and ⑥ then (NOT 拒否)

    です。

    投稿: あきやま | 2007年3月16日 (金) 23:39

    それから、デシジョンテーブルには中間ノードの行も作りましょう。

    投稿: あきやま | 2007年3月17日 (土) 00:26

    >あきやまさん

    コメントありがとうございます。
    ご指摘のとおり、⑥は否定なので修正してみました。

    中間ノード(名前つけ忘れ)も最後のデシジョンテーブルにいれてみました。これはチェック用に残しておくものですか?

    今回は Don't care の升目がないので、教えていただいた検算ができないのかなあと思っているんですが、正しいんでしょうか?汗

    投稿: softest | 2007年3月17日 (土) 11:01

    中間ノードaと、⑥のデシジョンテーブルはそれでOKですが、
    その修正に伴って、最後のテーブルの#2列の⑥はTで
    結果も一時拒否がTになりません??

    中間ノードは残しておいて観測できる場合は、テスト中に
    確認する必要があります。

    Don't careの検算はできませんが、局所的なデシジョンテーブルで
    作った論理組み合わせが最後の表に出ているかでチェック
    します。

    今回の例では、修正した表の⑥がTでaがTのパターンが
    最終的なデシジョンテーブルに現れていないことがわかります。

    投稿: あきやま | 2007年3月17日 (土) 11:49

    >あきやまさん

    たびたびのご指摘ありがとうございます^^;
    なかなか正解にたどり着けませんね。汗

    一度整理して再アップしてみます!

    # おしいところまではいってるんでしょうか。。。

    投稿: softest | 2007年3月17日 (土) 15:55

    > # おしいところまではいってるんでしょうか。。。

    はい。最終テーブルで他の列はOKと思います。
    がんばれ~。

    投稿: あきやま | 2007年3月17日 (土) 16:22

    コメントを書く



    (ウェブ上には掲載しません)




    トラックバック

    この記事のトラックバックURL:
    http://app.f.cocolog-nifty.com/t/trackback/155415/5712852

    この記事へのトラックバック一覧です: 【改】原因結果グラフ デシジョンテーブル作成:

    « [記事]CUnitによるテスト駆動開発 | トップページ | 【改^2】原因結果グラフ デシジョンテーブル作成 »