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
   212   213   214   215   216   217   218   219   220   221   222