Show understanding of the analysis, design, coding, testing and maintenance stages in the program development life cycle

Published by Patrick Mutisya · 14 days ago

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:

    1. Unit testing – individual modules.
    2. Integration testing – interaction between modules.
    3. System testing – whole application.
    4. 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

StagePrimary GoalKey ActivitiesTypical Artefacts
AnalysisUnderstand the problem and define requirementsStakeholder interviews, feasibility study, requirements gatheringRequirements Specification
DesignCreate a blueprint for implementationChoose architecture, model data, design algorithmsDFDs, ERDs, flowcharts, pseudocode, design specification
CodingTranslate design into executable codeWrite, comment, compile, version controlSource code files, build scripts
TestingValidate correctness and qualityDevelop test cases, perform unit/integration/system/acceptance testingTest plans, test cases, defect logs, test report
MaintenanceKeep the software operational and relevantBug fixing, updates, performance tuning, eventual retirementPatch 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

  1. Explain why each stage is necessary and what could happen if a stage is omitted.
  2. Describe how feedback loops (e.g., testing → coding) improve software quality.
  3. Identify real‑world examples where maintenance dominates the life‑cycle cost.
  4. Compare the PDLC with alternative models such as Agile or Spiral.