30.10.2013 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

5.5 Formale Definition von Metriken 57<br />

D(p) = |A(p) + I(p) - 1| / 2<br />

D'(p) = |A(p) + I(p) - 1| = 2<br />

D(p)<br />

Fazit. Martins Metriken konzentrieren sich auf Elemente des Architekturentwurfs,<br />

weshalb sie mit ODEM leicht formalisiert werden können. Es gibt ein paar Lücken<br />

und Unklarheiten in den ursprünglichen natürlichsprachlichen Definitionen, die bei<br />

<strong>der</strong> Formalisierung durch sinngemäße Ergänzungen überwunden werden können.<br />

Fallstudie 2: Chidamber und Kemerers Metrikensuite<br />

Chidamber und Kemerer waren 1991 eine <strong>der</strong> ersten, die eine Suite von objektorientierten<br />

Metriken publiziert haben. Wohl auch deshalb hat die Suite eine hohe Popularität.<br />

Hier wird die zweite Version von 1994 zur Formalisierung verwendet.<br />

Weighted Methods per Class (WMC). WMC ist die Summe <strong>der</strong> Komplexitäten <strong>der</strong><br />

Methoden einer Klasse. Je geringer WMC, desto besser. Die Definition <strong>der</strong> Komplexität<br />

ist absichtlich offen gelassen. WMC wird meistens mit einer Standardkomplexität<br />

von 1 verwendet (auch von den Autoren selbst; vgl. Chidamber, Kemerer, 1998). Lei<strong>der</strong><br />

haben die Autoren erst später genauere Aussagen darüber gemacht, welche<br />

Methoden gezählt werden sollen (Chidamber, Kemerer, 1995). Die Hauptinterpretation<br />

vom WMC in <strong>der</strong> Literatur ist es, nur lokal definierte Methoden zu zählen (einschließlich<br />

Redefinitionen). Da ODEM nur Operationen und keine Methoden betrachtet,<br />

kommen Redefinitionen allerdings nicht vor. Es werden sowohl Klassen- als auch<br />

Instanzmethoden gezählt.<br />

WMC(c) = |{o∈O: has(c,o)}|<br />

Depth of Inheritance Tree (DIT). DIT ist die maximale Länge aller Vererbungspfade<br />

von <strong>der</strong> Klasse zu den Wurzelklassen <strong>der</strong> Vererbungshierarchie. Je geringer DIT, desto<br />

besser. Hier wird eine rekursive Definition angegeben:<br />

DIT(c) = if ∃d∈C∪I: extends(c,d) then 1+maxd∈C: extends(c,d) {DIT(d)} else 0<br />

Number of Children (NOC). NOC ist die Anzahl <strong>der</strong> direkten Unterklassen einer<br />

Klasse. Ein hoher Wert deutet sowohl auf bessere Wie<strong>der</strong>verwendung als auch auf<br />

den Missbrauch von Vererbung und höheren Testaufwand hin, so dass es keine klare<br />

Aussage gibt, welche Werte besser sind.<br />

NOC(c) = |{d∈C∪I: extends(d,c)}|<br />

Coupling between Object Classes (CBO). CBO ist die Anzahl <strong>der</strong> Klassen, an die<br />

eine Klasse gekoppelt ist. Eine Klasse A ist an eine Klasse B gekoppelt, wenn eine<br />

Methode von A eine Methode o<strong>der</strong> ein Attribut von B verwendet. Je geringer CBO,<br />

desto besser. Diese Metrik benötigt genaue Information über die Methoden, es wird<br />

also ein sehr detaillierter Entwurf o<strong>der</strong> <strong>der</strong> Code <strong>der</strong> Klasse für die Messung vorausgesetzt.<br />

Derart detaillierte Information ist in ODEM aber nicht vorhanden, weshalb<br />

diese Metrik nicht formalisiert werden kann.<br />

Response for a Class (RFC). Die Größe <strong>der</strong> Response-Menge einer Klasse, d. h. die<br />

Anzahl <strong>der</strong> Methoden einer Klasse plus die Anzahl <strong>der</strong> Methoden an<strong>der</strong>er Klassen,<br />

die von den Methoden <strong>der</strong> Klasse benutzt werden (jede Methode zählt nur einmal). Je<br />

geringer RFC, desto besser. Auch diese Metrik benötigt genaue Informationen über<br />

die Methoden, weshalb das gleiche Problem bei <strong>der</strong> Formalisierung auftritt wie bei

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!