As you create and optimize systems at your workplace, a data flow diagram (DFD) can help you visualize how information moves, spot inefficiencies, and align stakeholders on how work actually gets done. It's easy to understand the flow of data through systems with the right data flow diagram software.
This guide provides everything you need to know about data flow diagrams, including definitions, history, and symbols and notations. You'll learn the different levels of a DFD, the difference between a logical and a physical DFD, and tips for making a DFD.
What is a data flow diagram?
A data flow diagram maps out the flow of information for any process or system. It uses defined symbols like rectangles, circles, and arrows, plus short text labels, to show data inputs, outputs, storage points, and the routes between each destination.
Like all the best diagrams and charts, a DFD can often visually "say" things that would be hard to explain in words, and they work for both technical and non-technical audiences, from developer to CEO. They can range from simple, even hand-drawn process overviews to in-depth, multi-level DFDs that progressively delve deeper into how the data is handled.
Because DFDs make system behavior visible, they're often used as a practical tool for diagnosing where breakdowns and bottlenecks originate.
History of the DFD
Data flow diagrams were popularized in the late 1970s by computing pioneers Ed Yourdon and Larry Constantine in their book, Structured Design. They based it on the "data flow graph" computation models by David Martin and Gerald Estrin. Both the structured design concept and the DFD method gained widespread adoption in the software engineering and business fields.
Three other experts contributing to this rise in DFD methodology were Tom DeMarco, Chris Gane, and Trish Sarson. They teamed up in various combinations to serve as the primary definers of the symbols and notations used for a data flow diagram.
Symbols and notations used in DFDs
You’ll want to orient yourself with the different data flow diagram symbols before you start. Because there are some symbol variations between systems, the important thing is to be clear and consistent in the shapes and notations you use when communicating and collaborating with others.
Using any convention's DFD rules or guidelines, the symbols depict the four components of data flow diagrams:
1. External entity
An external entity is a system that sends or receives data and communicates with the system being diagrammed. They are the sources and destinations of information entering or leaving the system. They might be an outside organization or person, a computer system, or a business system. They are also known as terminators, sources and sinks, or actors. They are typically drawn on the edges of the diagram.
2. Process
Processes change data and produce an output. They might perform computations, sort data based on logic, or direct data flow according to business rules. A short label is used to describe a process (e.g., "Submit payment").
3. Data store
Data stores are files or repositories that hold information for later use (e.g., a database table or a membership form). Each data store receives a simple label (e.g., "Orders").
4. Data flow
Data flow describes the route that data takes between external entities, processes, and data stores. It portrays the interface between the other components and is shown with arrows, typically labeled with a short data name (e.g., "Billing details").
DFD rules and tips
All data flow diagrams have certain rules to keep in mind:
-
Each process should have at least one input and one output.
-
Each data store should have at least one data flow in and one data flow out.
-
Data stored in a system must go through a process.
-
All processes in a DFD go to another process or a data store.
DFD levels and layers: From context diagrams to pseudocode
A data flow diagram can dive into progressively more detail by using levels and layers, zeroing in on a particular piece. DFD levels are numbered 0, 1, or 2, and occasionally go to even Level 3 or beyond. The necessary level of detail depends on the scope of what you are trying to accomplish.
DFD Level 0
A DFD Level 0 is also called a context diagram. It's a basic overview of the whole system or process being analyzed or modeled. It's designed to be an at-a-glance view, showing the system as a single high-level process and its relationships with external entities. It should be easily understood by a wide audience, including stakeholders, business analysts, data analysts, and developers.

DFD Level 1
A DFD Level 1 diagram provides a more detailed breakdown of pieces of the context-level diagram. It highlights the system’s main functions.

DFD Level 2
A Level 2 DFD then goes one step deeper into parts of Level 1. It may require more text to reach the necessary level of detail about the system's functioning.

Progression to Levels 3, 4, and beyond is possible, but going beyond Level 3 is uncommon. Doing so can create complexity that makes it difficult to communicate, compare, or model effectively.
Using DFD layers, the cascading levels can be nested directly in the diagram, providing a cleaner look and easy access to deeper dives. By becoming sufficiently detailed in the DFD, developers and designers can use it to write pseudocode, a combination of English and the coding language. Pseudocode facilitates the development of the actual code.
Examples of how DFDs can be used
Data flow diagrams are useful for analyzing or modeling various types of systems in different fields.
-
DFD in software engineering: This is where data flow diagrams got their main start in the 1970s. DFDs can provide a focused approach to technical development, in which more research is done up front for coding.
-
DFD in business analysis: Business analysts use DFDs to analyze existing systems and find inefficiencies. Diagramming a process can uncover steps that might otherwise be missed or not fully understood.
-
DFD in business process re-engineering (BPR): BPR was pioneered in the 1990s to help organizations cut operational costs, improve customer service, and better compete in the market. DFDs can be used to model a better, more efficient flow of data through a business process.
-
DFD in agile development: DFDs can be used to visualize and understand business and technical requirements and plan next steps. They can be a simple yet powerful tool for communication and collaboration to focus rapid development.
-
DFD in system structures: Any system or process can be analyzed in progressive detail to improve it, on both a technical and non-technical basis.
DFD vs. Unified Modeling Language (UML)
While a DFD illustrates how data flows through a system, UML is a modeling language used in object-oriented software design to provide a more detailed view. A DFD may still provide a good starting point, but developers may turn to class, structure, or other UML diagrams to achieve the required specificity when actually developing the system.
Logical DFD vs. physical DFD
These are the two categories of a data flow diagram: logical and physical. A logical DFD visualizes the data flows that are essential for a business to operate. It focuses on the business and the information needed, not on how the system works or is proposed to work. However, a physical DFD shows how the system is implemented now or how it will be implemented in the future. For example, in a logical DFD, the processes would be business activities, while in a physical DFD, the processes would be programs and manual procedures.


How to make a data flow diagram
You can create your own DFD online with Lucidchart. Use our DFD examples and specialized notations to visually represent the flow of data through your system. Our data flow diagram maker is simple yet powerful.
Get started with a template, and then use our shapes to customize your processes, data stores, data flows, and external entities. With Lucidchart, DFDs are quick to make, easy to share, and always available as a quick reference online or in your documentation. Sign up today!

Everything you need to make a diagram
Make a polished, professional diagram for free with Lucidchart. No matter what you have in mind, we have the tools you need to build it. Make an account and start diagramming today.
Sign up free