What is a quality model?
A quality model (or quality assessment model) defines how objective measurable attributes of an entity (i.e. a process or a product) can
be interpreted in order to assess higher level quality characteristics.
When using metrics on change request data in order to evaluate quality characteristics of the process, quality models usually have to be organization-specific, due to the differences of the underlying change request workflow and usage scheme. This was the motivation for the development of the following tools.
Quality Model Editor
The Quality Model Editor enables to define hierarchical quality models. In general the model is a directed acyclic graph (DAG). Its basic elements are
- Quality Indicator: Source nodes represent quality indicators that describe how quantitatively measurable attributes of an entity can be interpreted with respect to a quality characteristic. Each quality indicator describes how a metric is retrieved from a metric tool like BugzillaMetrics.
- Quality Characteristic:Inner nodes and sink nodes of the quality model represent quality characteristics. For each quality characteristic it must be defined how its value is calculated based on the values of the nodes connected by incoming edges as arguments. The quality model editor facilitates to express a wide range of quality models, e.g. quality levels, or classification based on empirical comparison data.
Quality Evaluation Tool
The Quality Evaluation Tool is used to evaluate the process quality with respect to a given quality model. In order to configure an evaluation the user has to specify:
- the quality model to be used,
- the entity to be evaluated (by defining a filter on the CRs related to a product or project)
- and optionally the comparison data (e.g. a group of similar projects, or an earlier time span)
The QMetric QualityModel Tools were initially developed by Martin Jansen at the Research Group Software Construction, RWTH Aachen University. It is licensed under the Mozilla Public License.