Ad Banner Placeholder

Cambridge IGCSE Computer Science · 0478

Topic 7: Algorithm Design and Problem-Solving — Part 1

PDLC & System Decomposition

The Program Development Life Cycle (PDLC)

The Program Development Life Cycle (PDLC) is a structured approach to creating software. It has four main stages:

Analysis
Understand the problem before writing any code. Key activities include problem identification, gathering requirements, using abstraction to focus on essential details, and decomposition to break the problem into smaller, manageable parts.
Design
Plan the solution by decomposing the problem into logical steps. Produce structure diagrams, flowcharts, and pseudocode to show how the program will work before coding begins.
Coding
Write the source code in a programming language. Use iterative testing during development — test small sections of code as you write them, not only at the end.
Testing
Use test datasets to run the finished program and compare actual outputs with expected outputs. Fix any errors found and re-test until results match.
Circular PDLC diagram showing Analysis, Design, Coding, and Testing stages connected in a cycle
Diagram 1: The four PDLC stages — Analysis, Design, Coding, and Testing — form a repeating cycle as programs are refined.

Exam Traps

  • Abstraction removes non-essential details to focus on what matters; decomposition breaks a problem into sub-problems — do not swap these two terms.

System decomposition

System decomposition breaks a large system into nested sub-systems (modules), each handling a specific part of the overall task. This makes complex problems easier to design, code, and test.

Every module in a decomposed system can be described using four components:

Input
Data or signals entering the module (e.g. a user's age entered at a keyboard).
Process
The operations performed on the input (e.g. checking whether the age is within a valid range).
Output
The result produced by the module (e.g. a message displayed on screen).
Storage
Data held temporarily or permanently by the module (e.g. a variable storing the running total).
Nested sub-systems diagram showing Input, Process, Output, and Storage components within each module
Diagram 2: A decomposed system contains nested sub-systems; each module has Input, Process, Output, and Storage.

Structure diagrams

A structure diagram shows how a system is broken into hierarchical sub-systems (modules). Each box is a module; lines show how modules connect or depend on each other. Structure diagrams are created during the Design stage of the PDLC.

Worked example — online quiz system:

  • Login — authenticates the user before access.
  • QuestionBank — stores and retrieves quiz questions.
  • Scoring — compares answers and calculates marks.
  • Results — displays the final score to the user.

The top-level system contains these four sub-systems. Each sub-system can be broken down further (e.g. Scoring → CompareAnswers, CalculateTotal).

Structure diagram showing Online Quiz System divided into Login, QuestionBank, Scoring, and Results sub-systems
Diagram 3: Structure diagram for an online quiz system — the main system is decomposed into four connected sub-systems.

Exam Traps

  • A structure diagram shows hierarchical modules; a flowchart shows the sequence of steps in one algorithm — do not confuse the two design tools.

0/15

Ad Banner Placeholder