Some conventions used when drawing DFD's should be explained.
Assuming the example DFD
explained earlier all external files such as employee record, company record and tax rates are
shown as a one side open rectangle. The need for multiple data flow by a process is represented
by a * between the data flows. The symbol represents the AND relationship. For example, if there
is a * between the two input data flow A and B for process, it means that A AND B are needed for
the process. In the DFD, for the process "weekly pay" the data flow "hours" and "pay rate" both
are needed, as shown in the DFD. Similarly, the OR relationship is represented by "+" between
the data flows.
It should be pointed out that a DFD is not a flowchart. A DFD represents that flow of data, while
flow chart shows the flow of control. A DFD does not represent procedural information. So, while
drawing a DFD, one must not get involved in procedural details, and procedural thinking must be
consciously avoided.
For example,
Consideration of loops and decisions must be ignored. In drawing the DFD the designer has to
specify major transforms in the path of the data flowing from the input to output. How those
transforms are performed is not an issue while drawing the data flow graph. There are no detailed
procedures that can be used to draw a DFD for a given problem. Only some directions can be
provided. One way to construct a DFD is to start by identifying the major inputs and outputs.
Minor inputs and outputs (like error messages) should be ignored at first. Then starting from the
inputs, work towards the outputs, identifying the major inputs (remember that is is important that
procedural information like loops and decision not be shown in DFD, and designer should not
worry about such as issues while drawing the DFD).
Following are some suggestion for constructing a data flow graph
1. Klork your way consistently from the inputs to the outputs, or vice versa. If you get stuck,
reverse direction. Start with a high level data flow graph with few major transforms
describing the entire transformation from the inputs to outputs and then refine each
transform with more detailed transformation.
2. Never try to show control logic. If you find yourself thinking in terms of loops and
decisions, it is time to stop and start again.
3. Label each arrow with proper data elements. Inputs and outputs of each transform should
be carefully identified.
4. Make use of * and + operation and show sufficient detail in the data flow graph.
5. Try drawing alternate data flow graphs before setting on one.
Many systems are too large for a single DFD to describe the data processing clearly. It is
necessary that some decomposition and abstraction mechanism be used for such systems. DFDs
can be hierarchically organized, which helps in progressively partitioning and analyzing large
systems. Such DFDs together are called a leveled DFD set.
Following are the set of DFDs drawn for the General model of publisher's present ordering
system.
First Level DFD
Second Level DFD - Showing Order Verification & credit check
Third Level DFD - Elaborating an order processing & shipping
Fourth level DFD : Completed DFD, Showing Account Receivable Routine.
From the level one it shows the publisher's present ordering system. Let's expand process order
to elaborate on the logical functions of the system. First, incoming orders are checked for correct
book titles, author's names, and other information and then batched into other book orders from
the same bookstore to determine how may copies can be shipped through the ware house. Also,
the credit status of each book stores is checked before shipment is authorized. Each shipment
has a shipping notice detailing the kind and numbers of booked shipped. This is compared to the
original order received (by mail or phone) to ascertain its accuracy. The details of the order are
normally available in a special file or data store, called "Bookstore Orders". It is shown in the
second level DFD diagram.
Following the order verification and credit check, a clerk batches the order by assembling all the
book titles ordered by the bookstore. The batched order is sent to the warehouse with
authorization to pack and ship the books to the customer. It is shown in the third level DFD
diagram.
Further expansion of the DFD focuses on the steps in billing the bookstore shown in the fourth
level DFD, additional functions related to accounts receivable.