synesis software

Definitions

The following list of definitions will be updated as each instalment of the column is published.

Software Quality Characteristics

Characteristics of the creation, nature and validation of software.

They may be broken down into three groups:

Defined in QM #1.

Intrinsic Characteristics (a software quality characteristic)

Characteristics innate to a given software entity.

Defined in QM #1.

Further reading:

Correctness (an intrinsic characteristic)

Correctness is the degree to which a software entity's behaviour matches its specification.

Defined in QM #1.

Further reading:

Discoverability (an intrinsic characteristic)

Discoverability is how easy it is to understand a component in order to be able to use it.

Defined in QM #1.

Further reading:

Efficiency (an intrinsic characteristic)

Efficiency is the degree to which a software entity executes using the minimum amount of resources.

Defined in QM #1.

Further reading:

Expressiveness (an intrinsic characteristic)

Expressiveness is how much of a given task can be achieved clearly in as few statements as possible.

Defined in QM #1.

Further reading:

Flexibility (an intrinsic characteristic)

Flexibility is how easily a software entity lets you do what you need to do, with the types with which you need to do it.

Defined in QM #1.

Further reading:

Modularity (an intrinsic characteristic)

Modularity is the degree of dependence of a software entity on other software entities.

It tends to have two concerns:

  • What else do I need to do/have in order to work with the library?
  • What else do I need to do/have in order to use the library to work with other things?

Defined in QM #1.

Further reading:

Portability (an intrinsic characteristic)

Portability is how readily you can use a software entity in your chosen operating environment.

Defined in QM #1.

Further reading:

Reliability (an intrinsic characteristic)

Reliability is the degree to which a software system behaves robustly over time.

Defined in QM #2.

Further reading:

Robustness (an intrinsic characteristic)

Robustness is the adjudged ability of a software entity to behave according to the expectations of its stakeholders.

Defined in QM #2.

Further reading:

Transparency (an intrinsic characteristic)

Transparency is how easy it is to understand a component in order to be able to change it.

Defined in QM #1.

Further reading:

Specification

A software entity's specification is the sum of all its passing unit-tests.

and

A software entity's specification is the sum of all its unfired active contract enforcements.

Defined in QM #2.

Further reading: