What is a data flow diagram?

by Daniel J. Power

A data flow diagram (DFD) is a graphical representation of the flow of data from external actors, agents and entities into and out of a system. A DFD also shows how data is transferred from one process to another and to and from storage. Data flow diagrams are often used to show how an organization handles incoming data such as a customer order. A DFD documents how data is processed and transferred in a system. A data flow diagram shows data "in motion". A context data flow diagram shows the top level, otherwise known as Level 0. At this level, there is only one visible process node that represents how the complete system functions and interacts with external entities. A Level 1 DFD provides more detail on data flows and processes.

Gane and Sarson (1979) popularized DFD for structured analysis and design of Information Systems. They used four symbols in creating a data flow diagram:

1. Squares represent external actors or entities that are sources of or destinations for data.

2. Rounded rectangles represent processes, which take data as input, do something to it, and output it. Processes on DFDs have no memory, so it would not make sense to show data flows between two asynchronous processes.

3. Arrows represent the data flows, which can either be electronic data flows or physical data items.

4. Open-ended rectangles represent data stores, including computerized data stores such as databases, flat files or XML files and physical stores such as or filing cabinets or stacks of paper. Data stores are storage areas and are static or passive; therefore, having data flow directly from one data store to another doesn't make sense because neither could initiate the communication.

A second set of symbols for documenting data flows was developed by DeMarco (1979) and Yourdon (Yourdon and Constantine 1979).

Ambler at identifies five rules to follow when creating DFDs:

1. All processes must have at least one data flow in and one data flow out.

2. All processes should modify the incoming data, producing new forms of outgoing data.

3. Each data store must be involved with at least one data flow.

4. Each external entity must be involved with at least one data flow.

5. A data flow must be attached to at least one process.

Data flow diagrams can help examine and document an existing information system and DFD can help create new data storage architectures and information systems.

Data flow diagrams can be be effective analysis and planning tools, but only if DFDs are dynamically used and adjusted. Ambler suggests "Keep your diagrams small. Use simple tools, such as whiteboards, to create them with your stakeholders. ... erase them when you're through with them. Create them if they're going to add value, not simply because your process tells you to do so."

A data flow diagram is a thinking tool. It encourages visualization of data flows. Designers want to improve and enhance data flows when building new databases and information systems.

There is a need to represent and understand the flow of data within a system to create useful databases and information systems. Seeing how data does and might flow assists in conceptual design for databases and associated information systems. Capturing and processing data is a primary function of many information systems.


Le Vie, Jr., D.S. "Understanding Data Flow Diagrams" at URL

Gane, C. and T. Sarson, "Structured systems analysis: tools and techniques," Prentice-Hall, 1979.

See the artifact description at URL It is excerpted from Ambler, S. Chapter 9 of The Object Primer 3rd Edition: Agile Model Driven Development with UML.


Yourdon, E. and L. L. Constantine, "Structured Design: Fundamentals of a Discipline of Computer Program and System Design," Prentice-Hall, 1979.

Last update: 2017-08-03 09:03
Author: Daniel Power

Print this record Print this record
Show this as PDF file Show this as PDF file

Please rate this entry:

Average rating: 0 from 5 (0 Votes )

completely useless 1 2 3 4 5 most valuable

You cannot comment on this entry

DSS Home |  About Us |  Contact Us |  Site Index |  Subscribe | What's New
Please Tell Your Friends about DSSResources.COMCopyright © 1995-2015 by D. J. Power (see his home page).
DSSResources.COMsm is maintained by Daniel J. Power. Please contact him at with questions. See disclaimer and privacy statement.


powered by phpMyFAQ 1.5.3