Analyse a problem and its requirements
Turn a scenario into clear user needs, inputs, processes, outputs and stored data before designing an algorithm.
Section 7 · Algorithm design and problem-solving
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
Which is an input to a marks calculator?
What you will learn
- Identify the problem and users
- List inputs, processes, outputs and storage
- State requirements that can be tested
Analysis removes ambiguity
Analysis identifies the problem to solve, who will use the solution and what the solution must do. A clear requirement describes observable behaviour rather than an implementation guess.
Apply and check the rule
List the data entering the system, the processes applied, the outputs users need and any information that must be stored. These categories help reveal missing requirements, such as whether a result must be displayed, saved, or both.
Pause and explain
Which requirement is easiest to test?
Worked example
A sports club wants software to calculate each player's weekly training minutes. Identify one input, process, output and stored item.
Show the worked solution
- Input: minutes for each training session.
- Process: add the session lengths.
- Output: total weekly minutes; storage may keep each session record.
Answer Input session minutes; process by summing; output the weekly total; store session records if they must be reviewed later.
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.
For a bus-fare calculator, name an input, process and output.
Give me a hint
Describe the data, calculation and result.
Compare my reasoning
- Input could be distance travelled and passenger category.
- Process applies the fare rule to those values.
- Output displays the fare due.
Input distance and category; calculate the correct fare; display the amount due.
Look for these in your work
- Input
- Process
- Output
A school system must record attendance and show an absence list. Identify what it stores and what it outputs.
Give me a hint
Separate retained records from the requested display.
Compare my reasoning
- Attendance entries are stored for later use.
- The program selects records marked absent.
- It outputs the absence list to an authorised user.
Store attendance records; output a list of pupils recorded absent.
Look for these in your work
- Stored data
- Selection process
- Output
A client asks for a “fast, simple booking system.” Rewrite this as two requirements that can be tested.
Give me a hint
Specify a measurable response and a visible user action.
Compare my reasoning
- A user can select an available time and submit a booking.
- The system confirms the booking or explains why it failed.
- A response-time limit can be measured under stated conditions.
For example: “A user can select an available slot and receive a confirmation or reason for failure within two seconds under the agreed load.” Each behaviour can be checked with a test.
Look for these in your work
- User action
- Expected response
- Measurable condition
Common mistakes
- Confusing an input with a stored result
- Writing a vague requirement such as “make it easy” without a testable meaning
What can you explain now?
What does a testable requirement describe?
Compare with the explanation
Observable behaviour the solution must provide
A tester can check whether the stated behaviour occurs.
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
Why should analysis identify inputs, processes, outputs and stored data?
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.