Software Engineering › How to answer › Drawing › a data flow diagram (DFD)
How to draw a data flow diagram (DFD)
A DFD shows how data moves through a system. You need four symbols and a few rules. From course notes
What it looks like in the real exam
Reasoned No 2025 NESA question in our bank is a DFD. It was examined in the old (SDD) syllabus: 2024 HSC Software Design and Development, Q24 part (b) is a 4-mark DFD for a parking app, and your school course gives it 4 marks. The old-syllabus diagrams in the paper and marking guideline are images that I cannot reproduce.
From NESA material Old SDD marking criteria for that DFD (4 marks):
- 4: substantially correct data flow diagram that includes processes, data flows, storage and external entities.
- 3: relevant to the parking app and includes an external entity and most of the processes and data flows.
- 2: some elements relevant to the parking app.
- 1: a basic understanding of data flow diagrams.
From course notes Course grid: DFD is worth about 4 marks in the school’s exam-style grid (target band 4–6).
The symbols (from the course specifications)
| Item | Symbol | Rule |
|---|---|---|
| External entity | Rectangle | A person or organisation that gives data to the system or receives it (Customer, Bank). Name with a noun. |
| Process | Circle | Uses inputs to make outputs. Name with a verb phrase (Validate login). Number them in Level 1. |
| Data store | Open rectangle (or two parallel lines) | A file, database or filing cabinet. Name with a noun (Students file). |
| Data flow | Labelled arrow | Shows what data moves and which way. Always label with the data name. |
From NESA material Level 0 (context diagram): the whole system as one process, with the external entities and data flows only. Level 1 breaks it into its main processes and shows the data stores. Reasoned Level 1 as a refinement is standard practice; check how your teacher draws it.
Method
- Read the scenario and list: who or what sends or receives data (external entities), what the system does (processes), what it must remember (stores), and what data moves (flows). From course notes
- Level 0: draw one circle in the middle with the system name, entities around it, and every arrow labelled with the data name. From course notes
- Level 1: split the circle into 3 to 5 numbered processes. Put the data stores between the processes that use them. From course notes
- Connect with labelled arrows, one data name per arrow, direction pointing the way the data moves. From course notes
- Check the rules: every process has at least one input and one output; data never goes straight from entity to entity or store to store (it goes through a process); inputs and outputs of Level 1 match Level 0. General advice
- Tick the checklist below.
Worked example: a parking system (original)
Original practice Scenario (original): a driver enters a car park. The system records the plate number and entry time, calculates the fee on exit, takes payment from the bank, and gives a receipt.
Reasoned Notice: the Level 0 diagram shows one process and no store; the Level 1 diagram shows three processes and the store “Sessions”; the Bank is an entity (outside the system); the flows are named nouns (Plate number, Fee, Receipt). Compare the symbols to the table above.
Markers’ checklist
- Every external entity is a rectangle and is outside the system.
- Every process is a circle with a verb phrase (and a number in Level 1).
- At least one data store if the system must remember anything.
- Every flow is an arrow with a label and a clear direction.
- No flow between two entities or two stores without a process.
- Every item in the scenario appears (the criteria reward “most of the processes and data flows”).
- Level 1 inputs/outputs match Level 0.
Common mistakes
- General advice Unlabelled arrows.
- General advice Drawing a flowchart (decisions, Start/End) instead of a DFD.
- General advice Putting the store in Level 0.
- General advice An entity inside the system boundary, or a process with no output.
- General advice Missing one of the four required elements (the top criterion names all four: processes, data flows, storage, external entities).
Time per mark
Derived The paper averages 1.75 minutes per mark (140 minutes ÷ 80 marks), so a 4-mark drawing question is about 7 minutes in total. General advice Suggested split: 1 minute reading and planning, most of the time drawing, and the last minute checking labels against the checklist. Drawing in an online tool is slower than on paper, so practise with the tool on NESA’s familiarisation site.
Practice (3 prompts, with answers)
Item 1 · Level 0 for a library
A library lets members borrow and return books; a librarian maintains the catalogue. Draw a Level 0 DFD.
Show the answer
Model answer: one circle “Library system”; entities (rectangles) “Member” and “Librarian”; flows: Member → system “Borrow request”, system → Member “Loan receipt”, Librarian → system “Book details”, system → Librarian “Overdue report”. No data store. Original practice
Item 2 · Level 1 for a login
A user logs in to a web app. The system checks the username and password against stored accounts. Draw a Level 1 DFD.
Show the answer
Model answer: entity “User”; processes “1 Validate login” and “2 Record session”; data store “D1 Accounts” (open rectangle). Flows: User → 1 “Username and password”; D1 → 1 “Stored password”; 1 → User “Login result”; 1 → 2 “Valid user”. Original practice
Item 3 · spot the errors
A diagram has an arrow from the entity “Customer” directly to the entity “Bank”, an unlabelled arrow into a circle, and a process with no outgoing arrow. List the faults.
Show the answer
Answer: (1) data cannot flow between two entities without a process; (2) every arrow needs a data label; (3) every process needs at least one output. General advice
Terms, flashcards and past questions
Key terms for this page: Data flow diagram (DFD) · DFD external entity · DFD process (circle) · DFD data store · DFD data flow (labelled arrow) · Level 0 DFD (context diagram) · Level 1 DFD
Flashcards · All key terms · Learn step by step · All past questions · Multiple-choice bank · Mock exam
Past questions used on this page: