The analysis stage: problem and requirements
The first stage of the program development life cycle: identify the problem and list what the solution must do, using abstraction and decomposition, before any design starts.
Understanding The analysis stage: problem and requirements in IGCSE Computer Science Paper 2
What it does: Splitting the canteen problem into sub-problems is decomposition being used during analysis. Analysis is the first stage. You must understand the problem and list what the solution must do before you design anything. Abstraction means keeping the important details and ignoring the rest, so you can focus on what the problem really needs. Identifying the problem comes first. Variable names are chosen later when writing the program. Requirements give a clear target for design and for checking the finished solution. They do not replace testing.
Common mistakes: A requirement says what the solution must do. Drawing a flowchart is a design task, not a requirement. It should be something like 'REQUIRE: Show the total price'. Analysis comes before design, so writing pseudocode is too early. The second analysis step is to list the requirements.
Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.
This module's key terms are also in a printable crossword (Modules 107–118) and word search (Modules 94–118).
Take this worksheet further — free with Cloodit
Each concept is reinforced from every angle — learned, then applied, then tested.
Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.
Over 100 of them, across seven natural biomes.
Turns their work into revision material ready for Flash Cards and Exam study.
Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.
Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.
Quick Questions
Match the Pairs
Key Term
analysisFill in the Blanks
Spot the Error
Student with a class code? Join your class →