Architectural Overview

The core component of the tool suite is the Metric Calculator that implements the metric evaluation algorithm. Its input is a metric specification given in a declarative language. Main characteristics of the metric calculator are the separation between metric specification and data retrieval, an event driven algorithm, transparent execution optimization and an abstraction of its data sources.

Data Source Wrappers facilitate that the Metric Calculator can operate on information from heterogeneous repositories in a uniform way. Each data source provides a number of fields, and an interface for accessing related events. Data Source Wrappers for CVS and Subversion are based on linking changes in a version control system (VCS) to related CRs. This enables to define metrics that consider VCS events (e.g. commit changes to files) and code size information.

The Metric Query Tool enables users to calculate metrics, browse metric results, and define and save their own metrics by using graphical wizards accommodated to different expertise of the users.

The following tools are targeted to aggregate metric results in order to assess higher level quality characteristics. The Quality Model Editor enables to define hierarchical quality models. In general the model is a directed acyclic graph (DAG). Source nodes represent quality indicators. Each quality indicator contains a declarative metric specification that defines how a metric is retrieved from a metric 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 Quality Evaluation Tool can automatically trigger all required metric calculations. Results can be browsed in a tree view, drilled down to individual results for each time interval, and visualized.