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
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.