|3.1. Analysis of the problem (10 marks)|
|3.1.1 Problem identification||a) Describe and justify the features that make the problem solvable by computational methods.
b) Explain why the problem is amenable to a computational approach.
|3.1.2 Stakeholders||a) Identify and describe those who will have an interest in the solution explaining how the solution is appropriate to their needs (this may be named individuals, groups or persona that describes the target end user).|
|3.1.3 Research the problem||a) Research the problem and solutions to similar problems to identify and justify suitable approaches to a solution.
b) Describe the essential features of a computational solution explaining these choices.
c) Explain the limitations of the proposed solution.
|3.1.4 Specify the proposed solution||a) Specify and justify the solution requirements including hardware and software configuration (if appropriate).
b) Identify and justify measurable success criteria for the proposed solution.
|3.2. Design of the solution (15 marks)|
|3.2.1 Decompose the problem||a) Break down the problem into smaller parts suitable for computational solutions justifying any decisions made.|
|3.2.2 Describe the solution||a) Explain and justify the structure of the solution.
b) Describe the parts of the solution using algorithms justifying how these algorithms form a complete solution to the problem.
c) Describe usability features to be included in the solution.
d) Identify key variables / data structures / classes justifying choices and any necessary validation.
|3.2.3 Describe the approach to testing||a) Identify the test data to be used during the iterative development and post development phases and justify the choice of this test data.|
|3.3. Developing the solution (25 marks)|
|3.3.1 Iterative development process||a) Provide annotated evidence of each stage of the iterative development process justifying any decision made.b) Provide annotated evidence of prototype solutions justifying any decision made.|
|3.3.2 Testing to inform development||a) Provide annotated evidence for testing at each stage justifying the reason for the test.b) Provide annotated evidence of any remedial actions taken justifying the decision made.|
|3.4. Evaluation (20 marks)|
|3.4.1 Testing to inform evaluation||a) Provide annotated evidence of testing the solution for robustness at the end of the development process.b) Provide annotated evidence of usability testing (user feedback).|
|3.4.2 Success of the solution||a) Use the test evidence from the development and post development process to evaluate the solution against the success criteria from the analysis.|
|3.4.3 Describe the final product||a) Provide annotated evidence of the usability features from the design, commenting on their effectiveness.|
|3.4.4 Maintenance and development||a) Discuss the maintainability of the solution.b) Discuss potential further development of the solution.|