Level 1 Data Flow Diagram in draw.io (DFD Step by Step)
A level 1 data flow diagram opens up the system into its numbered processes and data stores. Learn how to turn on the data flow diagram shapes in the free draw.io web app, number each process, and label every flow with the data it carries, using an online shop.
Step by step
Inside the system
- DFD level 1. A context diagram shows the whole system as one process. A level 1 data flow diagram (DFD) opens that process up into numbered processes and data stores. Here is the one for an online shop.
- Blank diagram. Open draw.io in your browser and start a blank diagram.
- DFD shapes. Click More Shapes, tick Data Flow Diagram and click Apply. The new shapes appear at the bottom of the shapes panel.
Processes and flows
- External entity. Start with the customer. It sits outside the system, so it is an external entity. From the Data Flow Diagram shapes, drag in the plain box and name it Customer.
- Numbered processes. Processes are drawn as bubbles. Drag in the Oval Process shape and name it 1.0 Take order. Number each process at level 1 so the next level down can refer to it.
- Label with data. Hover over Customer and drag the blue arrow onto 1.0 Take order. Label the flow with the data it carries, a noun rather than an action: Order.
Data stores
- Data stores. Data stores first appear at level 1. Drag in the Data Store shape, the open-ended box, under 1.0 Take order and name it D1 Orders.
- Label with data. 1.0 Take order writes the order into the store, so connect them and label the flow New order.
- Numbered processes. Add a second Oval Process, 2.0 Ship order, on the left under Customer.
- Label with data. Data can also flow out of a store into a process. Connect D1 Orders to 2.0 Ship order and label it Order to ship. Shipping sends the customer a delivery note. Connect 2.0 Ship order back up to Customer and label it Delivery note.
- Data stores. 1.0 Take order also needs prices, so add a second Data Store on the right and name it D2 Products.
- Label with data. Connect D2 Products to 1.0 Take order and label the flow Product price.
Check the rules
- Process in between. Check Customer: it never connects to a store directly. Any flow between an external entity and a store, or between 2 stores, must go through a process.
- The finished diagram. Click an empty part of the canvas to deselect everything and see the finished level 1 diagram.
Recap
- The rules. Number every process, label every flow with the data it carries, and put a process between entities and stores. Every flow on your context diagram must also appear on the level 1 diagram.
Common mistakes
- Labelling flows with actions. A label like Send order describes what a process does, not what moves along the arrow. Name the data itself with a noun, such as Order, Product price or Delivery note.
- Connecting an external entity straight to a data store. Customer can't read or write D1 Orders directly. Put a process such as 1.0 Take order in between, and do the same for any flow between 2 stores.
- Flows that don't match the context diagram. Every flow between an external entity and the system on the context diagram must also appear at level 1, for example Order and Delivery note. If one is missing or new, fix one of the 2 diagrams so they balance.
- A data store with flows going only one way. D1 Orders is written by 1.0 Take order and read by 2.0 Ship order, so its data is used. D2 Products is only read here, so a full model would also need a process, such as updating the product catalogue, that writes to it.
When a business analyst uses this
During discovery for a new order system, a business analyst draws the level 1 DFD after the context diagram and walks stakeholders through it in a workshop. Each numbered process and data store gets checked, and gaps show up fast, such as a store nothing writes to or a flow missing from the context diagram.
Questions people ask
What is the difference between a context diagram and a level 1 DFD?
A context diagram shows the whole system as one process with its external entities. A level 1 DFD splits that process into numbered processes and adds the data stores.
Can an external entity connect directly to a data store in a DFD?
No. Data moving between an external entity and a data store, or between 2 stores, must go through a process.
Can you make a data flow diagram in draw.io for free?
Yes. The draw.io web app is free and has Data Flow Diagram shapes, which you turn on under More Shapes.