Lifecycle Stages (Cambridge International A-Level Computer Science)
Lifecycle stages
What is the program development life cyle?
- The program development life cycle (PDLC) is a structured process used to design, build, and test software solutions
- It ensures that programs are developed systematically, efficiently, and to a high standard
- Each stage of the cycle has a specific purpose, and together they help developers solve real-world problems with reliable software
Analysis
-
The analysis stage is all about understanding the problem the program is being created to solve
-
Developers use abstraction to ignore unnecessary detail and focus only on what matters:
- What the program must do (core functionality)
- What limitations it must work within (constraints)
-
The London Underground map is a great example of abstraction, you don’t need the real geography, just a clear route from stop A to stop B

-
At this stage, a requirements document is often created. It:
- Breaks the problem into manageable parts
- Labels each requirement
- Describes what success looks like for each feature
Design
-
The design stage involves planning how the program will work
-
Developers create a blueprint for the solution using tools such as:
- Structure diagrams – break down the program into smaller components
- Flowcharts – show the logical flow of processes
- Pseudocode – outlines how the logic will be written in code
Coding
- In the coding stage, developers begin writing the program using a suitable programming language
- Code is written in modules that work together to solve the full problem
- Iterative testing is used – each module is tested and debugged individually as it’s created
- Modules are retested whenever changes are made, to ensure no new errors are introduced
Testing
-
Once the full program is written, it is thoroughly tested using a variety of test data to ensure:
- It meets all the original requirements
- It handles valid and invalid input correctly
- It performs reliably under different conditions
-
Example test data: Alphanumeric sequences used to check password input validation
Maintenance
-
After the program has been delivered to the client or end users, it enters the maintenance stage
-
This involves:
- Fixing bugs that weren't discovered during testing
- Updating features to meet new requirements
- Improving performance or adapting to new systems
-
There are three main types of maintenance:
- Corrective – fixing errors
- Adaptive – updating the software to run on new hardware or platforms
- Perfective – improving features based on user feedback
-
Software maintenance ensures the program remains useful and reliable over time
Was this revision note helpful?
Build on this topic