Jump to content

Data-flow diagram

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Evert r (talk | contribs) at 19:35, 21 January 2008. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Data flow diagram notation

A data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system. A data flow diagram can also be used for the visualization of data processing (structured design). It is common practice for a designer to 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 modeled.

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. Data flow diagrams (DFDs) are one of the three essential perspectives of Structured Systems Analysis and Design Method SSADM. The sponsor of a project and the end users will need to be briefed and consulted throughout all stages of a system's evolution. With a dataflow diagram, users are able to visualize how the system will operate, what the system will accomplish, and how the system will be implemented. The old system's dataflow diagrams can be drawn up and compared with the new system's dataflow diagrams to draw comparisons to implement a more efficient system. Dataflow diagrams can be used to provide the end user with a physical idea of where the data they input ultimately has an effect upon the structure of the whole system from order to dispatch to restock how any system is developed can be determined through a dataflow diagram.

Developing a DFD helps in identifying the transaction data in the data model.

Developing a DFD

Top-Down Approach

  1. The system designer makes a context level DFD, which shows the interaction (data flows) between the system (represented by one process) and the system environment (represented by terminators).
  2. The system is decomposed in lower level DFD (Zero) into a set of processes, data stores, and the data flows between these processes and data stores.
  3. Each process is then decomposed into an even lower level diagram containing its subprocesses.
  4. This approach then continues on the subsequent subprocesses, until a necessary and sufficient level of detail is reached which is called the primitive process (aka chewable in one bite).

Event Partitioning Approach

This approach was described by Edward Yourdon and Guido 'The DFD Master' De Marco in Just Enough Structured Analysis[1]

  1. Construct detailed DFD.
    1. The list of all events is made.
    2. For each event a process is constructed.
    3. Each process is linked (with incoming data flows) directly with other processes or via datastores, so that it has enough information to respond to a given event.
    4. The reaction of each process to a given event is modeled by an outgoing data flow.

DFD tools

  • CA ERwin Data Modeler, a data modeling tool
  • ConceptDraw, a Windows and MacOS X data flow diagramming tool
  • Dia, a free source diagramming tool with flowchart support
  • Kivio, a free source diagramming tool for KDE
  • Microsoft Visio, a Windows diagramming tool which includes very basic DFD support (Images only, does not record data flows)
  • SILVERRUN ModelSphere, a cross-platform tool for business process modelling and data flow diagramming
  • SmartDraw, a Windows diagraming tool with Yourdon and Coad process notations and Gane and Sarson process notation
  • System Architect, an enterprise architecture tool, supporting Coad/Yourdon, Gane & Sarson, Ward/Mellor, and SSADM notations and techniques

See also

References

  1. ^ Yourdon, Edward. Just Enough Structured Analysis., Chapter 19

Further reading