The program development life cycle and decomposition
Watch the whole lecture free
Make a free account to watch every lecture to the end: 8 practice questions, 2 real past-paper questions with the answers explained, the mistakes that lose marks, the full-marks tip, a one-card summary and a quick quiz.
That was the teaching part. The rest of this lecture is free with an account: 8 practice questions, 2 real past-paper questions with the answers explained, the mistakes that lose marks, the full-marks tip, a one-card summary and a quick quiz.
No password needed now: we email you a link to set one. Already have an account? Sign in, then come back to this page.
The teaching part (2 min) is free to watch. A free account opens the whole lecture: 8 practice questions, 2 real past-paper questions with the answers explained, the mistakes that lose marks, the full-marks tip, a one-card summary and a quick quiz.
What this lecture covers
- Nobody builds a house without a plan
- The four stages
- What happens in each stage
- Analysis
- Abstraction
Read the transcript of the teaching part
Last time
Before we start: last time, in Artificial intelligence, expert systems and machine learning, you learned these points. Here they are again on one card. Keep them in mind, because today builds on them.
Nobody builds a house without a plan
Nobody builds a house by laying bricks and hoping. They investigate what is needed, then plan it, then build it, then check it. Programmers work in the same order. Cambridge calls it the program development life cycle, and you need four stages.
The four stages
The stages are analysis, design, coding and testing. If testing finds problems, the programmer goes back to an earlier stage. Maintenance is not one of the four stages you need. Writing maintenance or evaluation as a stage scores no marks.
What happens in each stage
In analysis, the problem is defined and the requirements are identified, using abstraction and decomposition. In design, the solution is planned, using structure diagrams, flowcharts and pseudocode. In coding, the program is written, with iterative testing. In testing, the finished program is run with test data.
Analysis
In analysis, the problem is investigated and clearly defined. The requirements are identified: what the program must do. Unnecessary detail is removed, and the problem is broken into parts.
Abstraction
Abstraction means removing unnecessary detail, and keeping only what is needed. A map of a train network shows stations and lines, but not buildings or roads. A paint calculator needs the wall size and the price, but not the brand of the paint.
How often it comes up
The whole chapter: Computer System, Sub-System and Decomposition, The Program Development Life Cycle.
Chapter 7.1: The PDLC
- The program development life cycle and decomposition 6 min
Also for IGCSE Computer Science 0478
Which topics come up most in IGCSE Computer Science 0478 past papers, counted from every paper since 2004: Paper 1 topic frequency, Paper 2 topic frequency.