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.

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

***

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!