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
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
A.3 Entkopplung 193<br />
Neben <strong>der</strong> Tiefe <strong>der</strong> Vererbungshierarchie kann noch ihre Verzweigung betrachtet<br />
werden. Aus Sicht einer Klasse ist das zum einen die Anzahl <strong>der</strong> Unterklassen,<br />
gemessen durch die Metrik NAEC l (number of local afferent extends relationships of<br />
a class), definiert beim Kriterium Entkopplung. Ein an<strong>der</strong>es Verzweigungsmaß ist die<br />
Anzahl <strong>der</strong> Oberklassen. 2 Die zugehörige Metrik NEEC l (number of local efferent<br />
extends relationships of a class) ist ebenfalls beim Kriterium Entkopplung definiert.<br />
Hohe Verzweigung ist schlecht für die Strukturiertheit.<br />
Paket: Schachtelung<br />
Auf Paketebene gibt es die Tiefe und den Verzweigungsgrad <strong>der</strong> Schachtelungshierarchie.<br />
Die Metrik für die Tiefe in <strong>der</strong> Schachtelungshierarchie ist:<br />
DNHP (depth in nesting hierarchy of a package)<br />
DNHP(p) = DNHP(q: contains(q,p)) + 1<br />
DNHP(S) = -1 (damit Pakete auf <strong>der</strong> obersten Ebene ein DNHP von 0 haben)<br />
Der Verzweigungsgrad (d. h. die Anzahl <strong>der</strong> eingeschachtelten Pakete) wurde bereits<br />
bei <strong>der</strong> Knappheit als NPP (number of packages in a package) definiert.<br />
System<br />
Auf Systemebene werden die Vererbungs- und die Schachtelungshierarchie als Ganzes<br />
betrachtet. Dazu verwendet man die maximale Tiefe und den maximalen Verzweigungsgrad:<br />
DITS (depth of inheritance tree of the system)<br />
DITS(S) = max c∈C∪I {DITC(c)}<br />
MNCS (maximum number of child classes in the system)<br />
MNCS(S) = max c∈C∪I {NEEC l (c)}<br />
DNHS (depth of nesting hierarchy of the system)<br />
DNHS(S) = max p∈P {DNHP(p)}<br />
MNPS (maximum number of subpackages in the system)<br />
MNPS(S) = max p∈P {NPP(c)}<br />
A.3 Entkopplung<br />
Wie bereits im Abschnitt 8.3.3 ausgeführt stellt die Entkopplung einen <strong>der</strong> wichtigsten<br />
Indikatoren für die Wartbarkeit dar. Daher ist es nicht erstaunlich, dass schon<br />
viele Kopplungsmetriken vorgeschlagen wurden. Briand et al. (1999) geben einen<br />
Überblick über die Literatur. Sie stellen auch wesentliche Fragestellungen zusammen,<br />
die bei <strong>der</strong> Wahl von Kopplungsmetriken zu beantworten sind:<br />
1. Welche Kopplungsarten werden betrachtet?<br />
2. Wie wird die Stärke einer Kopplung bewertet (Kopplungsart und -häufigkeit)?<br />
3. Wird die Richtung <strong>der</strong> Kopplung betrachtet (Import-/Export-Kopplung)?<br />
2. Für eine echte Hierarchie sollte diese Zahl eigentlich immer 1 (o<strong>der</strong> 0 für die Wurzel) sein. Allerdings<br />
könnte es Mehrfachvererbung geben, was zu einer höheren Komplexität führt.