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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

88 7 Entwurfsqualität<br />

Heuristiken für Interfaces<br />

Das Interface soll einfach, aber trotzdem vollständig sein (Booch et al., 1998).<br />

Das Interface soll alle nötigen (aber nicht mehr) Operationen für einen einzigen Dienst zur Verfügung<br />

stellen (Booch et al., 1998).<br />

Das Interface soll verständlich sein, d.h. es stellt genügend Information zur Verwendung und<br />

zur Implementierung zur Verfügung (Booch et al., 1998).<br />

Das Interface soll zugänglich sein, d.h. sein Verwen<strong>der</strong> kann die Haupteigenschaften verstehen,<br />

ohne durch eine Vielzahl von Operationen überwältigt zu werden (Booch et al., 1998).<br />

Heuristiken für Pakete<br />

Das Paket soll einen hohen Zusammenhalt haben, d. h. eine Menge zusammengehöriger Elemente<br />

enthalten (Booch et al., 1998).<br />

Das Paket soll mit an<strong>der</strong>en Paketen lose gekoppelt, d. h. nur die Elemente, die an<strong>der</strong>e Pakete<br />

wirklich sehen müssen, exportieren, und nur wirklich benötigte Elemente aus an<strong>der</strong>en Paketen<br />

importieren (Booch et al., 1998).<br />

Pakete sollen nicht zu tief verschachtelt sein (Booch et al., 1998).<br />

Die Anzahl <strong>der</strong> in einem Paket enthaltenen Elemente soll (im Vergleich zu den an<strong>der</strong>en Paketen<br />

im System) we<strong>der</strong> zu groß noch zu klein sein (Booch et al., 1998).<br />

Zwischen Paketen soll es keine zyklischen Abhängigkeiten geben. Treten diese auf, soll eines<br />

<strong>der</strong> Pakete zerschlagen werden, um den Zyklus aufzulösen (Martin, 1996e).<br />

Heuristiken für Vererbungsbeziehungen<br />

Vererbungshierarchien sollen balanciert sein: nicht tiefer als (etwa) fünf Stufen und nicht zu<br />

breit. Um die Breite zu reduzieren, können zur Gruppierung abstrakte Zwischenklassen in die<br />

Vererbungshierarchie eingefügt werden (Booch et al., 1998).<br />

Vererbung soll nur verwendet werden, um eine Spezialisierungshierarchie zu modellieren (Riel,<br />

1996).<br />

Basisklassen sollen abstrakt sein (Riel, 1996).<br />

Mehrfachvererbung soll zunächst als Entwurfsfehler angesehen werden, bis das Gegenteil<br />

bewiesen ist (Riel, 1996).<br />

Heuristiken für sonstige Beziehungen<br />

Benutzungsbeziehungen sollen nur verwendet werden, wenn es sich nicht um eine strukturelle<br />

Beziehung handelt. Ansonsten soll mit Assoziationen gearbeitet werden (Booch et al., 1998).<br />

Bei Aggregation soll eine Klasse wissen, was sie enthält, aber sie soll nie wissen, wer sie enthält<br />

(Riel, 1996).<br />

Eine Klasse soll von möglichst wenigen an<strong>der</strong>en Klassen abhängen (Korson, McGregor, 1990)<br />

Tabelle 7-4: Heuristiken (Abschnitt 2 von 2)<br />

7.4 Beispiele für OOD-<strong>Qualität</strong>smodelle<br />

Die Fragestellung „Was macht einen guten objektorientierten Entwurf aus?“ hat<br />

schon viele Autoren beschäftigt. Aus <strong>der</strong> Literatur soll hier eine kleine Zusammenstellung<br />

<strong>der</strong> Meinung verschiedener Autoren gegeben werden, die sich mit dieser<br />

Frage beschäftigt haben. Alle Autoren geben Kriterien bzw. Fragestellungen an, mit<br />

denen die <strong>Qualität</strong> eines Entwurfs bewertet werden soll. Viele <strong>der</strong> oben bereits<br />

beschriebenen Überlegungen haben Eingang in die <strong>Qualität</strong>smodelle gefunden.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!