Thursday, January 1, 2009

Software Quality Definition Revisited - Domain Landscape

Happy Year 2009 to everybody.

As new is coming I decided to add something new - a bit more structured to the blog. I will try to describe my understanding on what is on software quality map and where it fits. I will be tagging this thread with 'software quality landscape' tag



As described in my post ealier (here) Following are the software quality characteristics:




External characteristics:

  1. Correctness - does software do correctly what it is supposed to?

  2. Usability - is software intuitive and easy to learn and operate?

  3. Reliability - is software working correctly when fed with correct inputs/environment condititions?

  4. Performance - is software working within acceptable resource limits/response times?

  5. Security - is software immune to attacks, does it protect data fed to it?
    Robustness - how well software behaves when fed with incorrect inputs/environment conditions?

  6. Scalability - will software behave correctly and efficiently when fed with significantly increased volume of data



Internal characteristics:

  1. Maintainability - is software easy to maintain?

  2. Reusability - are software parts easy to reuse when developing another software which needs similar functionalities?

  3. Portability - how easy it is to port software to other environments to the ones for which it was developed?

  4. Extendability - how easy it is to add new features?



I will discuss all those in greater detail in subsequent posts in this thread ('software quality landscape').

No comments: