Data-flow diagram

This is an old revision of this page, as edited by Ranglin (talk | contribs) at 05:20, 4 November 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

You must add a |reason= parameter to this Cleanup template – replace it with {{Cleanup|February 2005|reason=<Fill reason here>}}, or remove the Cleanup template.

A data flow diagram (DFD) is a graphical representation of the "flow" of data through business functions or processes. A data flow diagram can also be used for the visualization of data processing (structured design). It illustrates the processes, data stores, and external entities in a business or other system and the data flows between these things. It is common practise for a designer to first draw a context-level DFD first which shows the interaction between the system and outside entities. This context-level DFD is then "exploded" to show more detail of the system being modelled. In analysing a business, several sets of DFD's are drawn. Initial DFD's might model the existing system (flaws and all), while later DFD's may model a solution to the problem being analysed. For these solution DFD's a logical and physical DFD is drawn. Physical DFD's represent physical files and transactions, while logical or conceptual DFD's can be used to represent business functions or processes. Data flow diagrams were invented by Larry Constantine, the original developer of structured design, based on Martin and Estrin's "data flow graph" model of computation.

Components

Four components are used to develop a DFD. These are:

  • Data Flow (represented by an arrow)
  • Data Process (represented by a circle or rounded rectangle)
  • External Entity (represented by a square or oval, also called a 'Source/Sink'
  • Data Store (represented by two parallel lines, sometimes connected by a vertical line)

Data Flow

A data flow is the core of the data flow diagram. Each data flow in the system should be unique and demonstrate data flowing between two other elements in the system. Depending on the notation used, several rules apply to data flows, such as a limitation on two-sided arrows. It is generally agreed that each data flow should be uniquely labelled in the DFD.

Data Process

Data Store

External Entities

 
External entity
 
External entity that has been replicated

A data flow diagram's boundary is the imaginary boundary of the system. This is conventionally drawn on the diagram as a continuous line going through all the data flows from external entities to processes and back.

Note: It is a bad practice to have external entities have direct access to data stores.

External entities and data stores can be duplicated in the system for more clarity, while processes cannot. External entities that have been replicated are marked by * in the lower right part of the oval that represents that entity. Data stores have a double line of the left side of their box.