Computing Students - Computer Science Degree Notes
Home Contact Shop Notes Questions Programming Links Dictionary Coursework FORUM Tutors
  Recommended Amazon Searches: Computer Science | Computing | Computer Systems | Database | Computing Revision  

Notes > Software Engineering > Software Quality

"Good Software" needs to be fit for its purpose i.e. it does what it is intended to do. Software has various attributes that lend towards it being good or bad.

External quality attributes are visible to anyone using the software. Reliability is an external quality attribute which can be measured during or after implementation by testing how the software product relates to its environment.

The internal quality of the software can be measured in terms of its technical attributes such as coupling and cohesion. Some may question the importance of internal quality attributes especially if the software seems to work well and the client is satisfied with it. It can be reasoned though that the internal quality attributes have an impact upon the external quality of the software. Low cohesion for example can lead to messy code which may be very hard to understand and maintain. The ability to maintain the software system is of course an important factor to be considered when determining the overall quality of the software product.

ISO 9126

The ISO 9126 is a Quality Model outlines the factors that contribute to software being good or not so good. The International Organization for Standardization (ISO) 9126 model outlines the following quality attributes:

  • Functionality - how well the software system caters for the client's needs
    • Suitability
    • Accuracy
    • Interoperability
    • Compliance
    • Security
  • Reliability - how capable the software system is to maintain a desired level of performance for a certain duration of time
    • Maturity
    • Recoverability
    • Fault Tolerance
  • Usability - how much effort is needed on the part of users to properly use the software system
    • Learnability
    • Understandability
    • Operability
  • Efficiency - how well the software system performs depending on the resources it requires
    • Time Behaviour
    • Resource Behaviour
  • Maintainability - how easily future changes can be made to the software system
    • Stability
    • Analysability
    • Changeability
    • Testability
  • Portability - how well the systems can be transported from one environment to another
    • Installability
    • Conformance
    • Replaceability
    • Adaptability

Search for "Software Quality" on: Google | Kelkoo | Amazon | eBay (UK) | eBay (US)

Search for "Software Quality" on the rest of Computing Students: Software Quality

Home | Contact | Shop | Notes | Questions | Programming | Links | Dictionary | Coursework | Tutors Sponsored Links: Affiliate Program Articles | Computer Science Definitions | CS Degree Notes
Copyright © 2005-2009
This site is to be used in accordance with the User Agreement
High Wycombe Web Design