Good programs are not typed in one go. Programmers work through four stages: they analyse the problem, design a solution, code it and test it. Each stage has its own tools, and the exam expects you to name them and say what happens at each one.
The program development life cycle has four stages. Analysis: identify the problem and its requirements, using abstraction (keep the important details, remove the rest) and decomposition (break it into smaller parts). Design: plan the solution with structure diagrams, flowcharts and pseudocode. Coding: write the program code, with iterative testing of each part as it is written. Testing: test the finished program with planned test data.
Fig. 1: the four stages, with iterative testing looping back during coding
Section 01
Analysis: understand the problem.
Before anyone designs anything, they must know exactly what the program has to do. Analysis turns a vague request ("we need a system for the school library") into a clear list of requirements.
Identify the problem: what is wrong now, and who will use the new system?
Requirements: a list of what the program must do, e.g. "record when a book is borrowed", "show overdue books", "allow at most 3 loans per student".
Abstraction: keep only the details that matter to the problem. A library system needs a book's title, author and ISBN, but not its colour or weight.
Decomposition: break the problem into smaller parts that can be solved one at a time, e.g. borrowing, returning, searching, reports.
Worked example Abstraction
A program will plan the fastest bus route between two stops. Give two details to keep and one detail to remove.
Ask: does this detail change the answer to the problem?
Keep: the stops on each route and the journey time between stops (also: departure times).
Remove: the colour of the buses or the names of the drivers; they do not affect the fastest route.
Answer: Keep stops and journey times; remove details such as bus colour
Examiner trap
Abstraction is not the same as decomposition. Abstraction removes unnecessary detail; decomposition splits the problem into smaller parts. Questions often ask you to describe one of them, so do not mix them up.
Section 02
Design: plan the solution.
In the design stage the programmer works out how the program will meet the requirements, before writing any real code. The design is a plan another programmer could follow.
Decomposition again: each part found in analysis is split further into modules.
Structure diagrams: show how the system breaks down into sub-systems, level by level.
Flowcharts: show the steps of an algorithm with standard symbols joined by flow lines.
Pseudocode: writes the steps in structured, language-free code, e.g. IF Loans > 3 THEN ....
Your turn
Name the stage of the life cycle in which a flowchart is drawn, and the stage in which test data is used on the whole program.
Flowchart: design. Test data on the whole program: testing.
Stage 1 · Learn
Check what the sim just showed you
Four quick checks. Each correct answer earns XP and records this skill on your profile.
Quick check+10 XP
Which stage of the program development life cycle comes directly after analysis?
Quick check+10 XP
What is abstraction?
Quick check+10 XP
In which stage are structure diagrams, flowcharts and pseudocode produced?
Quick check+10 XP
What is meant by iterative testing?
Section 03
Coding and testing.
Try running a short program in the lab. Change one line, run it again and check the trace table: that is iterative testing in miniature.
Stage
What happens
Typical tools or outputs
Analysis
Identify the problem and the requirements
Abstraction, decomposition, requirements list
Design
Plan how the solution will work
Structure diagrams, flowcharts, pseudocode
Coding
Write the program; test each module as it is written and fix it (iterative testing)
Program code in a high-level language
Testing
Test the completed program to check it meets the requirements
Normal, abnormal, extreme and boundary test data
Examiner trap
Iterative testing belongs to the coding stage: small parts are tested and corrected repeatedly while they are being written. The testing stage is when the whole program is tested with test data.
Stage 2 · Exam
Exam-style questions
Unlocks once the four checks above are done. Worth more XP, written to IGCSE Paper 1 standard.
Finish the four checks above to unlock the exam questions
Exam style+20 XP
A programmer writes a list of everything a new booking system must do. Which stage is this?
Exam style+20 XP
Which task is carried out in the testing stage?
Exam style+20 XP
Which pair of tasks both belong to the analysis stage?
Exam style+20 XP
A weather app shows only temperature and rain, not air pressure readings. Which technique is this?
Skill unlocked
Life cycle, mastered.
This skill is now recorded on your profile. Keep the chain going.