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.
B.3 Entkopplung 207<br />
Klasse/Interface<br />
Bedingung Fragetext Antwortskala Gewicht auto.<br />
– Sind alle Entwurfsentscheidungen so weit wie<br />
möglich verborgen?<br />
¬isAbstract(this)<br />
NEEC(this)<br />
> 1<br />
Sind von <strong>der</strong> konkreten Klasse mehr als 9 an<strong>der</strong>e<br />
Klassen abhängig?<br />
0 = nein,<br />
1 = ja<br />
0 = nein,<br />
1 = ja<br />
Ist das Erben von mehreren Klassen hier nötig? 0 = nein,<br />
1 = ja<br />
– Sind alle Assoziationen mit an<strong>der</strong>en Klassen<br />
nötig?<br />
– Sind mehrfache Assoziationen mit <strong>der</strong>selben<br />
Klasse unnötig?<br />
(nötig, wenn sie unterschiedliche Bedeutung<br />
besitzen o<strong>der</strong> unterschiedliche Multiplizitäten)<br />
– Gibt es nur nötige Benutzungsbeziehungen?<br />
(Kriterium z. B. Law of Demeter, Lieberherr et al.,<br />
1988, 1989)<br />
– Realisiert die Klasse kein Interface, das bereits<br />
von einer Oberklasse realisiert wird?<br />
0 = nein,<br />
1 = ja<br />
0 = nein,<br />
1 = ja<br />
0 = nein,<br />
1 = ja<br />
0 = nein,<br />
1 = ja<br />
– Gibt es keine Abhängigkeit zu konkreten Klassen? 0 = nein,<br />
1 = ja<br />
– Gibt es keine Abhängigkeit zu einer direkten o<strong>der</strong><br />
indirekten Unterklasse?<br />
– Gibt es keine Assoziation mit einer an<strong>der</strong>en<br />
Klasse, welche die betrachtete Klasse enthält<br />
(durch Aggregation o<strong>der</strong> Komposition)?<br />
– Gibt es keine Assoziation <strong>der</strong> Klasse zu einer<br />
an<strong>der</strong>en Klasse A, wobei beide Klassen von einer<br />
Klasse B aggregiert/komponiert werden?<br />
– Gibt es keine zyklischen Abhängigkeiten mit<br />
an<strong>der</strong>en Klassen?<br />
– Ist bei einer bidirektionalen Assoziation die Navigierbarkeit<br />
in beide Richtungen nötig?<br />
– Liegt bei einer bidirektionalen 1:1-Assoziation<br />
eine echte Assoziation vor?<br />
(Kriterien: Verbindung ist in eine o<strong>der</strong> beide Richtungen<br />
optional o<strong>der</strong> kann sich än<strong>der</strong>n, es handelt<br />
sich um zwei umfangreiche Klassen o<strong>der</strong> sie<br />
besitzen eine unterschiedliche Semantik)<br />
– Handelt es sich bei einer Aggregation um eine<br />
echte Aggregation?<br />
(Kriterien: Teil-Ganzes-Beziehung, aber <strong>der</strong> Teil<br />
kann mehrere Besitzer gleichzeitig haben o<strong>der</strong><br />
den Besitzer wechseln)<br />
0 = nein,<br />
1 = ja<br />
0 = nein,<br />
1 = ja<br />
0 = nein,<br />
1 = ja<br />
0 = nein,<br />
1 = ja<br />
0 = nein,<br />
1 = ja<br />
0 = nein,<br />
1 = ja<br />
0 = nein,<br />
1 = ja<br />
Fragebogen B-7: Entkopplung Klasse/Interface (Abschnitt 1 von 2)<br />
***<br />
* ✔<br />
**<br />
**<br />
*<br />
**<br />
** ✔<br />
* ✔<br />
** ✔<br />
** ✔<br />
* ✔<br />
** ✔<br />
*<br />
***<br />
***