What is a data flow diagram?

6 min

Key takeaways

  • A data flow diagram (DFD) maps how information moves through a system using four components: external entities, processes, data stores, and data flows.

  • DFDs communicate clearly to technical and non-technical audiences, making them useful for marketers, business analysts, and software engineers alike.

  • Unlike a flowchart, a DFD has no control flow, so it contains no decision rules, conditions, or loops.

  • Data flow diagram levels progress from Level 0 (a context diagram) to Level 1 and Level 2, adding detail at each stage.

  • A logical DFD describes what a system does, while a physical DFD describes how the system is or will be implemented.

  • You can build one online with a data flow diagram maker like Lucidchart, manually, through Lucid AI, or with a ready-made template.

As you build and optimize systems at work, a data flow diagram (DFD) helps you visualize how information moves and spot inefficiencies. It also aligns stakeholders on how work actually gets done.

This guide covers the definition, history, symbols, rules, and levels of a DFD. You'll also learn the difference between logical and physical DFDs and how to build one in minutes.

What is a data flow diagram?

A data flow diagram maps the flow of information for any process or system. It uses defined symbols like rectangles, circles, and arrows, along with short text labels. Together, they show data inputs, outputs, storage points, and the routes between them.

An effective DFD can visually convey what would be hard to explain in words. It works for both technical and non-technical audiences, from a developer to CEO. Diagrams range from simple, hand-drawn overviews to in-depth, multi-level DFDs.

Because DFDs make system behavior visible, teams use them to diagnose where breakdowns and bottlenecks originate.

Data Flow diagram level 1 example
This is an example of a data flow diagram.

The history of data flow diagrams

DFD notation draws on graph theory and grew out of the structured analysis and design methods of the mid-1970s. Larry Constantine first proposed the approach, building on the data flow graph computation models of David Martin and Gerald Estrin.

Ed Yourdon then popularized data flow diagrams, and he and Constantine detailed the structured design approach in their 1979 book, Structured Design. Both the structured design concept and the DFD method gained wide adoption across software engineering and business.

Tom DeMarco, Chris Gane, and Trish Sarson advanced the method further. They worked in various combinations to define the symbols and notations still used in a DFD today.

What symbols are used in a DFD?

A DFD uses four core components/symbols: external entities, processes, data stores, and data flows. It’s a good idea to familiarize yourself with the standard data flow diagram symbols before you start creating one, but keep in mind, notation varies slightly between systems.

External Entity symbol
External Entity symbol

External entity: A system that sends or receives data, also called a terminator, source, sink, or actor, drawn on the edges of the diagram

DFD Process symbol
DFD process symbol

Process: An action that changes data and produces an output with a short verb label, such as "submit payment"

Data Store symbol
Data Store symbol

Data store: A file or repository that holds information for later use, such as a database table, given a simple noun label, such as "orders"

Data Flow symbol
Data Flow symbol

Data flow: The route that data takes between entities, processes, and stores, shown with an arrow labeled with a short data name like "billing details"

Rules for creating a DFD

A few rules keep a DFD accurate and readable. Follow them to make sure every element connects logically to the rest of the system.

  • Each process should have at least one input and one output.

  • Each data store should have at least one data flow in and one out.

  • Data stored in a system must move through a process.

  • Every process must lead to another process or a data store.

Unlike a flowchart, a DFD has no control flow. It shows no decision rules, conditions, or loops, so it captures what data moves where rather than the order in which steps run.

What are the levels of a data flow diagram?

Data flow diagram levels are numbered 0, 1, and 2, and occasionally extend to Level 3 or beyond. Each level adds detail, moving from a single-glance overview to a granular view of individual processes.

DFD Level 0

Also called a context diagram, Level 0 shows a whole system as one high-level process and its relationships with external entities. It gives stakeholders a fast, big-picture view.

DFD Level 0
Create the most basic type of data flow diagram, also called a context diagram, with this Level 0 DFD template.

DFD Level 1

Level 1 breaks the single process into the system's main functions. It shows how those functions exchange data with each other and with external entities.

DFD Level 1
Map out the flow of information for a system more deeply with this Level 1 data flow diagram template.

DFD Level 2

Level 2 goes one step deeper into parts of Level 1, detailing the subprocesses inside a function. Progression to Levels 3 and 4 is possible but uncommon, and a sufficiently detailed DFD can help developers write pseudocode.

DFD Level 2
Move more deeply into a process or system with this DFD Level 2 template.

Common data flow diagram examples and uses

Data flow diagram examples span many roles because the notation suits both technical and non-technical work. A data flow diagram in software engineering, for instance, pairs well with dedicated data flow diagram software.

  • Software engineering: Model how an application processes, stores, and moves data before writing code.

  • Business analysis: Document current processes to identify inefficiencies and design an improved future state.

  • Business process re-engineering: Map existing workflows to redesign them for better performance.

  • Agile development: Give cross-functional teams a shared, visual reference during planning.

  • System structure design: Show how components exchange information across a larger architecture.

A DFD illustrates how data flows through a system, while UML is a modeling language used in object-oriented software design for a more detailed structural view. Where a project adopts UML, the activity diagram typically takes over the role that the DFD would otherwise play.

What is the difference between a logical and physical DFD?

A logical DFD shows the essential data flows a business needs to operate, independent of technology. A physical DFD shows how the system is implemented, now or in the future, including files, hardware, and software.

Physical data flow diagram example
This template shows an example of a physical data flow diagram.

Comparing logical and physical DFDs helps teams separate business requirements from technical implementation. Most projects benefit from building both.

How do you make a data flow diagram?

Start with a template, then add and connect the four core components until the diagram reflects your system. You can create one online in minutes and refine it as your understanding grows.

  1. Choose a starting scope and level, beginning with a Level 0 context diagram.

  2. Add the external entities that send or receive data.

  3. Add the processes that transform that data.

  4. Add the data stores that hold information for later use.

  5. Connect everything with labeled data flows.

  6. Break high-level processes into Level 1 and Level 2 detail as needed.

For a step-by-step walkthrough, see the full guide on how to make a data flow diagram.

Create your own data flow diagram with Lucidchart.

Sign up free

Data flow diagram templates and examples

Use a template from our gallery to help you start work on your data flow diagrams.

Logical data flow diagram example

Pricing:

Paid Account

Logical data flow diagram example, Pricing: Paid Account

Logical data flow diagram

Pricing:

Paid Account

Logical data flow diagram, Pricing: Paid Account

Physical data flow diagram example

Pricing:

Paid Account

Physical data flow diagram example, Pricing: Paid Account

Data flow diagram: Level 2

Pricing:

Paid Account

Data flow diagram: Level 2, Pricing: Paid Account

Data flow diagram: Level 0

Pricing:

Paid Account

Data flow diagram: Level 0, Pricing: Paid Account

Data flow diagram: Level 1

Pricing:

Paid Account

Data flow diagram: Level 1, Pricing: Paid Account

Additional resources

Data flow diagram (DFD) software

Lucidchart's DFD maker page shows how to build and customize data flow diagrams online.

How to make a data flow diagram

Check out this 10-step guide to creating DFDs in Lucidchart, with templates and examples.

Data flow diagram symbols and notations

Explore this guide to the core DFD components and the symbols used to represent them.

Frequently asked questions about data flow diagrams

Everything you need to make a diagram

In addition to our online diagram maker, Lucidchart offers support and training resources to help you branch out to any type of diagram.

View training labs