Program Development Life Cycle – Cambridge A‑Level Computer Science 9618
Program Development Life Cycle (PDLC)
The PDLC provides a structured approach to creating reliable software. It consists of five
distinct stages: analysis, design, coding, testing and maintenance. Each stage has specific
objectives, inputs and outputs that guide the next stage.
1. Analysis
The aim of analysis is to understand the problem domain and define what the software must do.
Gather requirements from stakeholders.
Identify functional and non‑functional requirements.
Produce a requirements specification document.
Establish feasibility and constraints (time, cost, technology).
2. Design
Design translates the requirements into a blueprint for implementation.
Choose an appropriate programming paradigm and language.
Create high‑level design artefacts:
Data flow diagrams (DFDs)
Entity‑relationship diagrams (ERDs)
Algorithm flowcharts
Pseudocode or structured English
Define module decomposition, interfaces and data structures.
Produce a design specification that can be reviewed and approved.
3. Coding (Implementation)
During coding the design is turned into executable source code.
Write code following coding standards and conventions.
Comment code to explain logic and decisions.
Use version control to track changes.
Compile or interpret the code to produce an executable program.
4. Testing
Testing verifies that the program meets its requirements and is free of defects.
Develop test cases based on the requirements specification.
Perform different levels of testing:
Unit testing – individual modules.
Integration testing – interaction between modules.
System testing – whole application.
Acceptance testing – validation by the client.
Record results, identify bugs and iterate back to coding as needed.
Produce a test report summarising coverage and defects.
5. Maintenance
After deployment the software enters the maintenance phase to keep it useful and reliable.
Corrective maintenance – fixing bugs discovered in use.
Adaptive maintenance – modifying the program for new environments.
Perfective maintenance – improving performance or adding features.
Retirement – planning for replacement when the system becomes obsolete.
Summary Table
Stage
Primary Goal
Key Activities
Typical Artefacts
Analysis
Understand the problem and define requirements
Stakeholder interviews, feasibility study, requirements gathering
Requirements Specification
Design
Create a blueprint for implementation
Choose architecture, model data, design algorithms
DFDs, ERDs, flowcharts, pseudocode, design specification
Coding
Translate design into executable code
Write, comment, compile, version control
Source code files, build scripts
Testing
Validate correctness and quality
Develop test cases, perform unit/integration/system/acceptance testing
Test plans, test cases, defect logs, test report
Maintenance
Keep the software operational and relevant
Bug fixing, updates, performance tuning, eventual retirement
Patch releases, maintenance logs, user documentation updates
Suggested diagram: A circular flowchart showing the five stages (Analysis → Design → Coding → Testing → Maintenance) with arrows indicating iteration back to earlier stages when defects are found.
Key Points for Examination
Explain why each stage is necessary and what could happen if a stage is omitted.
Describe how feedback loops (e.g., testing → coding) improve software quality.
Identify real‑world examples where maintenance dominates the life‑cycle cost.
Compare the PDLC with alternative models such as Agile or Spiral.