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.

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.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!