7.6 因果图法

在利用判定表设计法设计用例的过程中,往往会遇到输入与输入之间存在约束的情况。在这种复杂情况下,采用因果图会是一种不错的选择。

因果图的绘制过程,可以理解为用例设计者针对因果关系业务的建模过程。根据需求规格绘制因果图,然后得到判定表进行用例设计,通常理解因果图为判定表的前置过程。

7.6.1 概念

输入及输出间主要有恒等、非、与、或等4种因果关系。

输入与输入之间的关系主要有互斥、或、唯一、要求、强制等5种约束关系。

原因和结果之间的因果关系:

Ci:原因。

Ei:结果。

恒等:结果=原因。

非~:原因=1,结果=0;原因=0,结果=1。

或∨:原因只要有=1,结果=1;原因都=0,结果=0。

与∧:原因都=1,结果=1。

约束关系表示原因与原因之间、结果与结果之间可能存在的约束条件:

从输入考虑:

E(异):表示ab两原因不会同时=1,最多一个能=1。

I(或):abc三个原因中至少有一个必须=1,不能都=0。

O(唯一):ab当中必须有一个,且仅有一个=1。

R(要求):当a=1时,b必须也=1,不可能a=1,b=0。

从输出考虑:

M(强制或屏蔽):a=1时,b必须=0;a=0时,b的值不定。

7.6.2 举例

某软件规格说明书包含这样的需求:

第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下可以进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。