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