Page 217 -
P. 217
184 Part 3 • the analysis Process
2. Work backward from an output data flow. Examine the output fields on a document or
screen. (This approach is easier if prototypes have been created.) For each field on the out-
put, ask: “Where does it come from?” or “Is it calculated or stored on a file?” For example,
when the output is a PAYCHECK, the EMPLOYEE NAME and ADDRESS would be
located on an EMPLOYEE file, the HOURS WORKED would be on a TIME RECORD,
and the GROSS PAY and DEDUCTIONS would be calculated. Each file and record would
be connected to the process that produces the paycheck.
3. Examine the data flow to or from a data store. Ask: “What processes put data into the
store?” or “What processes use the data?” Note that a data store used in the system you are
working on may be produced by a different system. Thus, from your vantage point, there
may not be any data flow into the data store.
4. Analyze a well-defined process. Look at what input data the process needs and what output
it produces. Then connect the input and output to the appropriate data stores and entities.
5. Take note of any fuzzy areas where you are unsure of what should be included or what
input or output is required. Awareness of problem areas will help you formulate a list of
questions for follow-up interviews with key users.
Creating Child Diagrams (More Detailed Levels)
Each process on Diagram 0 may in turn be exploded to create a more detailed child diagram. The
process on Diagram 0 that is exploded is called the parent process, and the diagram that results
is called the child diagram. The primary rule for creating child diagrams, vertical balancing,
dictates that a child diagram cannot produce output or receive input that the parent process does
not also produce or receive. All data flow into or out of the parent process must be shown flowing
into or out of the child diagram.
The child diagram is given the same number as its parent process in Diagram 0. For exam-
ple, process 3 would explode to Diagram 3. The processes on the child diagram are numbered
using the parent process number, a decimal point, and a unique number for each child process.
On Diagram 3, the processes would be numbered 3.1, 3.2, 3.3, and so on. This convention allows
the analyst to trace a series of processes through many levels of explosion. If Diagram 0 depicts
processes 1, 2, and 3, the child diagrams 1, 2, and 3 are all on the same level.
Entities are usually not shown on the child diagrams below Diagram 0. Data flow that
matches the parent flow is called an interface data flow and is shown as an arrow from or into a
blank area of the child diagram. If the parent process has data flow connecting to a data store, the
child diagram may include the data store as well. In addition, this lower-level diagram may con-
tain data stores not shown on the parent process. For example, a file containing a table of infor-
mation, such as a tax table, or a file linking two processes on the child diagram may be included.
Minor data flow, such as an error line, may be included on a child diagram but not on the parent.
Processes may or may not be exploded, depending on their level of complexity. When a pro-
cess is not exploded, it is said to be functionally primitive and is called a primitive process. Logic
is written to describe these processes and is discussed in detail in Chapter 9. Figure 7.4 illustrates
detailed levels in a child data flow diagram.
Checking Diagrams for Errors
Several common errors made when drawing data flow diagrams are as follows:
1. Forgetting to include a data flow or pointing an arrow in the wrong direction. An example
is a drawn process showing all its data flow as either input or output. Each process trans-
forms data and must receive input and produce output. This type of error usually occurs
when the analyst has forgotten to include a data flow or has placed an arrow pointing in
the wrong direction. Process 1 in Figure 7.5 contains only input because the GROSS PAY
arrow is pointing in the wrong direction. This error also affects process 2, CALCULATE
WITHHOLDING AMOUNT, which is in addition missing a data flow representing input
for the withholding rates and the number of dependents.
2. Connecting data stores and external entities directly to each other. Data stores and enti-
ties may not be connected to each other; data stores and external entities must connect only
with a process. A file does not interface with another file without the help of a program or
a person moving the data, so EMPLOYEE MASTER cannot directly produce the CHECK