本文来自http://www.freetutes.com/systemanalysis/sa4-decision-tables.html
A
decision table is a table with various conditions and their corresponding
actions
.
Decision tree
is a two dimensional matrix. It is divided into four parts,
condition stub, action stub, condition entry, and action entry
.
See the first
figure listed below. Condition stub shows the various possible conditions.
Condition Stub
|
Condition Entry
|
|
|
Customer is individual ? |
Y
|
Y
|
.
|
.
|
.
|
.
|
Customer shopkeeper or retailer ? |
.
|
.
|
Y
|
Y
|
Y
|
Y
|
Order-size 85 copies or more ? |
.
|
.
|
Y
|
.
|
.
|
.
|
Order-size 49-84 sarees ? |
.
|
.
|
.
|
Y
|
.
|
.
|
Order-size 13-48 copies ? |
.
|
.
|
.
|
.
|
Y
|
.
|
Order-size 12 or more ? |
.
|
Y
|
.
|
.
|
.
|
.
|
Order-size less than 12? |
Y
|
.
|
.
|
.
|
.
|
Y
|
Allow 50% discount |
.
|
X
|
X
|
|
.
|
.
|
Allow 40% discount |
.
|
.
|
.
|
X
|
.
|
.
|
Allow 30% discount |
X
|
.
|
.
|
.
|
X
|
.
|
Allow 15% discount |
.
|
.
|
.
|
.
|
.
|
X
|
Decision table-Discount Policy
Condition entry is used for specifying which condition is being analyzed. Action
stub shows the various actions taken against different conditions.
And action entry is used to find out which action is taken corresponding to
a particular set of conditions.
The steps to be taken for a certain possible condition are listed by action
statements. Action entries display what specific actions to be undertaken when
selected conditions or combinations of conditions are true. At times notes are
added below the table to indicate when to use the table or to distinguish it from
other decisions tables.
The right side columns of the table link conditions and actions and form the
decision rules hence they state the conditions that must be fulfilled for a particular
set of actions to be taken. In the decision trees, a fixed ordered sequence is
followed in which conditions are examined. But this is not the case here as the
decision rule incorporates all the required conditions, which must be true.
Developing Decision Tables
Before describing the steps involved in building the decision table it is important
to take a note of few important points. Every decision should be given a name
and the logic of the decision table is independent of the sequence in which condition
rules are written but the action takes place in the order in which events occur
.
Wherever possible, duplication of terms and meaning should be avoided and only
the standardized language must be used.
The steps of building the concerned tables are given below.
-
Firstly figure out the most essential factors to be considered
in making a
decision.
This will identify the conditions
involved in the decision. Only those conditions
should be selected which have the potential to either occur or not but partial
occurrences are not permissible.
-
Determine the most possible steps that can take place under varying conditions
and not just under current condition. This step will identify the actions.
-
Calculate all the possible combinations of conditions.
For every N number of conditions there are 2*2*2…. (N times) combinations
to be considered.
-
Fill the decision rules in the table.
Entries in a decision table are filled as Y/N and action entries are generally
marked as "X"
. For the conditions that are immaterial(不重要的,无关紧要的) a hyphen "-"
is generally put. Decision table is further simplified by eliminating and consolidating
certain rules. Impossible rules are eliminated(排除). There are certain conditions whose
values do not affect the decision and always result in the same action. These
rules can be consolidated into(统一放到) a single rule.
Example: Consider the recruitment policy(招聘策略) of ABC Software Ltd.
It the applicant is a BE then recruit otherwise not. If the person is from
Computer Science, put him/her in the software development department and if the
person is from non-computer science background put him/her in HR department. If
the Person is from Computer Science and having experience equal to or greater
than three years, take him/her as Team leader and if the experience is less than
that then take the person as Team member. If the person recruited is from non
Computer Science background, having experience less than three years, make him/her
Management Trainee otherwise Manager.
The first decision table for the problem stated above can be drawn as shown
in the figure below.
This table can further be refined by combining condition entries 2, 4, 6, and
8. The simplified table is displayed in the figure below.
扩展阅读
1.Ruling the Business: About Business Rules and Decision Tables 见br_dt.pdf
2.Building Decision Tables http://it.toolbox.com/blogs/enterprise-solutions/building-decision-tables-15903#4571496
3.http://en.wikipedia.org/wiki/Decision_table
4.Decision Table Creator http://sourceforge.net/projects/decisiontablecr/?_test=b
分享到:
相关推荐
现在,通过"DecisionTable"插件,Visual Paradigm用户可以更加便捷地在模型中创建和管理决策表。 "DecisionTable"插件是开源的,这意味着它的源代码可供公众查看、修改和分发,这对于开发者来说是一个巨大的优势,...
决策表创建器是创建/编辑/导出决策表的工具。 可以检查表的一致性和完整性。 可以将结果表复制到剪贴板,以将其合并到Word,Excel或PowerPoint中。 存在计划以扩展到多价值决策。 请请求此扩展名或其他扩展名,这样...
标题中的"spring-camel-drools-decision-table-example-6.1.0.CR1.zip"表明这是一个关于Spring、Apache Camel和Drools决策表的开源项目示例,使用的版本是6.1.0的候选发布版1(CR1)。这个项目可能展示了如何在...
决策表(Decision Table)是一种用于表示多种条件和对应结果的工具,它在业务规则管理系统中被广泛使用。它通过清晰地列出所有可能的条件组合及其相应的行动,使得复杂的逻辑易于理解和维护。在Java开发中,决策表...
在DMN中,所有的decision logic都是用boxed expression展现的。Clause 7.2介绍了boxed expression的概念并且定义了两个简单类:boxed literal expressions 和boxed invacations。Clause 8 中定义的decision tables...
var DecisionTable = require('decision-table') var table = new DecisionTable( ['type', 'count', 'applied', 'emotion'], [ ['a', 1, true, 'happy', 1], ['a', 1, true, 'sad', 2], ['a', 1, false, '...
输入示例:// DECISION_TABLE:// 1 3 2 2 | 浅== $$ / * 1 =红色,2 =黄色,3 =绿色。 * / // N---| 速度==停止///--Y-| 速度==慢///-N-Y | 速度==快// // ______ | ___________________ // X-X-| 停止(); //---...
- 在60%的训练数据占比下,以智能系统为class,对比了多种算法的准确率:C4.5(J48)达到96.45%,SimpleLogistic和DecisionTable为95.92%,RandomForest为95.21%,BayesNet为93.97%,RandomTree为90.96%,SMO为95....
- 通过 DecisionTable 创建 WebService 适用于决策逻辑较为复杂的情形。 - **步骤**: 1. 创建 DecisionTable 表格,并定义不同的决策路径。 2. 发布为 WebService。 8. **通过 ExternalWebService 创建 ...
它提供了直观的用户界面,用于编写、验证和维护规则流图(Drools Flow)以及决策表(Decision Table)。此外,它还支持规则的版本控制和协同编辑,以促进团队间的合作。 在7.8版本中,Drools Workbench可能包含以下...
DMN模型通常包括决策表(Decision Table)、信息要求(Information Requirements)和决策(Decision)等元素,它让业务专家和IT人员能更有效地协作。 在这个"Recommended Loan Products"的场景中,DMN文件...
在该项目中,你可以学习到如何配置Drools工作台,如何创建规则流(RuleFlow)、决策表(Decision Table)或者DRL(Drools Rule Language)文件,并通过Web界面进行交互式测试。同时,你可能会发现Maven或Gradle的...
Flowable v6.4.2版本包含了对DMN 1.1的支持,允许用户创建决策表(Decision Table)和决策树(Decision Tree),并将其集成到流程中,实现智能决策点的自动化。 3. Form 表单: Flowable提供了灵活的表单支持,...
**判定表与判定树(Decision Table & Decision Tree)** 实验四涉及过程设计工具——判定表和判定树。判定表用于表示复杂条件与相应动作的对应关系,而判定树则以图形方式更直观地展示这些关系。交易所手续费计算的...
- **Create Decision Table**:创建决策表,支持基于规则的决策逻辑,常用于业务流程自动化。 - **Create Table**:定义新的数据表,包括字段、数据类型和约束条件。 - **Create Virtual Table**:创建虚拟表,...
判定树(Decision Tree)和判定表(Decision Table)则用于清晰表达复杂的逻辑决策过程。 2. 面向对象(Object-Oriented,OO)的需求分析中,统一建模语言(Unified Modeling Language,UML)是一种标准的建模工具...
数据处理之分析模型是指使用数据流程图(Data Flow Diagram,DFD)、结构化英语(Structured English)和决策表(Decision Table)等工具对数据处理过程进行分析和设计。 数据流程图(DFD)是指用来描述数据处理...
Drools7支持GDL(Guided Decision Table Language)和MVEL,这两种规则语言都得到了进一步的发展。GDL允许通过表格形式编写规则,适合非技术人员理解;MVEL是Drools的内建表达式语言,提供了更灵活的语法。 3. **...