Program Development Cycle – Exam Revision Summary
1. Stages of the Program Development Cycle
The program development cycle includes all steps from problem understanding to post-
deployment support.
- Analysis: Understand the problem and gather system requirements.
- Design: Plan the program’s structure, algorithms, and interfaces.
- Coding: Write the program in a programming language.
- Testing: Check for errors and confirm the program works correctly.
- Maintenance: Update and improve the program after it is released.
Memory Trick: "All Designers Code Thoroughly & Maintain" = A-D-C-T-M
2. Structure Charts
A diagram that shows how a solution is divided into modules and how they
communicate.
- Show modular structure of the program.
- Display interfaces between modules (parameters passed).
- Represent selection – modules called only under certain conditions.
- Represent repetition – modules called repeatedly (loops).
Memory Trick: "Modules Interact, Select, Repeat"
3. State Transition Diagrams
A way to document an algorithm using states and the events that trigger transitions.
- Shows how the system changes states based on events or inputs.
- Useful in simulations, games, vending machines, etc.
Memory Trick: Think of a vending machine: Idle -> Selection -> Payment -> Dispense ->
Idle
4. Testing Strategies
Various methods used to check if the program works as expected.
- Stub Testing: Use dummy modules to simulate missing ones.
- Black-box Testing: Test inputs and outputs without internal knowledge.
- White-box Testing: Test internal logic and flow.
- Integration Testing: Test how modules work together.
- Alpha Testing: Done by developers before release.
- Beta Testing: Done by external users in real conditions.
- Acceptance Testing: Final test by client before full deployment.
Memory Trick: "Silly Black White Iguanas Ate Big Apples"
5. Error Detection and Debugging
Techniques to find and fix logic and run-time errors.
- Dry Running: Manually go through code line-by-line.
- Trace Table: Track variable values during execution.
Memory Tip: "Dry trace = dry-run + trace table"
6. Types of Maintenance
Tasks performed after deployment to keep the software useful.
- Corrective: Fix bugs that appear after release.
- Adaptive: Modify for new requirements or environments.
- Perfective: Improve speed, usability, or maintainability.
Memory Trick: "CAP Maintenance" – Corrective, Adaptive, Perfective