« 原因結果グラフを解剖 - AND/ORなど | トップページ | [例題]分析する - マインドマップ版 »

原因結果グラフを解剖 - 制約記号

  • 原因結果グラフを解剖 - AND/ORなど
  • 引き続き、制約条件を表すグラフをチェック。制約とはありえない組合せを表現するための表記で、ソフトウェアテストではとても重要。

  • EXCLUSIVE OR(EXC、排他的)
  • 排他的EXCは、原因ノードのうち「T」になれるのはひとつだけ。「NHKを見るか、フジテレビを見るか、それともテレビを見ないか」。

    Cegexc


  • INCLUDE(INC、包含)
  • 包含INCは、原因ノードのうち、少なくともどれかが「T」でなければならない。「自動販売機の、コーヒーを押そうか、お茶を押そうか、それとも両方押しちゃおうか」。

    Ceginc


  • ONE(ONE、一方のみ)
  • ONE制約は、原因ノードのうち、どれかひとつだけが「T」でなければならない。「じゃんけんの結果は、勝ちか、負けか、あるいはあいこ」。

    Cegone


  • REQUIRE(REQ、必要)
  • REQ制約は、原因ノードが「T」ならば、かならず結果も「T」にならなければならない。「充電がなくなれば、携帯電話はつながらない」。ちょっと違うか。

    Cegreq


    この他にも、隠蔽(M)があるらしいのだが、お目にかかったことがない。どういうときに使う制約なんだろう。

    |

    « 原因結果グラフを解剖 - AND/ORなど | トップページ | [例題]分析する - マインドマップ版 »

    コメント

    ツールを作るという観点からいうと、制約を表にまとめるといいですよ(原因ノードはA,B,Cの3つを使うようにするといいです。2つだとあいまいなところが出るから)。

    MASKは、「1つ目の原因が真の場合、2つ目以降の原因は非決定になる」ということです。非決定とは、値がTrueとFalseどちらかわからない状態の事をいいます。

    A⇒BとMASKが掛かっている場合、

    A B C
    ---------
    T M M
    T M M
    T M M
    F T T
    F T F
    F F T
    F F F

    になるということです。AがTrueになると、BとCは意味が無くなるとき(機能で言えばそれが動かなくなる時)に使用します。
    例えば、携帯電話で通話中にメールチェックが行われないとしますよね。そういったときには、

    「通話中⇒メールチェック」とMASKをかけて、その制約を明確にするわけです。

    投稿: あきやま | 2008年2月10日 (日) 08:58

    >あきやまさん

    解説ありがとうございます。例えば、印刷時に「まとめて1枚」と
    「印字方向」の関係を原因結果の関係で考えるとMASKを使う、
    といった考え方ですかね。(HAYST本7章の例でいえば)

    A,B,Cのマトリクス7行でまだ理解ができていないのですが、

    A B C (s.t. A→[mask]→B)
    ------
    T M M
    T M M
    T M M
    (略)

    同じ行が3つ必要なのは何故なのだろう。。
    もう少し考えてみます。

    投稿: softest | 2008年2月10日 (日) 16:17

    「まとめて一枚」と「倍率を指定する」はXORの関係です。

    プリント系で例をあげるなら、「AUTO」(True/False)という機能があって、自動にすると設定した項目が無効になる(使われなくなる)ような因子に対してMASKを「AUTO」から掛けます。

    > A,B,Cのマトリクス7行で

    すみません。8行でした。

    A B C
    ---------
    T M M
    T M M
    T M M
    T M M
    F T T
    F T F
    F F T
    F F F

    というのは、MASKがかかっていないと、

    A B C
    ---------
    T T T
    T T F
    T F T
    T F F
    F T T
    F T F
    F F T
    F F F

    の8通りの状態を持てるのに、MASK制約が掛かったことによりBとCの状態はTでもFでもなく「MASKされて感知できない状態」になっていることを表しています。

    言葉で書くとちょっと分かりづらいかもしれませんね。

    投稿: あきやま | 2008年2月11日 (月) 08:09

    >あきやまさん

    またまた詳しくコメントありがとうございます。
    HAYST本の禁則例でいえば、
     A proxy設定(ON/OFF)
     B ホスト名
     C ポート番号
    として、A⇒B,Cの関係かな。AがOFFのときにB,Cが使われなく
    なるので。

    > すみません。8行でした。
    (中略)
    > の8通りの状態を持てるのに、MASK制約が掛かったことにより
    > BとCの状態はTでもFでもなく「MASKされて感知できない状態」に
    > なっていることを表しています。

    いえいえー、解説感謝です。なんとなく8行の間違いかとあとで
    考えていました。


    投稿: softest | 2008年2月11日 (月) 10:57

    > HAYST本の禁則例でいえば、
    >  A proxy設定(ON/OFF)
    >  B ホスト名
    >  C ポート番号
    > として、A⇒B,Cの関係かな。AがOFFのときにB,Cが使われなく

    細かいことを言うと、(not A)⇒B,Cですかねー。
    Trueになるときに隠される(使われなくなる)ものなので。

    投稿: あきやま | 2008年2月11日 (月) 11:22

    >あきやまさん

    > 細かいことを言うと、(not A)⇒B,Cですかねー。

    ご指摘の通りですね^^;
    今度、「HAYST法⇔CEG」と「禁則⇔制約」って今度比べてみてみますー。

    投稿: softest | 2008年2月11日 (月) 15:48

    コメントを書く



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




    トラックバック

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

    この記事へのトラックバック一覧です: 原因結果グラフを解剖 - 制約記号:

    « 原因結果グラフを解剖 - AND/ORなど | トップページ | [例題]分析する - マインドマップ版 »