How to Draw a Level 1 Data Flow Diagram in Visio (DFD Step by Step)
A level 1 data flow diagram opens up the single box of a context diagram into its main processes and data stores. Learn how to number processes, add data stores and keep flows balanced, with an online shop in Visio.
Step by step
- DFD level 1. A context diagram shows the whole system as 1 box. A level 1 data flow diagram opens that box to show the main processes and data stores inside it. The example is a small online shop.
- Gane-Sarson stencil. In the Shapes pane, use the Gane-Sarson stencil. You need 4 shapes: Interface for external entities, Process, Data Store, and the Data Flow connector.
- External entity. External entities stay outside the system, the same as on the context diagram. Drag an Interface shape onto the page and type Customer.
- Numbered processes. Now add the main processes inside the system, each with a number so a level 2 diagram can refer back to it. Drop a Process shape and label it 1.0 Take order.
- Label every flow. Connect Customer to 1.0 Take order with a Data Flow connector labelled Order. Name the data that moves (Order), not the action (Send order).
- Data stores. Data stores first appear at level 1. Drop a Data Store shape and label it D1 Orders. Draw a Data Flow from 1.0 Take order to D1 Orders and label it New order. This shows the process saving the new order to the store.
- Numbered processes. Add the second process: a Process shape labelled 2.0 Take payment.
- Label every flow. Connect 1.0 Take order to 2.0 Take payment with a flow labelled Order total, the data payment needs from process 1.0.
- External entity. The payment provider sits outside your system, so it is another external entity. Drop an Interface shape and type Payment Provider.
- Label every flow. Draw a Data Flow from 2.0 Take payment to Payment Provider and label it Payment request.
- Numbered processes. Add the third process, 3.0 Ship order. It works from paid orders held in the store.
- Label every flow. Draw a Data Flow from D1 Orders to 3.0 Ship order and label it Paid order. Data can flow out of a store into a process, as well as in.
- External entity. The courier who delivers the parcel is outside your system too. Add one more Interface shape and type Courier.
- Label every flow. Draw a Data Flow from 3.0 Ship order to Courier and label it Dispatch note.
- Done. Click an empty part of the page to deselect everything. The finished level 1 diagram has 3 external entities, 3 numbered processes and 1 data store.
- 3 level 1 rules. Follow 3 rules. Number every process. Show every flow from the context diagram here too (this is called balancing). Never move data between 2 stores, or between 2 entities, without a process in between.
Common mistakes
- Labelling flows with actions. A label like Send order or Pay describes an action, not data. Name the data that moves, such as Order, Order total or Dispatch note.
- Connecting two stores or two entities directly. Data can't move from D1 Orders to another store, or from Customer to Courier, on its own. Put a process between them that does the work.
- A level 1 that doesn't match the context diagram. If the context diagram shows Payment request going to Payment Provider, level 1 must show it too. Check every flow and entity on both diagrams, and add or remove flows until they match.
- Processes without numbers. Without 1.0, 2.0 and 3.0, a lower-level diagram has nothing to refer back to. Number every process, so the level 2 breakdown of 2.0 Take payment can use 2.1, 2.2 and so on.
When a business analyst uses this
After stakeholders sign off the context diagram, a business analyst draws the level 1 diagram in a workshop to agree on the main processes and where data is kept. Gaps show up fast. For example, someone asks which process marks an order as paid in D1 Orders, and that question becomes a requirement.
Questions people ask
What is the difference between a context diagram and a level 1 DFD?
A context diagram shows the whole system as 1 process with its external entities and flows. A level 1 DFD opens that process into its main numbered processes and adds the data stores they use.
What does balancing mean in a data flow diagram?
Balancing means the flows going into and out of the system on the context diagram also appear on the level 1 diagram. If a flow is on one but not the other, the diagrams don't match.
Can data flow directly between two data stores?
No. Data must pass through a process to move from one store to another. The same goes for flows between 2 external entities.