Use the program development life cycle
Connect analysis, design, coding and testing as stages that can repeat while a solution improves.
This sequence follows Cambridge IGCSE Computer Science 0478, 2026–2028 syllabus Version 6. 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.
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
What should analysis establish before a solution is designed?
What you will learn
- Name the four development stages
- Explain the purpose of each stage
- Describe how testing can lead back to design or coding
A solution develops through four stages
Analysis identifies the problem, users, inputs, required processes and outputs. Design plans a solution using methods such as structure diagrams, flowcharts or pseudocode. Coding turns that design into a program.
Apply and check the rule
Testing uses test data to check whether the program works as intended. When a test reveals a problem, the developer may return to analysis, design or coding and test again. The cycle is iterative: a program is not ready merely because it runs once.
Pause and explain
A test fails because the code applies the wrong discount. What is the sensible next action?
Worked example
A library app gives the wrong overdue total. Which development stages should the team revisit?
Show the worked solution
- Testing exposed a failure against the requirement.
- Review the analysis to confirm the correct rule.
- Amend the design or code, then test again.
Answer Review the requirement and design, amend the code, and repeat the relevant tests.
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.
Put analysis, design, coding and testing in a sensible first-cycle order and state each role.
Give me a hint
Start by deciding what problem must be solved.
Compare my reasoning
- Analysis identifies the problem and requirements.
- Design plans the steps; coding implements them.
- Testing checks the implementation with data.
Analysis → design → coding → testing; testing may lead to a revised design or code.
Look for these in your work
- Four stages
- Order
- Iteration recognized
A program meets its written requirement but users cannot enter a required value. Which stage was likely incomplete, and what should happen next?
Give me a hint
Consider where user needs and inputs are identified.
Compare my reasoning
- Analysis may have missed a user input requirement.
- Update the requirements and design the input step.
- Code and test the revised program.
Return to analysis to clarify the input requirement, update the design and code, then test it.
Look for these in your work
- Stage identified
- Requirement fixed
- Further stages
A team says a program is complete because it passed one normal test. Explain why its development cycle is not yet well evidenced.
Give me a hint
One typical input cannot cover all requirements and error cases.
Compare my reasoning
- Analysis must capture the required behaviour.
- Testing needs suitable normal, invalid and boundary data for important rules.
- Failures should be corrected and the revised program retested.
One normal test only provides limited evidence. Test the requirements with suitable data, correct any failures, and retest the changes before judging the program.
Look for these in your work
- Evidence limitation
- Broader tests
- Iteration
Common mistakes
- Treating testing as the final step that can never lead to changes
- Starting coding before understanding the problem
What can you explain now?
Which stage checks a program with test data?
Compare with the explanation
Testing
Testing compares program behaviour with expected results for selected inputs.
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
Name the four development stages and explain how they can repeat.
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.