KwickAcademy Course Topics · 6 min · free
Program development life cycle (analysis, design, coding, testing)
The program development life cycle has four stages: analysis, design, coding and testing. Analysis uses abstraction and decomposition; design uses structure diagrams, flowcharts and pseudocode.
Follows the syllabus of: Cambridge IGCSE Grade 9 Computer Science (0478), Cambridge IGCSE Grade 10 Computer Science (0478)
On screen in this lesson
The four stages
| Analysis: understand the problem |
| Design: plan the solution |
| Coding: write the program |
| Testing: check it works correctly |
Our example problem
| School canteen billing program |
| Input price and quantity of each item |
| Add up the total for the order |
| Output the total to pay |
Stage 1: analysis
| Abstraction: keep only the important details |
| Decomposition: break into smaller parts |
| Identify inputs, processes, outputs, storage |
| Produce a list of requirements |
Decomposing the canteen bill
| Part | Canteen task | Example |
|---|---|---|
| Inputs | price, quantity | 15 and 2 |
| Processes | price x qty, add | 30 |
| Storage | running total | Total |
| Outputs | final total | 30 |
Stage 2: design
| Structure diagram: problem split into sub-systems |
| Flowchart: steps drawn with shapes |
| Pseudocode: steps in code-like English |
| Check the plan before writing code |
Stage 3: coding
| Write the program in a real language |
| Follow the design, part by part |
| Iterative testing: test small parts often |
| Use comments and meaningful names |
Quick answers
Drawing a flowchart for the bill is which stage?
Design. No real code is written yet.
What does abstraction mean?
Keeping only the important details.
KwickClips from this lesson
Short clips, one idea each. Good for revision the night before.
The full lesson, in text
Hello students, welcome to Kwickprep. Do programmers just sit down and start typing code? No. Good programs are built in planned stages. Today we will learn the four stages of the program development life cycle: analysis, design, coding and testing.
The program development life cycle is the set of stages followed to create a program. Analysis means understanding the problem and what the program must do. Design means planning how the program will work, before any code. Coding means writing the program in a programming language. Testing means running the program with test data to check that it works.
Here are the stages in order, with a check at the end. First comes analysis. Then comes design. Then comes coding. Then the program is tested. The diamond asks if any errors were found. If yes, we fix them and test again. If no errors are left, the program is ready to use.
We will follow one problem through every stage. A school canteen wants a program for its bill. The cashier enters the price and quantity of each item. The program adds up the total for the whole order. At the end, it outputs the total amount to pay.
In analysis, we find out exactly what is needed. Abstraction means keeping only the details that matter and removing the rest, so the colour of the canteen menu is ignored. Decomposition means breaking the problem into smaller parts that are easier to solve. We identify the inputs, processes, outputs and storage the program needs. The result is a list of requirements, which says what the program must do.
Here is the canteen problem decomposed into its parts. The input part reads the price and the quantity. The process part multiplies them and adds the result to a running total. The storage part keeps the total in a variable while the order continues. The output part shows the final total.
In design, we plan how the program will solve the problem. A structure diagram shows the problem split into sub systems, like a family tree. A flowchart shows the steps with standard shapes and arrows. Pseudocode writes the steps in simple English like code, without the strict rules of a real language. The design is checked before coding, because fixing a plan is cheaper than fixing code.
Here is part of the design for the canteen bill. Total is set to zero at the start. Then, for three items, we input the price and the quantity. Each time, price multiplied by quantity is added to Total. After the loop, the program outputs Total.
In coding, the design is turned into a real program. The programmer writes code in a language such as Python, Java or Visual Basic. The code follows the design, so each part matches a part of the plan. The programmer also tests small parts while writing, which is called iterative testing. Comments and meaningful names make the code easy to read and maintain.
In testing, the whole program is run with planned test data to find errors. Normal data is sensible data that should be accepted. Abnormal data is data that should be rejected, such as a word where a number is expected. Extreme data is the largest or smallest value that is still accepted. Boundary data tests both sides of a limit, one value accepted and one rejected.
Suppose a quantity must be from one to twenty. Normal data could be three, and it should be accepted. Abnormal data could be the word two, and it should be rejected. Extreme data is twenty, the largest value accepted. Boundary data is twenty and twenty one, where twenty is accepted and twenty one is rejected.
Pause the video and name the stage. A programmer draws a flowchart for the canteen bill. Which stage is this? It is design, because the steps are planned but no program is written yet. A drawing or pseudocode is never the coding stage.
Exam questions often give an activity and ask for its stage, so learn this table. Analysis uses abstraction and decomposition and gives the requirements. Design uses structure diagrams, flowcharts and pseudocode. Coding uses a programming language and gives the program. Testing uses test data and gives a working program.
Let us revise the program development life cycle. There are four stages in order. Analysis uses abstraction and decomposition to find the requirements. Design plans the solution with structure diagrams, flowcharts and pseudocode. Coding writes the program with iterative testing. Testing uses normal, abnormal, extreme and boundary data.
Courses that teach this
| Course | Unit |
|---|---|
| Cambridge IGCSE Grade 9 Computer Science (0478) | 7. Algorithm Design and Problem-Solving |
| Cambridge IGCSE Grade 10 Computer Science (0478) | 7. Algorithm Design and Problem-Solving |
Voice-over in this lesson is AI-generated. The script is written and checked by Kajal Ma'am. Boards can revise a syllabus mid-year, so confirm anything you plan around against the official board circular. Keep your passwords, OTPs and ID numbers to yourself — we never ask for them. To reach Kajal Ma'am, use the WhatsApp button; sharing your number there is how we call you back.
Free to watch, no sign-up. Live classes with Kajal Ma'am are the paid course; these lessons stay free either way.


