CS
Topic 7 Development lifecycle · 7.1 · 7.2 · 7.3 · 7.4 · 7.5 · 7.6

Development Lifecycle

How software actually gets built. Analysis, design, coding, testing — the four stages every professional programmer follows, and every Cambridge paper tests. This is the design phase of Topic 7: structure diagrams, flowcharts, pseudocode, and the test-data mistakes that cost candidates marks year after year.

🧪 Exam Mode ON — write first, then reveal

📚 Book Notes — start here

Read this before you tap the activities. These notes give you everything you need to feel confident before hands-on work. When you're ready, tap 🎓 Learn to explore the Design Studio and Lifecycle Stepper.

🎯 Topic Overview

This is how professional programmers actually build software. You'll learn the four-stage life cycle (analysis → design → coding → testing), the three tools of design (structure diagrams, flowcharts, Cambridge pseudocode), and how to test a program using validation, verification, and three kinds of test data. Every Cambridge Paper 2 algorithm question tests one of these skills.

🎓 Learning Objectives

By the end of Topic 7.1–7.6 you should be able to…

  • Name and describe the four stages of the program development life cycle
  • Apply decomposition to break a problem into subproblems
  • Draw a structure diagram showing a program's shape
  • Draw a flowchart using the four correct symbols
  • Write Cambridge pseudocode using exact syllabus syntax
  • Translate pseudocode into a real programming language with meaningful identifiers
  • Choose appropriate test data (normal, boundary, erroneous)
  • Explain the difference between validation and verification

📖 Key Terminology

TermOne-line definition
AlgorithmA sequence of steps to solve a problem.
Life cycleFour stages: analysis · design · coding · testing.
DecompositionBreaking a problem into smaller subproblems.
Structure diagramA tree showing a program and its subprograms.
FlowchartA diagram of program flow using standard symbols.
PseudocodeStructured English describing an algorithm.
ValidationAutomatic check that data is sensible.
VerificationCheck that data has not been changed during input or transfer.
Test dataNormal (in range) · Boundary (on the edge) · Erroneous (rejected).

🧠 Core Theory

The four life-cycle stages

StageWhat happens
1. AnalysisUnderstand the problem. Decompose it. Identify inputs, processes, outputs.
2. DesignPlan the solution. Structure diagrams, flowcharts, pseudocode.
3. CodingTranslate pseudocode into a programming language.
4. TestingFeed test data to check the program works.

The six validation checks

TypeEnforcesExample
RangeValue within limitsAge between 0 and 120
LengthExact/max charactersPhone = 11 digits
FormatData matches a patternEmail contains @
PresenceField is not blankRequired name field
TypeCorrect data typeNumber, not letters
Check-digitLast digit from othersISBN, barcode

💡 Worked Examples

Example 1 · Flowchart → Pseudocode

The flowchart (in text form):

[ Start ] → INPUT age → < age ≥ 18 ? >
                          ↓ YES → OUTPUT "Adult"
                          ↓ NO  → OUTPUT "Child"
                          → [ End ]

The equivalent Cambridge pseudocode:

INPUT age
IF age >= 18 THEN
    OUTPUT "Adult"
ELSE
    OUTPUT "Child"
ENDIF

Example 2 · Choosing test data for a range 1–50

TypeValuesExpected outcome
Normal25, 33, 12Accepted
Boundary1, 50Accepted (exactly on the limit)
Erroneous0, 51, -3, "cat"Rejected → reprompt

⚠️ Common Misconceptions

❌ "Validation and verification are the same thing"

Validation = data is sensible. Verification = data is unchanged. They check different things.

❌ "A single IF is enough for validation"

Validation needs a loop (WHILE or REPEAT-UNTIL) that keeps prompting until valid data is entered. An IF only allows one retry.

❌ "Any variable name will do"

Examiners reject Array, x, temp, data. Use meaningful names like StudentScores, HighestMark.

❌ "Python syntax is fine for Cambridge pseudocode"

Cambridge uses ENDIF, ENDWHILE, NEXT — not Python's if:, while:, def. Match the syllabus exactly.

📋 Cambridge Exam Focus

Mark-winning tips distilled from the 2023–2025 examiner reports:

Match the format to the command word. "Using pseudocode" → answer in pseudocode. "Draw a flowchart" → draw a flowchart. "Explain" → write prose.
Use exact Cambridge pseudocode syntax. ENDIF, ENDWHILE, NEXT, ENDCASE, ENDPROCEDURE, ENDFUNCTION.
Assignment operator is <- (left arrow), not = or :=.
Data types: INTEGER, REAL, STRING, CHAR, BOOLEAN. Not "text", "number" or "bool".
Meaningful identifiers. StudentScore, not x. HighestMark, not temp.
Validation = loop with re-input. Not an IF.
Test data comes in three types. Normal, boundary, erroneous — always show all three.

🎯 Quick Knowledge Check

Tap each question to reveal the answer. Get most of these right and you're ready for activities.

1. What are the four life-cycle stages, in order?
Analysis → Design → Coding → Testing.
2. What shape is a decision in a flowchart?
A diamond.
3. What are the three types of test data?
Normal (in range), boundary (on the edge), erroneous (outside).
4. What's the difference between validation and verification?
Validation checks data is sensible. Verification checks data has not been changed during input/transfer.
5. What's the Cambridge assignment operator?
<- (left arrow). Not = and not :=.
6. Why does validation need a loop, not just an IF?
Because if the input is invalid, the user must be asked again and again until valid data is entered. An IF only allows one retry.

✅ Ready for activities when you can…

Name the four life-cycle stages. Know the difference between validation and verification. Recognise the four flowchart symbols. Give an example of normal, boundary and erroneous test data.

Ready? Tap the 🎓 Learn tab and try the Design Studio — the same algorithm shown three ways.

📚 From the Textbook

Programs don't get written in one go. A developer follows a life cycle: understand the problem (analysis), plan the solution (design), write the code (coding), then check it works (testing). Analysis uses decomposition to break big problems into small subproblems. Design uses three tools — structure diagrams for the shape of the program, flowcharts for the flow of decisions, and pseudocode for the actual instructions in a language-independent way. Testing uses three kinds of data — normal, boundary and erroneous — and two related but different checks: validation (is the data sensible?) and verification (has the data been entered correctly?). Get these ideas locked in and every Paper 2 algorithm question opens up.

💡 Getting Started

Set up an obstacle course with chairs. Write instructions to guide a friend through it — how many steps, which way to turn. Ask a second friend to check your instructions before you give them to the first (that's verification). Get the first friend to follow them; if they hit something, your instructions failed testing. Amend and try again. That's the development life cycle in miniature.

🔬 Computer Science in Context

The reason airlines run on decades-old software isn't laziness — it's testing. New code has to be validated, verified, tested with normal / boundary / erroneous data, traced, and retested at every layer before it's allowed near a live booking. When designers cut analysis or design short to "just start coding", the bugs surface in testing, and the cost of fixing them there is 10× the cost of catching them in design. Every pro developer you'll ever meet has learned this the hard way.

💬 Discussion

Why do you think the same four stages (analysis, design, coding, testing) appear in every life-cycle model? What might go wrong if a team skips one? Which stage do you think is hardest — and why do students usually spend the least time on it?

⚠️ Validation vs Verification — the classic mix-up

Every examiner report on Paper 2 flags this. Candidates confuse them, invent hybrid definitions, or answer one when the other was asked. Learn the two definitions word-for-word.

✅ Validation

What: checks whether input data is sensible / matches given rules.
When: during input.
Done by: the computer, automatically.
Types: range, length, format, presence, type, check-digit.
Requires: a loop that keeps asking until valid data is entered (an IF alone is NOT validation — that only allows one extra try).

🔁 Verification

What: checks the data hasn't been changed / corrupted during input or transfer.
When: at input (double-entry / visual) or transfer (checksum / parity).
Done by: the user (visual, double-entry) or the computer (checksum, parity).
Types: double-entry check, visual check, checksum, parity, echo.
Not: checking whether data is correct — only whether it's unchanged.

🔷 Flowchart symbols — the only four you need

Every Cambridge flowchart uses these four shapes. Using the wrong shape (a decision inside a rectangle, for example) costs the symbol mark — flagged in every 2023–2025 examiner report.

Start / End

Rounded rectangle — the terminator. Begins and ends every flowchart.

total ← total + 1

Rectangle — a process. Any calculation, assignment, or step that isn't input/output/decision.

INPUT name

Parallelogram — input or output. INPUT reads from the user; OUTPUT displays to the screen.

age ≥ 18 ?

Diamond — a decision. Must have a Yes/No question inside. Two arrows out.

📐 Design Studio — one problem, three views

The same algorithm shown three ways. Click any element in any view — the equivalent parts light up in the other two. This is how experienced programmers actually see code: as three overlapping mental models.

Structure diagram
Flowchart
Pseudocode
Click any element in any view to see how it maps to the others.

🔄 Life Cycle Stepper — the four stages walking through one problem

The problem: "Design a program that inputs 20 student scores, calculates the average, and outputs how many were above average." Click each stage below.

📝 Cambridge Pseudocode — quick reference

The exact syntax you're expected to use. Examiners routinely dock marks for candidates who write "correct-looking pseudocode" that doesn't match the Cambridge syllabus style.

DECLARE variablesDECLARE Total : INTEGER DECLARE Name : STRING DECLARE Found : BOOLEAN
INPUT and OUTPUTINPUT Number OUTPUT "The answer is ", Total
IF – THEN – ELSEIF Score >= 50 THEN OUTPUT "Pass" ELSE OUTPUT "Fail" ENDIF
CASE statementCASE OF Grade 'A' : OUTPUT "Excellent" 'B' : OUTPUT "Good" OTHERWISE : OUTPUT "Try again" ENDCASE
FOR loop (count-controlled)FOR i <- 1 TO 10 OUTPUT i NEXT i
WHILE loop (pre-condition)WHILE Password <> "cat" INPUT Password ENDWHILE
REPEAT loop (post-condition)REPEAT INPUT Number UNTIL Number >= 1 AND Number <= 100
Array declaration & accessDECLARE Scores : ARRAY[1:20] OF INTEGER Scores[1] <- 45 OUTPUT Scores[i]
Procedure (no return)PROCEDURE Greet(Name : STRING) OUTPUT "Hello ", Name ENDPROCEDURE CALL Greet("Ali")
Function (returns a value)FUNCTION Square(x : INTEGER) RETURNS INTEGER RETURN x * x ENDFUNCTION Answer <- Square(4)
MOD and DIVRemainder <- 17 MOD 5 // = 2 Whole <- 17 DIV 5 // = 3 LENGTH("cat") // = 3
File handlingOPENFILE "notes.txt" FOR READ READFILE "notes.txt", LineOfText CLOSEFILE "notes.txt"

🎯 Six mark-scheme traps (from the examiner reports)

Trap 1 · "Validation" written as a single IF

If the question says "validate the input", it must be inside a loop that keeps asking until the entry is valid. An IF only allows one retry — the examiner sees this every year and it costs marks.

Cited: 2025 s25 Q12, 2024 s24 Q12, 2025 w25 Q7(c)(ii)

Trap 2 · Verification described as "checks data is correct"

Verification checks whether the data has changed / been corrupted during input or transfer. It does NOT check whether the data is factually correct — that's not something the computer can know. Double-entry, visual check, checksum, parity.

Cited: 2025 s25 Q1(a), examiner-report wording

Trap 3 · Wrong pseudocode syntax

Candidates who write "Python-y" pseudocode (using if:, while ... :) instead of Cambridge syntax lose marks even when the logic is right. Use IF … THEN … ELSE … ENDIF, WHILE … ENDWHILE, FOR … NEXT — the exact spellings from the syllabus.

Cited: 2024 w24 examiner report — "many used program code or incorrect pseudocode which did not match the syntax of the pseudocode in the syllabus"

Trap 4 · Meaningless identifiers

Using Array, x, data or temp as variable/array names is flagged as "not meaningful". Names should describe what the variable holds: StudentScores, HighestScore, Counter.

Cited: 2024 w24 Q9(c)

Trap 5 · Flowchart symbols used wrongly

Decisions go in diamonds, processes in rectangles, input/output in parallelograms, start/end in rounded terminators. Putting a decision text inside a rectangle, or a process inside a diamond, costs the shape mark.

Cited: 2024 s24 examiner report — "correct flowchart symbols need to be used"

Trap 6 · Answering the wrong format

If a question says "using pseudocode", answer in pseudocode. If it says "using a flowchart", draw one. If it says "explain", write prose — pseudocode alone won't do. Match the format to the command word.

Cited: 2025 s25 general comments, 2024 s24 general comments
Path

Topic 7.1–7.6 Learning Journey

Mistakes

Mistakes log

Progress

Stats & graphs

0%Accuracy
0Answered
0Streak
Bookmarks

Bookmarks

My Notes

My Notes

Title
Note
Knowledge Vault 2.0

Knowledge Vault

Add entry

Category
Confidence
Title
Info

Entries

🎮 Drill 1 — Flowchart Symbol Identifier

A description is shown. Pick the correct flowchart symbol.

🎮 Drill 2 — Test Data Sorter

A value is shown for the range 1–100. Sort it into normal, boundary, or erroneous.

🎮 Drill 3 — Validation Family

A rule is shown. Pick which validation check enforces it.

🎮 Drill 4 — Lifecycle Detective

A developer action is shown. Which stage of the life cycle is it?

🎮 Drill 5 — 60-Second Pseudocode Sprint

10 rapid questions on Cambridge pseudocode syntax. Beat your best.

60
0 / 0

✎ Practice — 18 MCQs covering 7.1 – 7.6

📋 Exam Mode — real past-paper wording

Every question below is drawn from a real Cambridge Paper 2 (2023–2025) or the examiner report describing that question. Type your answer, then reveal the mark scheme.

🔄 Traps — mark-scheme wording

Trap · Validation without a loop

If the question asks for validation, wrap the input in a loop that keeps prompting until valid. An IF only allows one retry — that isn't validation.

2025 s25 · 2024 s24 · 2025 w25

Trap · "Verification checks data is correct" ❌

Verification checks data has not been changed. Correctness is a separate concept the computer can't judge.

2025 s25 examiner report

Trap · Confusing validation with verification

Common in questions where one is asked for and candidates give the other. Read the question word carefully.

2025 s25 Q1, 2025 w25 Q6(c)

Trap · Python-style pseudocode

Writing if x==5: is Python. Cambridge wants IF x = 5 THEN … ENDIF. Get the ENDs right — ENDIF, ENDWHILE, ENDCASE, ENDPROCEDURE, ENDFUNCTION.

2024 w24 examiner report

Trap · Meaningless variable names

"Array", "x", "temp", "data" — none are meaningful. Use names that describe the value: StudentScores, Counter, HighestMark.

2024 w24 Q9(c)

Trap · Missing NEXT / ENDWHILE

Every loop needs its closing keyword. Missing END markers is one of the top pseudocode syntax errors in every session.

Recurring across 2023–2025 examiner reports

Trap · Decisions in rectangles

A flowchart decision must be a diamond. Putting a Yes/No question inside a rectangle loses the symbol mark.

2024 s24 examiner report — "correct flowchart symbols need to be used"

Trap · Wrong data type declared

Cambridge uses INTEGER, REAL, STRING, CHAR, BOOLEAN. Writing text or number is not accepted.

2025 s25 Q7

Trap · Skipping the parameter

When a procedure has a parameter, the CALL must pass a value: CALL Greet("Ali"), not CALL Greet.

2024 s24 Q3(b)

🧠 Memory triggers

ADCT

Four letters, four life-cycle stages.
Analysis → Design → Coding → Testing. Every life-cycle model contains these four.

NBE

Three test-data types.
Normal (in-range) · Boundary (on the edge) · Erroneous (rejected). Every test set should include all three.

RLFPTC

Six validation checks.
Range · Length · Format · Presence · Type · Check-digit.

SICNSelect Sequence Iteration Case

Four flowchart symbols mapped to shapes.
Terminator = rounded rectangle · Process = rectangle · Input/Output = parallelogram · Decision = diamond.

VvV

Validation vs Verification.
Validation = data is sensible (computer, automatic, needs a loop). Verification = data is unchanged (user or computer, at input or transfer).

🏆 Skill grid

Green = secured (≥70%). Yellow = focus (30–69%). Grey = not attempted. Tap any badge to override.

✔ Saved