Page 282 -
P. 282
Chapter 9 • proCess speCifiCations and struCtured deCisions 249
®
HypERCasE ExpERiEnCE 9
“It’s really great that you’ve been able to spend all of this time HyPERCASE Questions
with us. One thing’s for sure: We can use the help. And clearly,
from your conversations with Snowden and others, you must real- 1. Assume that you will create the specifications for an auto-
ize we all believe that consultants have a role to play in helping mated project tracking system for the Training employees.
companies change. Well, most of us believe it anyway. One of the system’s functions will be to allow project mem-
“Sometimes structure is good for a person. Or even a com- bers to update or add names, addresses, email addresses and
pany. As you know, Snowden is keen on any kind of structure. phone numbers of new clients. Using structured English,
That’s why some of the Training people can drive him wild some- write a procedure for carrying out the process of entering a
times. They’re good at structuring things for their clients, but when new client name, address, email address and phone numbers.
it comes to organizing their own work, it’s another story. Oh well, (Hint: The procedure should ask for a client name, check to
let me know if there’s any way I can help you.” see if the name is already in an existing client file, and let
the user either validate and update the current client address,
email address, and phone number [if necessary] or add a new
client’s address, email address, and phone number to the cli-
ent file.)
Summary
Once an analyst has worked with users to identify data flows and begun constructing a data dictionary, it
is time to turn to process specification and decision analysis. The three methods for decision analysis and
describing process logic discussed in this chapter are structured English, decision tables, and decision trees.
All three methods help an analyst develop the logic for structured decisions made in the organization. Mak-
ing structured decisions need not involve human judgment.
Process specifications (or minispecs) are created for primitive processes on a data flow diagram as
well as for some higher-level processes that explode to a child diagram. These specifications explain the
decision-making logic and formulas that will transform process input data into output. The three goals of
process specification are to reduce the ambiguity of the process, to obtain a precise description of what is
accomplished, and to validate the system design.
One way to describe structured decisions is to use the method referred to as structured English, in
which logic is expressed in sequential structures, decision structures, case structures, or iterations. Struc-
tured English uses accepted keywords such as IF, THEN, ELSE, DO, DO WHILE, and DO UNTIL to
describe the logic used, and it indents to indicate the hierarchical structure of the decision process.
Decision tables provide another way to examine, describe, and document decisions. Four quadrants
(viewed clockwise from the upper-left corner) are used to (1) describe the conditions, (2) identify possible
condition (or decision) alternatives (such as Y or N), (3) indicate which actions should be performed, and
(4) describe the actions. Decision tables are advantageous because the rules for developing the table itself,
as well as the rules for eliminating redundancy, contradictions, and impossible situations, are straightfor-
ward and manageable. The use of decision tables promotes completeness and accuracy in analyzing struc-
tured decisions.
The third method for decision analysis is to use a decision tree, consisting of nodes (a square for ac-
tions and a circle for conditions) and branches. Decision trees are appropriate when actions must be accom-
plished in a certain sequence. There is no requirement that the tree be symmetrical, so only those conditions
and actions that are critical to the decisions at hand are found on a particular branch.
Each of the decision analysis methods has advantages and should be used accordingly. Structured
English is useful when many actions are repeated and when communicating with others is important.
Decision tables provide a complete analysis of complex situations while limiting the need for change
attributable to impossible situations, redundancies, or contradictions. Decision trees are important when
proper sequencing of conditions and actions is critical and when each condition is not relevant to each
action.