CBSE 2026 results are out, Mukul scored a perfect 100/100 in Computer ScienceSee all toppers →

KwickAcademy Course Topics · 6 min · free

Program development life cycle (analysis, design, coding, testing)

6 min1 KwickClipsFull text belowFree
Next lesson →Kajal Ma'am (MCA), teaching since 2004Remembered in this browser

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

PartCanteen taskExample
Inputsprice, quantity15 and 2
Processesprice x qty, add30
Storagerunning totalTotal
Outputsfinal total30

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

CourseUnit
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.

Want a plan that actually fits your board dates?

Ask Kajal Ma'am directly, 20+ years teaching computer science. Free demo class first, no payment.

Talk to Kajal Ma'am on WhatsApp

Or see the Class 12 Computer Science course →

Studying outside India?

We coach CBSE, IGCSE & international students across the globe, one-to-one, in your local time zone.

Visit International →