SLIDE 1
CSZone.co.uk
Click to advance · Arrow keys also work
AQA 8525 · Section 3.8 · Software Development

Evaluation
& Maintenance

Fitness for Purpose · Usability · Efficiency · Maintainability · Feedback

CSZoneAQA GCSE Computer Science 8525
Evaluating a Solution

Did it Meet the Requirements?

Fitness for purpose — does the program do what it was designed to do? Does it meet all the specified functional requirements?
Usability — is it easy to use? Can the target audience navigate it without errors? Does it have helpful error messages?
Efficiency — does it run quickly? Does it use memory and processing resources appropriately?
Maintainability — is the code well commented and structured so others can understand and modify it later?
Comparing Solutions

Which Algorithm is Better?

When evaluating algorithms, consider efficiency: how does execution time and memory usage scale as the amount of data grows? Bubble sort is simple but slow for large datasets. Merge sort is more efficient at scale.
Could the same problem be solved with less code? Fewer loops? Better use of subroutines?
Consider: is an elegant but complex solution better than a simple but slow one? It depends on the context.
Use trace tables to compare outcomes — does solution A produce the same output as solution B?
Maintainability and Future Development

Code That Others Can Work On

Comments — explain what code does, why decisions were made. Good comments = faster future development
Meaningful variable namestotalScore is better than x
Modular code — subroutines and functions make code easier to update without breaking other parts
User feedback — after release, gather feedback from real users and plan the next iteration
Exam Practice

Have a go at this question

AQA-style question
Explain two criteria that could be used to evaluate whether a piece of software is successful.
4 marks
Fitness for purpose: the software meets all the functional requirements specified by the client [1] and produces correct outputs for all valid inputs [1]. Usability: the interface is intuitive enough for the target audience to use without training [1] and includes clear error messages to help users correct mistakes [1].
Key Takeaways

What to Remember

Evaluate: fitness for purpose, usability, efficiency, maintainability
Good code = comments, meaningful names, subroutines — easy for others to maintain
Compare algorithms by efficiency: how does performance change as data grows?
User feedback drives future improvement — development is never truly finished