Software-Metrik

aus www.iwiki.de, der freien Wissensdatenbank

Eine Metrik (griechisch μετρική - Zählung, Messung) ist eine Maßzahl zur Ermittlung der Güte eines Qualitätsmerkmals. Im Gegensatz zum direkten Maß sind die Metriken indirekte Maße. Dies bedeutet, dass zur Ermittlung von Metriken zunächst die Bestimmung von Maßen nötig ist.


Inhaltsverzeichnis

Skalentypen

Für die Ermittlung der Metrikenwerte gibt es drei Skalentypen:

  • Die Nominalskala liefert vorher definierte klassifizierte Werte als Ergebnisse zurück (beispielsweise Noten)
  • die Ordinalskala ordnet ein Produkt (bei Produktvergleichen) innerhalb mehrerer Produkte ein, vergibt also Plätze
  • die Kardinalskala schließlich vergibt konkrete Werte

Ziel des Metrikeinsatzes

Ziel des Metrikeinsatzes ist es, Merkmale eines Softwareproduktes konkret einzuordnen. Der Nutzen ist die Möglichkeit sowohl den Istzustand einer Software als auch die Erreichung von gestellten Zielen festzustellen.

Arten von Metriken

Die Einordnung der verschiedenen Arten der Metriken erfolgt abhängig vom Messobjekt. Hierbei gibt es Prozess- und produktorientierte Metriken.

Vorgehensweise

Das Vorgehen bei der Verwendung von Metriken, genannt "Goal - Question - Metrik Paradigma" ist folgendes:

  1. In der Phase "Goal" wird festgelegt, welche Ziele (Messwerte) erreicht werden sollen
  2. Anschließend ("Question") wird nach Fragen gesucht mit welchen sich überprüfen lässt, ob die Ziele erreicht wurden
  3. Am Ende wird festgelegt mit welchen Messungen ("Metriken"), die gestellten Fragen beantwortet werden können.

wichtige Metriken

Die (in der Vorlesung) wichtigen Typen von Metriken sind die Komplexitätsmetrik und die Zuverlässigkeitsmetrik.

Komplexitätsmetriken

Der Grund für die häufige Verwendung von Komplexitätsmetriken sind die Folgen falls diese zu hoch ist. Sie reichen von niedriger Produktivität über hohe Fehlerdichte bis hin zu geringen Wiederverwendungsmöglichkeiten. Die Vorlesung Software Qualitätsmanagement behandelt die folgenden Metriken.

Zyklomatische Komplexität nach McCabe

Diese Form der Metrik liefert eine Aussage über die Anzahl der Entscheidungen in einem Programm. Als Entscheidung sind hier Kontrollstrukturen wie beispielsweise Wahr-Falsch-Unterscheidungen ("If, then, else") oder Schleifen("do while","do ... until", "for") zu verstehen.

Modulentwurfskomplexität

Die Metrik Modulentwurfskomplexität lehnt sich an die Zyklomatische Komplexität von McCabe an. Allerdings befasst sich diese mit einem Modul statt mit einem Programm. Außerdem werden nur die Entscheidungen, auf welche im Anschluss externe Aufrufe folgen, beachtet. Externe Aufrufe sind in diesem Fall solche, die zum Aufruf eines anderen Programms führen.

Entwurfskomplexität

Die Entwurfskomplexität stellt die aufsummierte Modulentwurfskomplexität aller auf ein Modul folgenden Module im Programm-Ablauf innerhalb eines Softwarepaketes dar.

Integrationskomplexität

Die Integrationskomplexität fasst alle Entwurfskomplexitäten eines Systems von Softwarepaketes zusammen.

Zuverlässigkeitsmetriken

Neben den obigen Komplexitätsmetriken gelten vor allem Metriken für die Zuverlässigkeit von Software als wichtige.

  • Die Fault Density(FD) (deutsch: Fehlerdichte) ermittelt die relative Häufigkeit von Fehlern.
  • Die Fault-Days-Number liefert eine Aussage über die Anzahl der Tage, die zwischen dem Auftreten und der Behebung eines Fehlers vergehen.
  • Cumulative Fault-Days-Number ist die aufsummierte Anzahl der Fault-Days-Number.
  • Requirements Tracebility liefert eine Aussage über nicht erfüllte Anforderungen, die an eine Software gestellt wurden. Außerdem werden Anforderungen ermittelt, die erfüllt wurden, obwohl sie nicht gestellt wurden oder eventuell sogar nicht erfüllt werden sollten.
  • Defect Indices liefern eine Aussage, wie sich die Fehlerwerte im Vergleich zu vergangenen Messungen verhalten.
  • Der Software Maturity Index liefert Informationen über die Stabilität einer Software und die Auswirkungen von Software-Änderungen.

Einführungsstrategien für ein Metrikprogramm

Wichtig bei der Metrikprogramm-Einführung sind vor allem folgende Punkte:

  • Das Vorgehen sollte stufenweise erfolgen, dies bedeutet es sollte nicht versucht werden alles auf dem schnellsten Wege zu realisieren.
  • es sollte zielorientiert vorgegangen werden, damit ist gemeint, dass die Ergebnisse der Metriken auch tatsächlich genutzt werden sollten. Dies bedeutet, dass im Unterschied zur teilweise in der Praxis gängigen Vorgehensweise, nur tatsächlich benötigte Werte gemessen werden sollten und nicht solche, die sich besonders leicht ermitteln lassen.
  • auch sollten flankierende Maßnahmen durchgeführt. Damit ist unter anderem gemeint, dass sowohl Management als auch Entwickler in die Einführung von Metrikprogrammen einbezogen werden. Diese Maßnahmen sind notwendig, um eine konsequente Verwendung durch Akzeptanz zu ermöglichen.

Literatur

  • Prof. Dr. Spielmann: Software Qualitätsmanagement. Stand: September 2005. Kapitel: Software - Metriken (MET). S. 1-78. Fachhochschule Würzburg - Schweinfurt, Studiengang Wirtschaftsinformatik, Vorlesungsunterlagen