Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt

Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt

worte.projekt.de
von worte.projekt.de Mehr von diesem Publisher
30.10.2013 Aufrufe

122 9 Quantifizierung des Qualitätsmodells 9.2.2 Beschreibung Auf der Basis der obigen Anforderungen wurden objektive Metriken für die Kriterien der Wartbarkeit ausgewählt und auf der Basis von ODEM formal definiert. Wie in der Literatur üblich, erhält jede Metrik ein drei- oder vierstelliges Akronym (z. B. NAC, Number of Attributes of a Class). Manche Metriken lassen sich verfeinern, indem nach einem bestimmten Aspekt klassifiziert wird. Beispielweise kann die Metrik NAC verfeinert werden, indem die Sichtbarkeitsbereiche public, protected und private unterschieden werden. Der Name einer Verfeinerung ergibt sich aus dem Namen der Ursprungsmetrik und einem Index, der die Art der Verfeinerung bezeichnet. Verfeinerungen sind teilweise kombinierbar, so dass es auch mehrfach indizierte Metriken geben kann. Beispielsweise lassen sich die Verfeinerungen nach Sichtbarkeitsbereich noch einmal verfeinern nach dem Definitionsort (geerbt oder lokal). In Tabelle 9-1 sind die ausgewählten Metriken aufgelistet; sie sind in Anhang A im Detail beschrieben. In der Tabelle sind zu den Metriken die Ebene (Klasse, Paket oder System) und das Kriterium angegeben, für das die Metrik verwendet wird. Hinter dem Kriterium wird durch (-) angezeigt, dass die Metrik negativ mit dem Kriterium korreliert ist, (+) bedeutet positive Korrelation. Ist eine Metrik (z. B. NEDC) für mehrere Kriterien relevant, wird das Kriterium zuerst genannt, für das die Metrik am wichtigsten ist. Alle Metriken haben eine Absolutskala – mit Ausnahme von RTTR, das eine Rationalskala hat. Es fällt auf, dass nicht für alle Kriterien und Ebenen objektive Metriken angegeben werden können, sondern sich die Metriken vor allem auf die Kriterien Knappheit, Strukturiertheit und Entkopplung beschränken. Das liegt daran, dass diese Kriterien sich gut an syntaktischen Aspekten der Entwurfsbeschreibung festmachen lassen. Bei den anderen Kriterien überwiegen die semantischen Aspekte, die sich schlecht durch objektive Metriken erfassen lassen. 9.2.3 Beispiel Als Beispiel werden hier die wichtigsten objektiven Metriken für das Kriterium Knappheit und ihre formale Definition gezeigt. Eine ausführlichere Darstellung findet sich in Abschnitt A.1. Da Knappheit unter anderem eine geringe Größe bedeutet, werden vor allem die Bestandteile der Entwurfselemente gezählt. Diese Zählmetriken sind negativ mit der Knappheit korreliert. Klasse/Interface Bei Klassen und Interfaces werden geerbte Bestandteile mitgezählt, da geerbte Eigenschaften in der Klasse vorhanden sind und damit ihre Größe mitbestimmen (siehe dazu auch Abschnitt A.1). NAC (number of attributes of a class) NAC(c) = |{a∈A: has*(c,a)}| NOC (number of operations of a class) NOC(c) = |{o∈O: has*(c,o)}| NEDC (number of efferent dependencies of a class) NEDC(c) = Σ d∈C∪I depends_on*(c,d).weight

9.2 Objektive Metriken 123 Paket NCP (number of classes in a package) NCP(p) = |{c∈C: contains(p,c)}| NIP (number of interfaces in a package) NIP(p) = |{i∈I: contains(p,i)}| NPP (number of packages in a package) NPP(p) = |{q∈P: contains(p,q)}| System NAS (number of attributes in the system) NAS(S) = |A| NOS (number of operations in the system) NOS(S) = |O| NCS (number of classes in the system) NCS(S) = |C| NIS (number of interfaces in the system) NIS(S) = |I| NPS (number of packages in the system) NPS(S) = |P| - 1 (da S in P enthalten ist, ist 1 abzuziehen) Verfeinerungen Als Beispiel einer Verfeinerung wird hier die Verfeinerung der Metrik NCP gezeigt, die sich ergibt, wenn abstrakte und konkrete Klassen unterschieden werden: NCPa (number of abstract classes in a package) NCPa (p) = |{c∈C: contains(p,c) ∧ c.isAbstract}| NCPc (number of concrete classes in a package) NCPc (p) = |{c∈C: contains(p,c) ∧¬c.isAbstract}| 9.2.4 Auswertung Aus den objektiven Metriken kann ein Bewertungsvorschlag für die zugehörige subjektive Metrik gewonnen werden. Dazu werden die Metriken eines Kriteriums einer Ebene (z. B. Knappheit Paket) aggregiert und das Ergebnis auf den Wertebereich der subjektiven Metriken abgebildet. Verfahren Die Berechnung eines Bewertungsvorschlags verläuft in drei Schritten: 1. Normierung der Metriken, um aus den Messwerten Qualitätsaussagen abzuleiten, 2. Gewichtung der normierten Metriken, um die relative Bedeutung der Qualitätsaussagen zu berücksichtigen, und 3. Transformation des Resultats auf den Wertebereich der subjektiven Metriken.

9.2 Objektive Metriken 123<br />

Paket<br />

NCP (number of classes in a package)<br />

NCP(p) = |{c∈C: contains(p,c)}|<br />

NIP (number of interfaces in a package)<br />

NIP(p) = |{i∈I: contains(p,i)}|<br />

NPP (number of packages in a package)<br />

NPP(p) = |{q∈P: contains(p,q)}|<br />

System<br />

NAS (number of attributes in the system)<br />

NAS(S) = |A|<br />

NOS (number of operations in the system)<br />

NOS(S) = |O|<br />

NCS (number of classes in the system)<br />

NCS(S) = |C|<br />

NIS (number of interfaces in the system)<br />

NIS(S) = |I|<br />

NPS (number of packages in the system)<br />

NPS(S) = |P| - 1 (da S in P enthalten ist, ist 1 abzuziehen)<br />

Verfeinerungen<br />

Als Beispiel einer Verfeinerung wird hier die Verfeinerung <strong>der</strong> Metrik NCP gezeigt,<br />

die sich ergibt, wenn abstrakte und konkrete Klassen unterschieden werden:<br />

NCPa (number of abstract classes in a package)<br />

NCPa (p) = |{c∈C: contains(p,c) ∧ c.isAbstract}|<br />

NCPc (number of concrete classes in a package)<br />

NCPc (p) = |{c∈C: contains(p,c) ∧¬c.isAbstract}|<br />

9.2.4 Auswertung<br />

Aus den objektiven Metriken kann ein <strong>Bewertung</strong>svorschlag für die zugehörige subjektive<br />

Metrik gewonnen werden. Dazu werden die Metriken eines Kriteriums einer<br />

Ebene (z. B. Knappheit Paket) aggregiert und das Ergebnis auf den Wertebereich <strong>der</strong><br />

subjektiven Metriken abgebildet.<br />

Verfahren<br />

Die Berechnung eines <strong>Bewertung</strong>svorschlags verläuft in drei Schritten:<br />

1. Normierung <strong>der</strong> Metriken, um aus den Messwerten <strong>Qualität</strong>saussagen abzuleiten,<br />

2. Gewichtung <strong>der</strong> normierten Metriken, um die relative Bedeutung <strong>der</strong> <strong>Qualität</strong>saussagen<br />

zu berücksichtigen, und<br />

3. Transformation des Resultats auf den Wertebereich <strong>der</strong> subjektiven Metriken.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!