← IGCSE Computer Science Paper 2

Applying the program development life cycle to a scenario

Program development life cycle: analysis, design, coding, testing. Apply it to a scenario by saying what is done at each stage and which methods and test data are used.

Understanding Applying the program development life cycle to a scenario in IGCSE Computer Science Paper 2

What it does: In design, the solution is planned using a structure diagram, flowchart or pseudocode, and validation and verification are included for inputs. Coding turns the design into a program, with iterative testing of small parts while it is being written. Analysis is where you decide what the program must do. Abstraction removes unneeded detail, and the requirements list inputs, processes and outputs. Normal data is valid and typical. Extreme data is the largest or smallest valid value. Abnormal data is invalid and should be rejected. Double entry is a verification method. It checks that the data was entered correctly, not that it is sensible.

Common mistakes: The design must re-ask while the mark is INVALID. Invalid means below 0 OR above 100. The broken line loops for valid marks. It should be WHILE Mark < 0 OR Mark > 100. Analysis is where you find the requirements, using abstraction and decomposition. A flowchart is a design method, so it belongs in stage 2.

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 83–92) and word search (Modules 71–92).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
A school wants a program to record quiz marks out of 20. Students list the inputs, processes and outputs, and ignore details like the font on screen. Which stage and method is this?
Analysis, using abstraction and requirementsTesting, using boundary test data
Matches
A student writes pseudocode first, then lists the requirements of the program
↓
The stages are in the wrong order: requirements belong to analysis, which comes before design
Applying
Meanings
Term
PDLC
Meaning
Program development life cycle: analysis, design, coding, testing. Apply it to a scenario by saying what is done at each stage and which methods and test data are used.
Practice
// Analysis: input Mark, output message
Testing
Gaps
// stage: abstraction, requirements
Check Answer
Spots
1INPUT Mark
2WHILE Mark > 0 AND Mark < 100

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

The 'Wolverine' badge — Fearless Coder, 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. A school wants a program to record quiz marks out of 20. Students list the inputs, processes and outputs, and ignore details like the font on screen. Which stage and method is this?
A. Testing, using boundary test data
B. Analysis, using abstraction and requirements ✓
Analysis is where you decide what the program must do. Abstraction removes unneeded detail, and the requirements list inputs, processes and outputs.
2. A developer draws a hierarchy chart to split a library system into smaller sub-problems, then writes a flowchart for one of them. Which stage is this?
A. Coding
B. Design ✓
Structure diagrams, flowcharts and pseudocode are design methods. They plan the solution before any program code is written.
3. Which choice describes the coding stage with iterative testing?
A. Write the program in small parts and test each part as you go ✓
B. Write the whole program first and only test it at the very end
Iterative testing means testing while coding, so errors are found early in each small part.
4. A program accepts a mark from 0 to 100. In the testing stage, which set contains normal, extreme and abnormal data?
A. 55 (normal), 0 (extreme), -5 (abnormal) ✓
B. 55 (abnormal), 0 (normal), -5 (extreme)
Normal data is valid and typical. Extreme data is the largest or smallest valid value. Abnormal data is invalid and should be rejected.
5. A range check accepts ages 11 to 16. Which values are the boundary test data for this check?
A. 10, 11, 16 and 17 ✓
B. 11, 13 and 16 only
Boundary data tests the edge of the valid range: the extreme values (11 and 16) plus the nearest invalid values (10 and 17).

Match the Pairs

Analysis: abstraction, decomposition, requirements → Decide what the problem is, ignore unneeded detail, split it into sub-problems and list the inputs, processes, outputs and storage needed
Testing: normal, abnormal, extreme, boundary data → Run the finished program with different types of test data and compare actual results with expected results
Design stage: show the solution as a plan, and plan validation and verification for input → Flowchart or pseudocode with a range check and double entry check
Coding stage: write the program from the design and test each part as you go → Write a loop, then run it and fix errors before adding the next part
A student writes pseudocode first, then lists the requirements of the program → The stages are in the wrong order: requirements belong to analysis, which comes before design
Testing a mark range of 0 to 100 using only the test data 50, 60 and 75 → Only normal data is used, so abnormal, extreme and boundary data are missing, such as -5, 0, 100 and 101

Key Term

PDLC
Program development life cycle: analysis, design, coding, testing. Apply it to a scenario by saying what is done at each stage and which methods and test data are used.

Fill in the Blanks

1. // Analysis stage: abstraction, requirements
Hint: Type the name of the first PDLC stage, where the problem is studied and requirements are listed.
2. REPEAT INPUT Age UNTIL Age >= 1 AND Age <= 100
Hint: Type the relational operator that means less than or equal to, so the upper limit of the range check is accepted.
3. // Boundary data for 1 to 100: 0, 1, 100, 101
Hint: Type the boundary value that sits just outside the upper limit and should be rejected.
4. // Test data of abnormal type: -5, abc
Hint: Type the category of test data that a validation check should reject.
5. INPUT Age INPUT AgeCheck IF Age <> AgeCheck THEN
Hint: Type the operator meaning not equal to, so a double entry check spots two entries that differ.

Spot the Error

Question 1
A INPUT Mark
B WHILE Mark > 0 AND Mark < 100
C INPUT Mark
D ENDWHILE
Line B — The design must re-ask while the mark is INVALID. Invalid means below 0 OR above 100. The broken line loops for valid marks. It should be WHILE Mark < 0 OR Mark > 100.
Question 2
A 1 Analysis: draw a flowchart
B 2 Design: draw a flowchart
C 3 Coding: write the program
D 4 Testing: use test data
Line A — Analysis is where you find the requirements, using abstraction and decomposition. A flowchart is a design method, so it belongs in stage 2.
Question 3
A Range check: age 11 to 16
B Normal: 14
C Abnormal: 12
D Extreme: 11 and 16
Line C — Abnormal data must be rejected by the range check. 12 is inside 11 to 16, so it is normal data. A correct abnormal value is -5.
Question 4
A Code the INPUT section
B Skip testing until the end
C Code the calculation
D Test it again
Line B — Coding uses iterative testing. You test each section as you write it, not only at the end. Line 2 should be to test the section with test data.
Question 5
A Abstraction: add every detail
B Bus app: keep stops and times
C Bus app: ignore bus colour
Line A — Abstraction in analysis means keeping only the details needed and removing unnecessary ones. It does not mean adding every detail.

Student with a class code? Join your class →