As long as software has been produced, there have been efforts to strive for quality in
software products. In order to understand quality in software products, researchers
have built models of software quality that rely on metrics in an attempt to provide a
quantitative view of software quality. The aim of these models is to provide software
producers with the capability to define and evaluate metrics related to quality and use
these metrics to improve the quality of the software they produce over time. These
models can be quite cumbersome to implement as they require effort and resources
to define and evaluate metrics from software projects.
This dissertation aims to build an understanding of quality in software engineering
by investigating those concepts core to the field. The basic concepts of the field are
described, including quality, metrics and software engineering processes. Three software
quality models and four approaches to using metrics to gain insight into quality
are discussed with an aim to understanding the apparent strengths and weaknesses
This dissertation proposes a new approach to using metrics to gain insight into software
quality. An equation, called the Product Quality Indicator, is proposed and
critically assessed, which uses a combination of metrics based on requirements, tests
and defects, to provide some insight into quality. Furthermore, a software product,
called Metaversion, which relies on the Subversion Software Configuration Management
system is presented. This software, which is a reference implementation of the
proposed approach, aims to allow for the automatic collection and evaluation of the
Product Quality Indicator.
A case study is discussed where the Metaversion system is used and the results of
the evaluation of the Product Quality Indicator are compared with the quality of the
software as perceived by the testers responsible for testing the software.