Software Engineering › How to answer › Drawing › and read a structure chart
How to draw and read a structure chart
A structure chart shows the subroutines of a program and how they are called, top-down from the mainline. You may need to read one (true/false) or draw one. From course notes From NESA material
What it looks like in the real exam
From NESA material 2025 sample 2025 NESA sample exam, Q10 (2 marks): a structure chart for an online ordering system for a cafe, with five statements to tick true or false (for example “Confirm cart is Boolean”, “Order number is a control variable”, “A choice is repeatedly offered between Browse menu and Add items to order”). Marking: 2 marks for all five boxes correct; 1 mark for three of the five. The chart image is not available as text, so the answers cannot be reproduced.
From course notes Course grid: Structure chart is worth about 4 marks in the school’s exam-style grid (target band 5–6).
The notation (course specifications)
| Item | Symbol | What it means |
|---|---|---|
| Module (subroutine) | Rectangle with the module name | The top box is the mainline; modules below are called by it |
| Call | Line from a module down to the module it calls | Calls are read left to right in order |
| Data couple | Arrow with an empty circle, labelled with the data name | Data passed between modules (parameters, return values) |
| Flag | Arrow with a filled circle, labelled | A control variable (true/false, found/not found) |
| Decision | Small diamond where lines meet | The module is called only if a condition is true (selection) |
| Repetition | Curved arrow over the module(s) | The module(s) are executed multiple times (iteration) |
Method
- To draw: read the description and identify the mainline (top box) and the sub-tasks it calls. From course notes
- Place the sub-modules in call order, left to right, each joined to the module that calls it. From course notes
- For each module ask: what data goes in and out? Draw an arrow with an empty circle and write the data name; if the value is a true/false control value, use a filled circle. From course notes
- If a module only runs sometimes, add a small diamond where its line meets the caller. If it runs many times, draw a curved arrow over it. From course notes
- To read: take each statement and find the exact symbol or label that proves it true or false. A statement with no evidence on the chart, or that contradicts it, is false. General advice
- Check every arrow has a direction and a label, and every circle is the right colour. From course notes
Worked example: reading and drawing (original)
Original practice Scenario (original): a car park system repeatedly reads a plate, finds the booking, calculates the cost, takes payment and opens the gate only if the payment was made.
Reading it: “Run car park” is the mainline; “Open gate” has a diamond so it only runs if the flag Paid is true; the curved arrow over the whole row means these modules repeat for each car; “Plate no” and “Fee” are data couples (empty circles), “Paid” is a flag (filled circle).
Original practice True or false practice using this chart: (a) “Fee is passed from Calculate cost to Take payment” (true); (b) “Open gate is always called” (false: diamond); (c) “Paid is a data couple” (false: it is a flag, a filled circle).
Markers’ checklist
- Mainline at the top; modules below in call order.
- Rectangles for modules, labelled with verb phrases.
- Empty circle plus label for data; filled circle plus label for flags.
- Diamond only on modules that are conditional.
- Curved arrow for repetition.
- Arrows pointing the way the data moves.
- Nothing from the scenario missing.
Common mistakes
- General advice Mixing up the empty circle (data) and the filled circle (flag).
- General advice Drawing a flowchart (Yes/No decisions) instead of a hierarchy.
- General advice Arrows with no label.
- General advice In reading questions, calling something a flag because it sounds like one. Check the circle.
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.
General advice A 2-mark reading question: about 3 to 4 minutes.
Practice (3 prompts, with answers)
Item 1 · identify the symbols
What does each mean: (a) an arrow with an empty circle labelled mark; (b) a filled circle labelled found; (c) a diamond where a line meets a module; (d) a curved arrow over a module?
Show the answer
(a) data (the value mark) passed between modules; (b) a flag/control variable; (c) the module is called only if a condition is true; (d) the module repeats. From NESA material (course specification definitions)
Item 2 · draw a chart
A program “Mark quiz” calls Get answers, Check answers and Show result. Check answers receives the answers and returns the score. Draw the structure chart.
Show the answer
Model answer: top rectangle “Mark quiz”; three rectangles under it left to right: “Get answers”, “Check answers”, “Show result”. Arrows with empty circles: answers (from Get answers up to the caller, and down into Check answers); score (from Check answers up to the caller and down into Show result). Original practice
Item 3 · add selection and repetition
Modify Item 2: the whole “Get answers → Check answers” pair repeats for each student, and “Show result” only runs if the student has finished (a flag, done).
Show the answer
Model answer: a curved arrow over “Get answers” and “Check answers”; a small diamond on the line to “Show result”; a filled circle labelled done on the flag arrow. Original practice
Terms, flashcards and past questions
Key terms for this page: Structure chart · Structure chart data couple (empty circle) · Structure chart flag (filled circle) · Structure chart decision (diamond) · Structure chart repetition (curved arrow) · Mainline and subroutines (algorithms)
Flashcards · All key terms · Learn step by step · All past questions · Multiple-choice bank · Mock exam
Past questions used on this page: