软件工程中的因果图示例
问题:有两列:col1 和 col2。 col1 中允许的字符是“a”或“b”。 col2 中允许的字符是数字 0-9。如果列(即 col1 和 col2)都正确,则更新文件。如果 col1 不正确,则显示消息“X”,如果 col2 不正确,则显示消息“Y”。画出给定问题的因果图。
解决方案:
执行以下步骤以创建因果图:
1. 找出原因:
2. 识别效果:
3. 为所有因果创建节点:
4. 使用 AND、NOT、OR 和 Identity 函数来建立因果关系:
1. 从c1、c2、c3中得到e1,方法如下:
2. e2 是从 c1 和 c2 中得到的,方法如下:
3. e3 通过以下方式从 c3 中获得:
5. 向图中添加约束(如果有):
c1 和c2 原因之间存在排他约束(或E 约束),因为在某个时间点,它们中只有一个可以为1,即它们不能同时为1。因此,在它们之间应用了 E 约束。上图是给定问题的最终因果图。