How to Make a Data Flow Diagram (DFD) in Visio, Step by Step
A data flow diagram shows where data comes from, where it goes, and where it is stored. Learn the four Gane-Sarson DFD shapes and draw an online order DFD in Visio.
Step by step
Intro
- Data flow diagram. A data flow diagram (DFD) shows one thing: where data comes from, where it goes and where it is stored. Here we draw one in Visio for an online order.
- The Gane-Sarson stencil. Use the Gane-Sarson stencil in the Shapes pane. It has only 4 shapes, and that is all a DFD needs.
Entity and process
- External entity. Start with an external entity. This is a person or system outside the process that sends or receives data. Drop an Interface shape and type Customer.
- Process. Next, drop a Process shape and name it Place order. A process changes data, so always name it with a verb.
- Data flow. Connect Customer to Place order with a Data Flow arrow and label it Order details. Label every arrow with the data that moves, never with an action.
Data store
- Data store. Orders need to be saved somewhere. Drop a Data Store shape (the open-ended box) below Place order and name it Orders. Connect Place order to Orders with a Data Flow arrow and label it New order.
More flows
- Add the next process. A confirmed order then moves to shipping. Add a second Process shape named Ship order.
- Label every flow. Connect Place order to Ship order and label the flow Confirmed order.
- Another external entity. Shipping sends a pick list to the warehouse, which is another external entity. Drop a second Interface shape named Warehouse.
- Label every flow. Connect Ship order to Warehouse and label the flow Pick list.
- Done. Click an empty part of the page and the DFD is finished: 2 external entities, 2 processes, 1 data store and 4 labelled flows.
The 3 DFD rules
- The 3 DFD rules. Remember 3 rules. Every flow is labelled with data. Data never flows straight between 2 entities or 2 stores, because a process always sits in between. Every process has data going in and data coming out.
Common mistakes
- Labelling arrows with actions. A label like Send order describes an action, so it belongs on a process. Label the arrow with the data itself, such as Order details or Pick list.
- Connecting two entities or two stores directly. Data can't jump from Customer straight to Warehouse, or from one data store to another. Put a process between them that shows what happens to the data.
- A process with nothing going in or nothing coming out. Every process needs at least one flow in and one flow out. If a process only receives data or only sends it, a flow is missing. Find it and add it.
- Naming a process with a noun. A process name like Orders reads like a data store. Use a verb and an object, such as Place order or Ship order.
When a business analyst uses this
In a requirements workshop for a new ordering system, a business analyst draws a DFD with stakeholders. Together they agree where customer and order data come from, where each piece is stored and which outside systems receive it. Each labelled flow then becomes a data requirement or interface to confirm before sign-off.
Questions people ask
What is a data flow diagram, with an example?
A data flow diagram shows where data comes from, where it goes and where it is stored. For example, a Customer sends Order details to a Place order process. That process saves a New order in an Orders data store and passes a Confirmed order on to shipping.
What is a level 0 data flow diagram?
It shows the whole system as a single process, with the external entities around it and the data flowing in and out. Many tools call this a context diagram; some textbooks use level 0 for the next level down, which shows the main processes.
What is a level 1 data flow diagram?
A level 1 DFD breaks the single level 0 process into its main processes and adds the data stores between them. The order diagram here is a small example: 2 processes, 1 data store and 2 external entities.