Halstead-Metrik

Halstead-Metrik

Die Halstead-Metrik ist eine 1977 von Maurice Howard Halstead vorgestellte Softwaremetrik. Sie gehört zu den statischen, analysierenden Verfahren der Komplexitätsmessung von Software.

Hierbei wird die Systemkomponente nicht aktiv ausgeführt (wie bei den dynamischen Verfahren), sondern gezielt Informationen über den Prüfling mit analytischen Mitteln gesammelt.

Die Halstead-Metrik bedient sich hierbei der Annahme, dass ausführbare Programmteile aus Operatoren und Operanden aufgebaut sind. Die Definition, was die zu betrachtenden Operatoren und Operanden sind, ist dabei eine der Aufgaben vor dem Einsatz einer Halstead-Metrik. Typischerweise werden z. B. Variablen und Konstanten als Operanden betrachtet; Schlüsselwörter, logische und Vergleichsoperatoren usw. als Operatoren.

Es werden dann für jedes Programm folgende Basismaße gebildet:

  • Anzahl der verwendeten unterschiedlichen Operatoren (n1) und Operanden (n2), zusammen die Vokabulargröße n.
  • Anzahl der insgesamt verwendeten Operatoren (N1) und Operanden (N2), zusammen die Implementierungslänge N.

Hieraus werden dann die Größen Halstead-Länge (HL) und Halstead-Volumen (HV) errechnet:

  • HL = n_1 \cdot \log_2 n_1 + n_2 \cdot\log_2 n_2
  • HV = N \cdot\log_2 n

Aus den Basisgrößen kann man verschiedene Kennzahlen berechnen, z. B.:

  • D = { n_1 \over 2  } \cdot{ N_2 \over n_2 }

(D = Schwierigkeit ein Programm zu schreiben bzw. zu verstehen, z. B. bei einem Code-Review)

Die Halstead-Metrik ist leicht zu ermitteln und zu berechnen, automatisierbar, für alle Programmiersprachen einsetzbar und überraschenderweise meist ein wirklich gutes Maß für die Komplexität. Der Nachteil ist, dass sie nur lexikalische/textuelle Komplexität misst.

Siehe auch

Literatur

  • Maurice Howard Halstead: Elements of software science. Elsevier, New York u.a. 1977, ISBN 0-444-00205-7 (Operating and programming systems series; 2).

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Halstead — ist der Name mehrerer Orte in England: Halstead (Essex) Halstead (Kent) Halstead (Leicestershire) in den Vereinigten Staaten: Halstead (Kansas) Halstead (Pennsylvania) Halstead Township (Kansas) Personen: Bianca Halstead (1965–2001), US… …   Deutsch Wikipedia

  • Metrik (Software) — Dieser Artikel oder Abschnitt besteht hauptsächlich aus Listen, an deren Stelle besser Fließtext stehen sollte. Eine Softwaremetrik, oder kurz Metrik, ist eine (meist mathematische) Funktion, die eine Eigenschaft von Software in einen Zahlenwert …   Deutsch Wikipedia

  • Software-Metrik — Dieser Artikel oder Abschnitt besteht hauptsächlich aus Listen, an deren Stelle besser Fließtext stehen sollte. Eine Softwaremetrik, oder kurz Metrik, ist eine (meist mathematische) Funktion, die eine Eigenschaft von Software in einen Zahlenwert …   Deutsch Wikipedia

  • Softwaremetrik — Dieser Artikel oder Abschnitt besteht hauptsächlich aus Listen, an deren Stelle besser Fließtext stehen sollte. Eine Softwaremetrik, oder kurz Metrik, ist eine (meist mathematische) Funktion, die eine Eigenschaft von Software in einen Zahlenwert …   Deutsch Wikipedia

  • Komplexität (Informatik) — Komplexität bezeichnet in der Informatik die „Kompliziertheit“ von Problemen, Algorithmen oder Daten. Die Komplexitätstheorie befasst sich dabei mit dem Ressourcenverbrauch von Algorithmen, die Informationstheorie dagegen verwendet den Begriff… …   Deutsch Wikipedia

  • GQM — Goal Question Metric (GQM) ist eine systematische Vorgehensweise zur Erstellung spezifischer Qualitätsmodelle im Bereich der Softwareentwicklung. Diese lässt sich als Baumstruktur darstellen. Als Wurzel steht das Ziel (Goal), das über die Knoten… …   Deutsch Wikipedia

  • Wartbarkeit (Software) — Die Wartbarkeit (engl. = maintainability od. serviceability) von Software ist ein Kriterium bei der Entwicklung von Software und zeigt an, mit welcher Energie und welchem Erfolg Änderungen in einem Systemzusammenhang von Applikationen… …   Deutsch Wikipedia

  • Goal Question Metric — (GQM) ist eine systematische Vorgehensweise zur Erstellung spezifischer Qualitätsmodelle im Bereich der Softwareentwicklung. Diese lässt sich als Baumstruktur darstellen. Als Wurzel steht das Ziel (Goal), das über die Knoten (Questions) zu den… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”