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.