This topic focuses on the final stage of the programming project, requiring learners to evaluate their completed solution and consider its long-term viability. Learners must discuss the maintainability of their code and propose potential future developments to address limitations or enhance functionality.
Maintenance and development is a crucial topic in the OCR A-Level Computer Science specification, focusing on the processes that ensure software remains functional, relevant, and adaptable after its initial release. This topic covers the different types of maintenance—corrective, adaptive, perfective, and preventive—and explores how software evolves over time to meet changing user needs, fix bugs, and integrate with new technologies. Understanding maintenance is essential because most software spends far more time in the maintenance phase than in initial development, and it accounts for a significant portion of the total cost of ownership.
Development in this context refers to the ongoing enhancement of software, often through iterative cycles like those in agile methodologies. Students will learn about version control systems (e.g., Git), regression testing, and the importance of documentation to support future changes. This topic also ties into the software development lifecycle (SDLC), showing that development doesn't end at deployment. By mastering maintenance and development, students gain insight into real-world software engineering practices, where change is constant and adaptability is key to long-term success.
In the wider subject, this topic connects to project management, testing strategies, and legal/ethical considerations (e.g., maintaining accessibility or data protection compliance). It also reinforces the importance of writing clean, modular code from the start, as this makes future maintenance easier. For the exam, students need to be able to discuss the trade-offs between different maintenance types and justify choices based on scenarios, such as whether to fix a bug or add a new feature first.
Key skills and knowledge for this topic
Key points examiners look for in your answers
Expert advice for maximising your marks
Pitfalls to avoid in your exam answers
Common questions students ask about this topic
How questions on this topic are typically asked
Practice questions tailored to this topic