TK Study

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)

ItemSymbolWhat it means
Module (subroutine)Rectangle with the module nameThe top box is the mainline; modules below are called by it
CallLine from a module down to the module it callsCalls are read left to right in order
Data coupleArrow with an empty circle, labelled with the data nameData passed between modules (parameters, return values)
FlagArrow with a filled circle, labelledA control variable (true/false, found/not found)
DecisionSmall diamond where lines meetThe module is called only if a condition is true (selection)
RepetitionCurved arrow over the module(s)The module(s) are executed multiple times (iteration)

Method

  1. To draw: read the description and identify the mainline (top box) and the sub-tasks it calls. From course notes
  2. Place the sub-modules in call order, left to right, each joined to the module that calls it. From course notes
  3. 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
  4. 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
  5. 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
  6. 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.

Run car parkRead plateFind bookingCalculate costTake paymentOpen gatePlate noPlate noBookingBookingFeeFeePaidPaidrepeat for each carKeydata couple (data passed, arrow shows direction)flag (control information, e.g. Paid = true or false)decision (module called only if condition true)repetition (modules repeated)
Structure chart for a car park: the top box is the mainline, sub-modules sit below, small open circles are data couples, a filled circle is a flag, a diamond marks a decision and a curved arrow marks repetition

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

← How to draw a flowchartHow to draw a class diagram →