MSc-IT Study Material
January 2011 Edition

Computer Science Department, University of Cape Town
| MIT Notes Home | Edition Home |


It should be clear that producing data-flow diagrams can be complicated. A routine check using the following questions should make sure that you find any simple mistakes. The first set of questions refer to a single diagram, so if you have a set of levelled data-flow diagrams then these checks need to be made for each diagram.

  1. Is every data-flow attached to a process at either the beginning or the end of the arrow?

  2. Is every data-flow labelled with a sensible noun?

  3. Does every process have at least one input and at least one output?

  4. Is every process named sensibly (no uses of words such as process or handle) with an action and what is acted upon? (The template is Do something to something)

  5. Is every data store named with the type of thing it stores in the plural?

  6. Where data stores and external entities have been shown several times on one diagram, do all instances have a diagonal line?

  7. Are there any data-flows which cross? If so, try and add more duplicate external entities or data stores to avoid the crossing.

This second set of questions is specifically about levelling and so should be asked about the set of diagrams as a whole.

  1. Do all diagrams balance? That is, where a diagram expands a process in a higher level, are the inputs and outputs to the process identical to the inputs and outputs on the expanded, lower level diagram?

  2. Are all external entities shown on both the context diagram and level one diagram?

  3. Are all of the processes and data stores numbered correctly?

All data-flow diagrams are an aid to communication between software engineers and their customers. Although they may be correct and accurate, a messy or tangled data-flow model will reduce communication as surely as a long-winded text description. To avoid this, as the diagrams evolve, re-draw them whenever they begin to get cluttered or have several corrections on them. A simple re-arrangement of the components may be sufficient to greatly improve a diagram.