原因結果グラフを解剖 - 制約記号
引き続き、制約条件を表すグラフをチェック。制約とはありえない組合せを表現するための表記で、ソフトウェアテストではとても重要。
排他的EXCは、原因ノードのうち「T」になれるのはひとつだけ。「NHKを見るか、フジテレビを見るか、それともテレビを見ないか」。

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

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

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

この他にも、隠蔽(M)があるらしいのだが、お目にかかったことがない。どういうときに使う制約なんだろう。
| 固定リンク
この記事へのコメントは終了しました。

コメント
ツールを作るという観点からいうと、制約を表にまとめるといいですよ(原因ノードは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