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.

90 7 Entwurfsqualität<br />

minimieren und die Anzahl <strong>der</strong> Parameter einer Nachricht auf drei zu limitieren. Die<br />

Delegation von Nachrichten an an<strong>der</strong>e Objekte wird als Ursache für unnötige Interaktionskopplung<br />

angesehen.<br />

Die Vererbungskopplung soll hingegen hoch sein. Die Vererbung spiegelt vornehmlich<br />

Generalisierungs-/Spezialisierungsbeziehungen. Das Überschreiben von geerbten<br />

Attributen o<strong>der</strong> ein Erben ohne Erweiterung sind Indikatoren für eine geringe<br />

Vererbungskopplung, da keine wirkliche Spezialisierung vorliegt.<br />

Zusammenhalt (cohesion): Drei Ebenen des Zusammenhalts werden unterschieden:<br />

Methode, Klasse und Vererbungshierarchie. Methoden sollten nur genau eine<br />

Funktion haben. Klassen sollten nur Attribute und Methoden haben, die aufgrund<br />

<strong>der</strong> Verantwortlichkeiten <strong>der</strong> Klasse notwendig sind; und diese Attribute und Methoden<br />

sollen zusammenhängen. In <strong>der</strong> Vererbungshierarchie schließlich sollen nur<br />

„echte“ Spezialisierungen vorkommen.<br />

Wie<strong>der</strong>verwendung (reuse). Die Wie<strong>der</strong>verwendung vorhandener Artefakte (z. B.<br />

Klassen, Komponenten, Bibliotheken, <strong>Entwürfe</strong>) kann die Kosten senken und die<br />

<strong>Qualität</strong> erhöhen.<br />

Klarheit (clarity). Der Entwurf muss verständlich sein, um seine Verwendung und<br />

Wie<strong>der</strong>verwendung zu för<strong>der</strong>n. Als Maßnahmen werden die Verwendung eines einheitlichen<br />

Vokabulars, eines einheitlichen Stils (insbeson<strong>der</strong>e bei Schnittstellen) und<br />

die klare Zuordnung von Verantwortlichkeiten zu Klassen genannt.<br />

Einfachheit (simplicity). Methoden, Objekte und Klassen sollen so einfach wie möglich<br />

sein. Methoden sollten nur wenige Anweisungen umfassen. Objekte sollten so<br />

wenig wie möglich an<strong>der</strong>e Objekte kennen müssen, um ihren Zweck zu erfüllen.<br />

Klassen sollten möglichst wenig Attribute und eine kleine Schnittstelle haben sowie<br />

klare Verantwortlichkeiten besitzen.<br />

Größe (system size). Die Größe des Gesamtsystems sollte möglichst klein sein, um<br />

die Handhabbarkeit zu verbessern. Je größer das System wird, desto größer wird das<br />

Risiko, dass das Entwurfsteam den Entwurf nicht mit einem wohlstrukturierten, eleganten<br />

Ergebnis abschließen kann. Coad und Yourdon geben dafür eine Obergrenze<br />

von etwa hun<strong>der</strong>t Klassen an.<br />

Eleganz (elegance). Die Autoren geben zu, dass dieses Kriterium von allen am<br />

schlechtesten messbar ist. Weil <strong>der</strong> Begriff <strong>der</strong> Eleganz in <strong>der</strong> Praxis immer wie<strong>der</strong><br />

auftauche, müsse er aber von Bedeutung sein. Sie geben zwei Beispiele für Eleganz<br />

an: wie<strong>der</strong>kehrende Muster im Entwurf und Ähnlichkeit <strong>der</strong> Entwurfsstruktur zur<br />

Struktur <strong>der</strong> Realität.<br />

Zur Entwurfsbewertung schlagen Coad und Yourdon Reviews vor. Zum einen sollen<br />

sich diese an Szenarien orientieren, die mit den Klassen durchgespielt werden. Außerdem<br />

sollten kritische Erfolgsfaktoren wie Wie<strong>der</strong>verwendbarkeit, Effizienz und Implementierbarkeit<br />

geprüft werden.<br />

7.4.3 Cockburn<br />

Cockburn (1998) geht von <strong>der</strong> folgenden Annahme an: „Discussing the quality of an<br />

OO design is discussing the futures it naturally supports“. Es geht ihm also vor allem<br />

um Faktoren wie Än<strong>der</strong>barkeit und Erweiterbarkeit. Cockburn gibt ein <strong>Bewertung</strong>s-

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!