Decomposition diagram
Breaks the problem into components and sub-tasks for planning.
What it explains and when it is useful
A decomposition diagram breaks the problem from Criterion A into components and then into sub-tasks small enough to plan, build and test. It is a planning artefact for Criterion B, not a picture of the program's code.
When to use it: Always useful in Criterion B. The IB guide says decomposition “can be effectively constructed using diagrams”; the IA Guide adds that diagrams need supporting text.
Worked example
Illustrative: PracticePal is a fictional project used throughout this guide.
Scroll sideways to see the whole diagram.
Notation and legend
| Symbol or part | Meaning |
|---|---|
| Top box | The whole problem or product |
| Second row | Major components (features or subsystems) |
| Small boxes | Sub-tasks: each becomes a task in the plan |
| SC labels | The success criteria a component delivers |
Design decisions it communicates
A diagram earns marks when you explain the decisions it shows. In PracticePal's documentation these would each be one sentence:
- Booking rules (SC4–SC6) form one component because the three checks must run together in one transaction.
- Check-in is separate from the waiting list even though both free slots: they have different triggers (a student vs the clock).
- The head of music's tools are grouped by role, matching the use-case diagram in C.
Common mistakes
- Generic parts (“GUI”, “database”, “backend”) that would fit any project.
- Stopping at the top level, with nothing small enough to plan.
- A diagram with no explanation (capped at 2/4 in the exemplars).
- Calling it a structure chart or class diagram: those describe code, not the problem.
Checklist for your own version
Ticks are saved in this browser only, so you can use the list while you draft.