Decision Tables and Decision Trees

   

It's common to see a requirement that deals with a combination of inputs; different combinations of those inputs lead to different behaviors or outputs. Suppose, for example, that we have a system with five inputs ”A, B, C, D, and E ”and we see a requirement that starts with a pseudocode-like statement: "If A is true, then if B and C are also true, generate output X, unless E is true, in which case the required output is Y." The combination of IF-THEN-ELSE clauses quickly becomes tangled, especially if, as in this example, it involves nested IF s. Typically, nontechnical users are not sure that they understand any of it, and nobody is sure whether all the possible combinations and permutations of A, B, C, D, and E have been covered.

The solution in this case is to enumerate all the combinations of inputs and to describe each one explicitly in a decision table . In our example, if the only permissible values of the inputs are "true" and "false," we have 2 5 , or 32, combinations. These can be represented in a table containing 5 rows ”one for each input variable ”and 32 columns .

Alternatively, a decision tree can be drawn to portray the same information. Figure 24-3 shows a decision tree used to describe the HOLIS emergency sequence.

Figure 24-3. Example of a graphical decision tree

graphics/24fig03.gif

   


Managing Software Requirements[c] A Use Case Approach
Managing Software Requirements[c] A Use Case Approach
ISBN: 032112247X
EAN: N/A
Year: 2003
Pages: 257

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net