← IGCSE Computer Science Paper 2

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.

Class: _____________________  ·  Name: _____________________  ·  Date: _________

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.

Learning
Duo
Which stage of the program development life cycle comes first?
AnalysisDesign
Matches
Stage order: Design -> Analysis -> Coding -> Testing
↓
Design is placed before analysis. Analysis must come first, so you understand the problem and requirements before designing anything.
Applying
Meanings
Term
analysis
Meaning
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.
Practice
// ANALYSIS STAGE
Testing
Gaps
Stage 1:
Check Answer
Spots
2REQUIRE: Record each sale
3REQUIRE: Draw a flowchart

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Pufferfish' badge — Error Handler, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. Which stage of the program development life cycle comes first?
A. Design
B. Analysis ✓
Analysis is the first stage. You must understand the problem and list what the solution must do before you design anything.
2. What is the main aim of the analysis stage?
A. Identify the problem and list the requirements ✓
B. Write the final program code
Analysis is about understanding the problem and listing what the solution must do. Coding happens later, in the development stage.
3. A school wants a program to record canteen orders. Which item is a requirement listed during analysis?
A. The program must let staff enter an order and show the total cost ✓
B. Draw a flowchart with a decision symbol for each order
A requirement states what the solution must do. Drawing a flowchart is a design task, not analysis.
4. True or false: you should draw flowcharts and structure diagrams before the analysis stage.
A. False ✓
B. True
Analysis comes before design. Flowcharts and structure diagrams are design tools, so they are made after the problem and requirements are clear.
5. Which technique helps in analysis by breaking a large problem into smaller sub-problems?
A. Compilation
B. Decomposition ✓
Decomposition splits a complex problem into smaller, easier parts. It is used in analysis to understand the problem.

Match the Pairs

analysis → The first stage of the program development life cycle, where you identify the problem and list the requirements
requirements list → A list of what the finished solution must do, written during analysis
Analysis uses decomposition to break the problem into smaller sub-problems so each can be understood → Problem: school canteen system -> sub-problems: take order, take payment, update stock
Analysis uses abstraction to keep only the important details and ignore the unnecessary ones → Keep: item, price, quantity. Ignore: colour of the till, canteen wall paint
Stage order: Design -> Analysis -> Coding -> Testing → Design is placed before analysis. Analysis must come first, so you understand the problem and requirements before designing anything.
Analysis: draw a flowchart and write the pseudocode → Flowcharts and pseudocode are design work. Analysis only identifies the problem and lists the requirements.

Key Term

analysis
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.

Fill in the Blanks

1. Stage 1: Analysis Stage 2: Design Stage 3: Coding
Hint: Type the name of the first stage of the life cycle, where the problem is identified and the requirements are listed.
2. // Requirement: show the total Total ← 5 + 3 OUTPUT Total
Hint: The requirement says to show the total. Type the pseudocode keyword that displays a value.
3. Order: Analysis, Design, Coding, Testing
Hint: Analysis comes before this stage. Type the stage that follows it, where the solution is planned.
4. Analysis uses abstraction and decomposition
Hint: Type the technique that removes unnecessary detail so only the important parts of the problem remain.
5. // Requirement: read a mark INPUT Mark OUTPUT Mark
Hint: The requirement says the program must read a mark from the user. Type the pseudocode keyword for this.

Spot the Error

Question 1
A PROBLEM: Shop queues are long
B REQUIRE: Record each sale
C REQUIRE: Draw a flowchart
Line C — 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'.
Question 2
A Analysis stage steps:
B 1 Identify the problem
C 2 Write the pseudocode
D 3 Then start the design
Line C — Analysis comes before design, so writing pseudocode is too early. The second analysis step is to list the requirements.
Question 3
A Problem: Bus timetable app
B KEEP: stop name
C KEEP: departure time
D KEEP: bus paint colour
Line D — Abstraction removes details that are not needed. The paint colour does not help a timetable, so it should be ignored, not kept.
Question 4
A Problem: Run a school quiz
B Sub-problem: ask questions
C Sub-problem: mark answers
D Sub-problem: write the code
Line D — Decomposition in analysis splits the problem into smaller parts of the task, such as showing the score. Writing the code is a later stage, not a sub-problem of the quiz.
Question 5
A PDLC order:
B Design then Analysis
C Then Coding then Testing
Line B — Analysis is the first stage and must come before design. The line should read 'Analysis then Design'.

Student with a class code? Join your class →