Learn in your language
Skip to content
IGCSE · Cambridge (CIE) · 0984

Decompose systems and problems

Break a large system into subsystems and a problem into smaller parts that can be designed and tested.

Cambridge IGCSE Computer Science 0984 · Algorithm design and problem-solving · 2026–2028 Version 4 · 0984 (9–1) · 7
Exam scope and assessment notes

This sequence follows Cambridge IGCSE Computer Science 0984, 2026–2028 syllabus Version 4. It covers subject content Topic 7 only. The separately published 2029–2031 syllabus is not mapped here. Practice is original, self-checked and does not award an official Cambridge grade. Full timed papers and human subject-teacher review remain outstanding. Cambridge states that 0984 has the same 2026–2028 subject content as 0478, with 9–1 grading. In June and November, Cambridge lists 0984 in Administrative zone 3 and for centres in Oman and the UAE. Confirm availability for your centre and exam series with Cambridge International. The separately published 2029–2031 syllabus changes to Python 3 only and removes pseudocode; this 2026–2028 route does not cover those changes.

Before you begin

  • No programming language is required. Be comfortable with place value and multiplication; each lesson introduces the computer-science notation it uses.

Work on paper. Try each question before revealing help, and explain why your method works.

Quick readiness check

What is a subsystem?

What you will learn

  • Explain a system and subsystem
  • Decompose a problem into components
  • Show how smaller parts support development

Decomposition makes complexity manageable

A computer system can be viewed as a set of subsystems, each made up of smaller components. A school booking system might contain account, timetable, booking and notification subsystems.

Apply and check the rule

Decomposition divides a large problem into smaller tasks with clear responsibilities and connections. Each part can be designed, built and tested, while the interfaces between parts must still agree about the data they exchange.

Pause and explain

A booking system has separate timetable and payment parts. What must be agreed before integration?

Put the idea to work

Worked example

Decompose an online library into three subsystems.

Show the worked solution
  1. Identify the main tasks users need.
  2. Separate catalogue search, borrowing and account management.
  3. State a responsibility for each part.

Answer Catalogue subsystem searches books; borrowing subsystem records loans and returns; account subsystem stores member details and permissions.

Try a topic test

Choose Easy, Normal or Difficult. Save your answers and open worked review after finishing.

Test this topic →

From guided practice to a new situation

Write your answer and reasoning first. Use a hint only if you are stuck. The model solution is for self-checking; your written work is not automatically marked.

1 · Guided

Divide a food-delivery service into three subsystems and give each one responsibility.

Give me a hint

Group related work such as ordering, dispatch and payment.

Compare my reasoning
  1. Ordering records items and customer instructions.
  2. Payment processes charges and confirmations.
  3. Dispatch assigns deliveries and tracks progress.

Possible parts are ordering, payment and dispatch, each responsible for a distinct task.

Look for these in your work

  • Three parts
  • Clear responsibilities
2 · Independent

Two subsystems both store a field called Date, but one uses DD/MM and the other MM/DD. Explain the integration risk.

Give me a hint

The same field name may still represent different conventions.

Compare my reasoning
  1. The value 03/04 can mean different dates.
  2. A receiving subsystem may interpret the data incorrectly.
  3. Agree one format and validate it at the interface.

The subsystems can interpret the same text as different dates. Agree a format and validate it before exchanging records.

Look for these in your work

  • Ambiguity
  • Consequence
  • Interface fix
3 · Transfer

A team decomposes an inventory system into product, order and reporting components. Describe one useful test at a component boundary.

Give me a hint

Check the data passed from one responsibility to another.

Compare my reasoning
  1. Specify the fields and types sent by the order component.
  2. Test an order with a valid product identifier and quantity.
  3. Confirm inventory updates and the report receives the same result.

Test that a valid order passes the agreed product identifier and quantity, updates stock correctly, and is reflected consistently in reporting.

Look for these in your work

  • Interface specified
  • Representative input
  • End-to-end consistency

Common mistakes

  • Breaking a system into pieces without defining their responsibilities
  • Assuming subsystems can be combined without agreed data formats
Recall without your notes

What can you explain now?

Why decompose a problem?

Compare with the explanation

To make parts easier to design and test

Smaller responsibilities are easier to understand and develop systematically.

After trying it yourself, choose your next review. This is your self-assessment.

Your review choice appears on Today. Sign in to sync it across devices.

Make it stick

How do decomposition and subsystem interfaces work together?

If you needed the solution, close it and solve the problem again from a blank page. A correct answer is stronger when you can explain the reason for each step.

Keep learning Computer Science (9-1)

Course scope and assessment

165 original lessons map the listed objectives across all 10 main topics in the 2026–2028 Version 4 syllabus. Cambridge states that 0984 has the same subject content as 0478, with 9–1 grading. Three retained introductory lessons remain available but are not counted as syllabus-mapped teaching. The 2023–2025 syllabus remains unmapped. The separately published 2029–2031 syllabus changes to Python 3 only and removes pseudocode; this 2026–2028 route does not cover those changes. In June and November, Cambridge lists 0984 in Administrative zone 3 and for centres in Oman and the UAE. Confirm availability for your centre and exam series with Cambridge International. Practical programming in an executable browser workspace, full timed-paper practice and human subject-teacher review remain outstanding. Practice is self-checked and does not award an official Cambridge grade.

StudyForA · Learn with understanding

Original teaching content and links to official sources. Check your exam year and qualification before using a resource.