Document

advertisement
Decision Tables
- a brief overview
Dr. Rogelio Dávila Pérez
ITESM, Campus Guadalajara
Index
 Definition
 Structure
 Steps to build a decision table
 Example
 Solution to the example
 Exercises
Decision Tables
In the 50's General Electric, the Sutherland Corporation,
and the United States Air Force worked on a complex
file maintenance project, using flowcharts and
traditional narratives, they spend six labor-years of
effort but failed to define the problem.
It was not until 1958, when four analysts using
decision tables, successfully defined the problem in
less than four weeks 1.
_____________________________________
1Taken from “A History of Decision Tables” located at
http://www.catalyst.com/products/logicgem/overview.html
Definition
Tables represent an easy way for humans to read, understand and
execute complex procedures, particular policies, etc.
A decision table is a useful tool that allows us:
- To present decision procedures in a clear tabular form.
- To understand complex logic expressed in traditional narrative
form.
- To check for inconsistencies verifying that every possibility was
considered in the solution.
Structure
A decision table is typically divided in four areas:
Conditions
Condition
Alternatives
Actions
Action
Entries
The conditions are decisions that depending on their values, define
different states of affairs in the problem.
Actions (effects, results, etc.) are operations or values that will be
determined by particular circumstances.
All possible combinations
Conditions
<cond-1>
F
T
F
T
F
T
F
T
…
T
<cond-2>
F
F
T
T
F
F
T
T
…
T
<cond-3>
F
F
F
F
T
T
T
T
…
T
F
F
F
…
T
…
<cond-n>
…
F
F
F
<action-1>
<action-2>
Actions
F
F
X
X
X
<action-3>
X
X
X
X
…
<action-m>
X
X
X
X
X
…
X
X
X
Actions per combination
(each column represents a different state of affairs)
Steps to create a decision table
1. List all the conditions which determine which
action to take.
2. Calculate the space of combinations.
3. Fill all combinations in the table.
4. Analyze column by column to determine which
actions are appropriate for each combination.
5. Reduce the table by eliminating redundant
columns.
Example
 Policy for charging charter flight costumers for
certain in-flight services:2
If the flight is more than half-full and costs more than $350 per seat, we
serve free cocktails unless it is a domestic flight. We charge for
cocktails on all domestic flights; that is, for all the ones where we
serve cocktails. (Cocktails are only served on flights that are more
than half-full.)
_____________________________________
2 Example taken form: Structured Analysis and System Specification, Tom de Marco,
Yourdon inc., New York, 1979.
List all the conditions that determine
which action to take.
Conditions
Values
The flight more than halffull?
Yes (Y), No (N)
Cost is more than $350?
Y, N
Is it a domestic flight?
Y, N
Calculate the space of combinations
Conditions
Number of
Combinations
Possible Combinations
1
2
Y N
2
4
Y N
Y Y
Y
N
N
N
3
8
Y N
Y Y
Y Y
Y
N
Y
N
N
Y
…
…
n
2n
Y
Y
N
N
Y
N
Y
N
N
N
N
N
Calculate the space of combinations1
Number of Values to the power of the number of
conditions with these values
 If all conditions are simply Y/N values:
2number of conditions
 If 1 condition with 3 values and 3 with 2:
31 * 23 = 24
 Or, use the values per condition and multiply
each value down the column, e.g. 3*2*2*2=24
_____________________________________
1 Taken from Mariel de Wilde’s Decision Table Training Session
Calculate the space of combinations
Conditions in the example are 3 and all are
two-valued ones, hence we have:
All combinations are 23 = 8
Fill all combinations in the table.
ACTIONS
CONDITONS
POSSIBLE COMBINATIONS
more than halffull
N
N
N
N
Y
Y
Y
Y
more than $350
per seat
N
N
Y
Y
N
N
Y
Y
domestic flight
N
Y
N
Y
N
Y
N
Y
Analyze column by column to determine
which actions are appropriate for each
combination
ACTIONS
CONDITONS
POSSIBLE COMBINATIONS
more than halffull
N
N
N
N
Y
Y
Y
Y
more than $350
per seat
N
N
Y
Y
N
N
Y
Y
domestic flight
N
Y
N
Y
N
Y
N
Y
X
X
X
X
serve cocktails
free
X
Exercises
 Subsidy policy for the cub scout pack3:
The subsidy to the cub scout pack is based on number of scouts, rank,
and length of membership. The subsidy for each scout is $25 for
first-year members, $35 for second-year members, and $50 for
scouts who have been members longer than two years. In addition
to this base, each scout gets an extra subsidy of $10 if he has
attained the rank of Wolf, $15 if he has attained the rank of Bear,
and $20 if he has attained the rank of Lion – unless he does it in his
first year, in which case he receives $70.
_____________________________________
3 Example taken form: Structured Analysis and System Specification, Tom de Marco,
Yourdon inc., New York, 1979.
Exercises
 Specify the following policy using a decision table: 1
A mailing is to be sent out to customers. The content of the mailing is
about the current level of discounting and potential levels of
discounting. The content is different for different types of customers.
Customer Types A, B and C get a normal letter except Customer Type
C, who get a special letter. Any customer with 2 or more current lines
or with a credit rating of ‘X’ get a special paragraph added with an offer
to subscribe to another level of discounting.
_____________________________________
1 Taken from Mariel de Wilde’s Decision Table Training Session
Download