Decision tables

The decision table systematically separates various logical elements into 4 quadrants:

saldo et 00 4 quad

Top left: List of conditions

saldo et 01 cond

Unlike texts or diagrams, you can see and check the following directly

  • How many and which conditions are used?

  • Are any conditions missing?

  • Are any conditions incorrectly formulated or even superfluous?
     

Number of cases already apparent!

The list of conditions alone is sufficient to derive the theoretically maximum number of possible case distinctions by multiplying the number of condition values. In our example, this results in 48 cases:

Conditions

Values

Cases

C01

Account balance?

<0, 0, >0

3

3

C02

Payment deadline reached?

Y, N

2

6

C03

Customer has VIP status?

Y, N

2

12

C04

Minor payment?

Y, N

2

24

C05

Initial first payment?

IFP, SP

2

48

Bottom left: List of actions

saldo et 02 act

Again, you can check and verify the following directly:

  • How many and which actions are included?

  • Are any actions missing?

  • Are any actions incorrectly worded or even superfluous?

On the right: A rule column for each case

A rule describes which condition or combination of conditions leads to the execution of which action or sequence of actions.
 

First rule

If the balance is less than zero, only a log entry should be made:

saldo et 03 r01

In contrast to the time-consuming creation and maintenance of texts or diagrams, decision tables allow rules to be created or modified with just a few mouse clicks.

The minus signs in the rule cells are so called 'don’t care' symbols, they indicate that the respective condition or action is irrelevant in that rule column.

Rule columns with conditions marked as irrelevant cover more than one rule. The rule column R01 alone covers already 16 possible condition combinations.

 

Second rule

If no balance can be determined, no action should be taken:

saldo et 04 r02

 

The finished table

With only 8 rule columns, our example covers all possible combinations of condition values. With appropriate tool support including guaranteed completeness, as well as freedom from redundancies and contradictions.

saldo et 05 r01 to r08

See for yourself how clearly and quickly certain issues can be examined in the decision table — especially in comparison to the text:

  • Under what circumstances is a log entry created?

  • When should no action be taken?

Here is the original text again for direct comparison:

If no balance can be determined, no action is taken. If there is a balance of less than zero (negative credit balance, overpayment), it must be recorded as a log entry.

If the payment reminder deadline has not been reached yet, no action is taken even if there is a balance.

If a balance greater than zero can be determined and the reminder deadline has also been reached, there is only a log entry made for 'VIP' customers. For all other customers, it must be distinguished whether the outstanding amount is a minor contribution or not:

  • In the case of minor contributions for the transaction type 'first payment', an Article 38 reminder (initial first payment) is to be triggered and a contract termination must be scheduled.

  • In the case of minor contributions for the transaction type 'subsequent payment', an Article 39 reminder (subsequent payment) is triggered with immediate contract termination.

If the outstanding amount is not a minor contribution, again two possible transaction types must be differentiated:

  • In the case of subsequent payments, an Article 39 reminder is issued, although in this case no contract termination is triggered.

  • In the case of first payments, an Article 38 reminder is issued, also without contract termination.

Conclusion

Decision tables have numerous advantages over other forms of presentation when describing logical dependencies:

  • Very compact and clear presentation

  • Very good overview, especially with regard to quantity structures

  • Working with and on the rules is much less strenuous and tiring than in the case of texts or diagrams, for example

  • The easily accessible high level of detail also greatly reduces the risk of misunderstandings

  • Very easy to check by machine, possibly even with automatic addition of missing rules

  • Can also be easily machine-processed: program and test case generation