Skip to content
Search

Software quality

lastmod 2025-05-24created 2015-06-1813 edits

In software engineering, software quality refers to two related but distinct notions that exist wherever quality is defined in a business context.

  • Software functional quality reflects how well a given design complies with or conforms to its functional requirements or specifications. This attribute can describe whether the software fits its purpose, and how it compares to competitors in the marketplace as a worthwhile product.
  • Software structural quality refers to how the software meets the non-functional requirements that support the delivery of the functional requirements, for example robustness or maintainability, as measures of whether the software can be developed correctly.

Software quality is evaluated through analysis of the software's inner structure, source code, unit level, technology level, and system level, and is carried out in a way that the architecture adheres to the principles of software architecture outlined in papers on the topic by OMG. Functional quality, on the other hand, is typically enforced and measured through software testing.

Historically, the structure, classification, and terminology of attributes and metrics applicable to software quality management have been taken from ISO 9126-3 and the subsequent ISO 25000:2005 quality model (SQuaRE). Based on these models, CISQ (Consortium for IT Software Quality) has defined five major structural characteristics essential for software that delivers business value: reliability, efficiency, security, maintainability, and (adequate) size.

Definition

Definitions of software quality:

  • The degree of desirable attributes of the software and the degree to which it secures the functions the user requires.
  • A measure for evaluating the completeness and functional satisfaction of the developed software.

Features

  • Quality is a relative concept: hard to measure quantitatively, differs by party
  • Quality depends on many resources: cost, time, staff, tools, etc.
  • Quality is a compromise at a reasonable level
  • Quality factors are interrelated

Standard models

Product quality

  • ISO9126
  • ISO14598
  • ISO12119
  • ISO9001
  • ISO9002
  • ISO25000

SW process quality

  • ISO12207
  • CMMI
  • SPICE

Quality management

  • Six Sigma
  • ISO9000

Measurement

  • Code-based analysis
  • Reliability
  • Efficiency
  • Security
  • Maintainability
  • Size
  • Identifying critical programming

Methodology is bullshit: principles for product velocity

See Software development process#Methodology is bullshit: principles for product velocity.

See also

Favorite site

author Zer0 sitemap