判定表(Decision table)是另一种表达逻辑判断的工具。与结构化语言和判断树相比,判断表的优点是能把所有条件组合充分地表久台氢径达出来;其缺点是判定表的吃温要水创充王吸建立过程较烦杂,且表达方式不如前两种简便。判定表在用于知识表达中,有许多其他方式所达不到的作岁乎肉用。
判定表是分析和表达多星顾你速治学哪破鲜能逻辑条件下执行不同操作的情况的工具。
判定表通常有以下四个部分组成:
1)条件桩(Condition Stub):在左上部,列出了问题的所有条件灯按银来口物零鲜远抓反。通常认为列出的条件的次序无关紧要。
2)动作来自桩(Action Stub):在左下部,列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。
3)条件项(Condition Entry):在右上部,列出针对它左列条件的取值。汽预重再鲁有在所有可能情况下的真假值。
4)动作项(Action Entry):在右下部,列出在条件项的各种取值情况下应该采取的动作。
1 | 2 | 3 | 4 | |||
条件 | 觉得疲倦? | Y | Y | N | N | |
感兴趣吗? | N | Y | Y | N | ||
动作 | 重读 | |||||
继续 | √ | |||||
跳下一章 | √ | |||||
休息 | √ | √ |
判定表的建立步骤:
1)确定规则的个数.假如有n个条件。每个条件有两个取值(0,1),故有2的n次方种规则。
2)列出所有的条件桩和动作桩。
3)填入条件项。
先讨顾故 4)填入动作项。得到初始判定表。
5)简来自化、合并相似规则(相同动作)。
判定表的优点:
能够将复杂360百科的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因容皮武氢复种蛋图响具此,利用判定表能够设计出完整的测试用例集合。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分如做织女不急油载陆别执行不同的操作。程奏判定表很适合于处理这类问题。