CSZoneCambridge International AS & A Level Computer Science 9618
Types of Software Maintenance
Three Types — Know Them All
After software is deployed, it must be maintained throughout its lifetime. The Cambridge spec defines three types:
Corrective
FIX BUGS
Fixing errors discovered after release. The software does not do what it was supposed to do. Bug was present at deployment but not caught during testing.
E.g. Tax calculation producing wrong result; login page crashes on Safari
Adaptive
ADAPT TO CHANGE
Modifying software to work in a new or changed environment. The environment has changed — not the software's fault. Also includes changes to meet new regulations.
E.g. Updating app after iOS 18 release; updating tax rates after new legislation
Perfective
IMPROVE
Adding new features or improving performance beyond the original spec. Software works correctly but is enhanced to meet user requests or improve efficiency.
E.g. Adding dark mode; optimising database queries to reduce load time
Internal Documentation
Documentation Inside the Code
Internal documentation is embedded within the source code itself, aimed at programmers working on or maintaining the code.
TYPES OF INTERNAL DOCUMENTATION
Inline comments — explaining what a block of code does (not how — the code shows how)
Meaningful identifiers — variables/procedures named clearly (e.g. calculateTotal not ct)
Indentation and structure — consistent formatting for readability
Users can troubleshoot independently using the user manual
Exam Practice
Cambridge-style questions
Question 1
A company's payroll software was updated to handle a new pension scheme introduced by the government. State the type of maintenance carried out and give a reason for your answer. [2]
1
Adaptive maintenance.
1
Because the software was modified to accommodate a change in external requirements (new government legislation), not to fix a bug or add a feature requested by users.
Question 2
Explain why good documentation is important when carrying out software maintenance. [2]
Common Mistakes
Don't lose easy marks
1
Confusing corrective and adaptive — corrective = a bug was found (software behaved incorrectly). Adaptive = environment changed (new OS, new law, new hardware). A common trap: "updating the app for Windows 11" is adaptive not corrective — no bug was present.
2
Saying "documentation helps users" as the only benefit — in a maintenance question, the examiners want you to say documentation helps programmers/maintainers understand the system, find bugs faster, and make changes without breaking other parts. User documentation is secondary in this context.
3
Giving internal documentation examples for external documentation or vice versa — internal = inside the code (comments, meaningful identifiers, indentation). External = separate documents (user manual, technical spec, test plan, data dictionary). Never mix the two in the same answer.
Maintenance occurs after deployment. Most software spends more time being maintained than developed — hence documentation is critical.
DOCUMENTATION
Internal: comments, meaningful names, indentation, header blocks External (technical): system spec, data dictionary, test plan, DFDs External (user): user manual, quick start, FAQ, help system
CSZone
Next Video
3.1.1
Logic Gates & Boolean Algebra
Paper 3 · AND, OR, NOT, NAND, NOR, XOR
Head to CSZone.co.uk for the complete worksheet, quiz, and interactive tools