This topic focuses on the final stage of the programming project, requiring learners to evaluate their completed solution and consider its long-term viabil
Topic Synopsis
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.
Key Concepts & Core Principles
- Four types of maintenance: corrective (fixing bugs), adaptive (responding to environment changes), perfective (improving performance/usability), and preventive (preventing future issues).
- Regression testing: re-running existing tests after changes to ensure new code doesn't break old functionality.
- Version control systems (e.g., Git): tools that track changes, allow branching/merging, and support collaborative development.
- Documentation: essential for maintainability, including code comments, user manuals, and technical specifications.
- Impact of maintenance on cost: the later a change is made in the SDLC, the more expensive it is (Boehm's curve).
Exam Tips & Revision Strategies
- Ensure the evaluation is cross-referenced with the success criteria identified in the analysis phase.
- Use the command words in the assessment criteria to guide the depth of your written response.
- Ensure all claims regarding the effectiveness of the solution are supported by annotated evidence.
- Clearly distinguish between the evaluation of the current product and the discussion of future maintenance/development.
Common Misconceptions & Mistakes to Avoid
- Failing to link proposed future developments to the identified limitations of the current solution.
- Providing a superficial discussion of maintainability without specific reference to the code structure.
- Lack of clear structure or logical flow in the evaluation report.
- Failing to substantiate claims about the solution's success or failure with actual test evidence.
Examiner Marking Points
- Consideration of maintenance issues and limitations of the solution.
- Description of how the program could be developed to deal with limitations.
- Discussion of potential improvements or changes for future development.
- Evidence of a well-developed line of reasoning that is clear and logically structured.
- Information presented must be relevant and substantiated by evidence.