Home › DFD symbols

DFD symbols explained

The four data flow diagram symbols in both Yourdon–DeMarco and Gane–Sarson notation, with naming rules, examples and the rules for connecting them.

The four DFD symbols at a glance

Every data flow diagram, from a simple context diagram to a detailed Level 2 DFD, uses the same four building blocks. The table shows what each one means and how it's drawn in the two common notations.

SymbolMeaningYourdon–DeMarcoGane–Sarson
External entitySource or destination of data outside the systemRectangleRectangle (often with a shadow)
ProcessTransforms incoming data into outgoing dataCircle (bubble)Rounded rectangle with a number strip
Data storeData at rest: a table, file or registerTwo parallel linesOpen-ended box with an ID section
Data flowData moving between the other symbolsLabelled arrowLabelled arrow
Tip: use whichever notation your syllabus or textbook uses. You can switch between them in DFD Maker with one click, and the whole diagram is redrawn.

1. External entity

Yourdon–DeMarco
Gane–Sarson

An external entity (also called a terminator, source or sink) is a person, organisation or other system that sits outside the system you're modelling but sends data to it or receives data from it.

  • Examples: Customer, Student, Supplier, Bank, Payment Gateway, Admin, Government Portal.
  • Name it with a noun: the role, not a specific person (write “Customer”, not “Rahul”).
  • Entities can only exchange data with processes, never directly with each other or with a data store.

2. Process

1.0Place OrderYourdon–DeMarco: circle
1.0Place OrderGane–Sarson: rounded box

A process is work the system does that changes data. It takes one or more input flows and produces one or more output flows.

  • Name it with a verb and a noun: “Validate Login”, “Calculate Fees”, “Generate Invoice”.
  • Number it: 0 on a context diagram, then 1.0, 2.0, 3.0 on Level 1, and 1.1, 1.2 on Level 2. DFD Maker numbers processes for you.
  • Every process needs at least one input and one output. A process with inputs but no output is a black hole, and one with outputs but no input is a miracle.

3. Data store

D1OrdersYourdon–DeMarco: parallel lines
D1OrdersGane–Sarson: open box with ID

A data store is where data is kept for later use: a database table, a file, a register or even a paper folder. It shows data at rest.

  • Name it with a plural noun: “Orders”, “Students”, “Payments”. Give it an ID like D1, D2.
  • Only processes can read from or write to a data store.
  • A flow into a store means writing or updating it. A flow out of a store means reading it.
  • Context diagrams usually don't show data stores. They first appear on Level 1.

4. Data flow

CustomerOrder details1.0PlaceOrder
A data flow named “Order details” going from an entity into a process.

A data flow is an arrow showing data moving from one symbol to another. The arrow's direction shows which way the data travels.

  • Always label it with the data it carries, using a noun: “Payment details”, “Login credentials”, “Invoice”.
  • Show data, not actions or triggers. “Click submit” is not a data flow.
  • Every data flow must start or end at a process.
  • If the same data goes both ways, you can use a two-way arrow, but two separate labelled arrows are usually clearer.

Extra DFD symbols

These appear in some textbooks and larger diagrams. All of them are in DFD Maker's shape panel.

  • Duplicate entity / duplicate store: the same entity or store drawn a second time to avoid crossing lines. It's marked with a slash in the corner (entity) or an extra line (store).
  • Multi-process: a process drawn with a double outline to show it's broken down further in a lower-level DFD.
  • Control process: drawn dashed. Used in real-time DFDs (the Ward–Mellor extension), where processes are triggered by control signals rather than data.
  • System boundary: a dashed box around the processes that belong to the system. It helps show what's inside and outside.
  • Trust boundary: a dashed line used in security and threat-model DFDs to mark where data crosses between different levels of trust (for example, from the internet into your server).

Rules for connecting DFD symbols

From → ToAllowed?Why
Entity → Process✅ YesData enters the system
Process → Entity✅ YesData leaves the system
Process → Process✅ YesOne step passes data to the next
Process ↔ Data store✅ YesReading and writing stored data
Entity → Entity❌ NoOutside the system, so not part of the DFD
Entity ↔ Data store❌ NoData must pass through a process first
Data store → Data store❌ NoMoving data needs a process

DFD Maker's Check DFD rules button finds all of these mistakes automatically. See DFD levels explained for how the symbols fit together level by level.

Draw your DFD now

Free, no sign-up. Proper DFD symbols and a built-in rule checker.

Open DFD Maker