What DFD can not show
A data flow diagram, like other models, has limitations. It is important to be aware of these limitations. Otherwise, it is easy to misunderstand data flow diagrams by making invalid inferences or by trying to read into a data flow diagram meaning which were not intended.
(1) A data flow diagram does not show flow of control.
It is not a flowchart. When alternative outputs may result from decisions within a transformation; a data flow diagram shows only the alternative outputs, not the decisions. Only the incoming data flows appear as inputs to a transformation; if events or stimuli other than these inputs are necessary to activate the transformation, they are not shown. A transformation may be carried out many times while the system is in operation, but it is shown only once.
A data flow diagram does not show details linking inputs and outputs within a transformation. It shows only all possible inputs and outputs for each transformation in the system. The specific procedures linking the inputs and outputs are invisible. What combination of the inputs produce which outputs cannot be inferred from the data flow diagram. (However, your knowledge of the system, though not depicted in the data flow diagram, may include the relationships among these inputs and outputs.)
(2) A data flow diagram does not show time.
This is the best rule to guide a novice in understanding data flow diagrams. A data flow diagram does show relationships which are closely related to time, but it is better not to think of them in temporal terms. Although we have spoken of a data flow diagram as a snapshot of simultaneous transformations, it is better to think of it as a single picture of all the transformations in the system without regard to when they occur. A data flow diagram shows an ordering of transformations, but it is logical rather than temporal. The relationship is that of predecessors and successors and can be understood in either direction. Inputs are transformed into outputs; outputs are produced from inputs. A transformation producing an input for another transformation is a predecessor of that transformation. For a transformation to occur, all the required inputs must be available. Thus, a data flow diagram shows information dependencies rather than temporal sequence.
A data flow diagram may show delay, but the duration is not shown. We may find it helpful to think of a data store as a time-delayed repository of data, and a data flow as transmitted instantaneously between transformations or between transformations and data stores. But we may also think of a data store as a collection of data with the same structure, each member of the collection being uniquely identifiable.
Comments
Post a Comment