Mostly external software qualities
Correctness: Adherence to stated objectives, aka requirements or specifications
Robustness: Resilience to incorrect inputs or adverse/unanticipated external conditions (such as the lack of some resource)
Usability: A measure of the effort needed to learn how to use software and to achieve its goals; ease of use
Efficiency: Adequate consumption of resources
Readability: Clarity, understandability by fellow programmers
Mostly internal software qualities
Readability: Clarity, understandability by fellow programmers
Reusability: Ease of reusing the code to solve similar problems, and amount of changes needed to do so—aka adaptability
Testability: The ability to write tests, and how easy it is to do so, that can trigger all relevant program behaviors and observe their effects
Maintainability: Ease of finding and fixing bugs, as well as evolving the software
Special qualities
Thread safety: The ability of a class to work seamlessly in a multithreaded environment
Succinctness: Writing the shortest possible program for a given task
No comments:
Post a Comment