Rechenberg

Zur Messung von Softwareprodukten werden sogenannte Software-Metriken verwendet, die unterschiedliche Eigenschaften von Softwareprodukten und -prozessen quantifizieren. Die 1986 von Rechenberg vorgestellte Software-Metrik definiert differenzielle Kenngrößen für die Komplexität einer Softwareentwicklung und addiert diese dann zu einem als Gesamtkomplexität bezeichneten Wert.


Rechenberg entwickelte diesen Zusammenhang, weil seiner Ansicht nach die Ansätze von Halstead und McCabe die Komplexität von Software nur ungenügend berücksichtigten. Die Methodik gilt aufgrund der frei wählbaren Gewichte für ausführbare Anweisungen im Allgemeinen als sehr flexibel. Dabei ist die Berücksichtigung verschiedenster Aspekte beispielsweise der Schachtelungstiefe von Anweisungen als vorteilhaft anzusehen. Nachteilig ist dagegen die aufwändige Berechnung der einzelnen Größen. Durch das Komplexitätsmaß von Rechenberg werden die Aspekte der Lesbarkeit, des Verständnisses sowie die Änderbarkeit von Software berücksichtigt.

Gesamtkomplexität: CC = SC + EC + DC

Die Schachtelungstiefe von Alternativen und Schleifen berücksichtigt dieses Verfahren generell durch Einführung eines exponentiell steigenden Faktors f, der mit steigender Schachtelungstiefe typische - zuvor festgelegte - Werte annimmt.

f = 1, 1.5, 2.25, 3.38, 5.06 ...

Anweisungskomplexität SC: Ist die Summe der Anweisungskomplexitäten aller Anweisungen. Die einzelnen Wichtungsfaktoren sind z.B. für eine Wertzuweisung = 1, Goto = 5, Prozeduraufruf = 1+Parameterzahl, While/For Kontrollstrukturen = 3, ...

Beispiel: SC(if b then S) = 2 + f x 1 = 3,5

Ausdruckskomplexität EC: Ist die Summe der Ausdruckskomplexitäten aller Ausdrücke. Dabei wird zunächst die Komplexität eines jeden Teils des zu betrachtenden Ausdrucks explizit gewichtet. Dabei wird durch die Wichtungsfaktoren die Schachtelungs-tiefe der Ausdrücke gewertet. Die Wichtungsfaktoren definieren für +/- =1, MOD=3, Indizierung=2, AND/OR=3, MUL/DIV=2 sowie Dereferenzierung=2.

Beispiel: EC(2 x(i+1)) = 2+f x EC(i+1) = 2+fx1 = 3.5

Datenkomplexität DC: Ist die Summe der Datenkomplexitäten aller Bezeichner. Dabei werden zunächst alle Bezeichner entsprechend der Entfernung zwischen Deklaration und Verwendung gewichtet. Als Wichtungsfaktoren erhalten lokale Variablen den Wert 1, formale Parameter den Wert 2 und globale Variablen der Wert 3. Aus der Summe der Wichtungsfaktoren ergibt sich dann schließlich die Datenkomplexität (DC).

Informationen zum Artikel
Deutsch: Rechenberg-Metrik
Englisch: Rechenberg
Veröffentlicht: 08.04.2012
Wörter: 323
Tags: #Analyse
Links: Anweisung, Aspekt, EC (erasure coding), Halstead, McCabe