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.

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

7.4.7 Bansiya und Davis<br />

Bansiya und Davis (2002) haben ein hierarchisches <strong>Qualität</strong>smodell für den objektorientierten<br />

Entwurf namens QMOOD (Quality Model of Object-Oriented Design)<br />

entwickelt. Das Modell besteht aus drei Ebenen: <strong>Qualität</strong>sattribute, Entwurfseigenschaften<br />

und Metriken (vgl. Abbildung 7-10). Basis <strong>der</strong> <strong>Bewertung</strong> ist ein in C++<br />

dokumentierter Entwurf (in Form von Hea<strong>der</strong>-Dateien). Auf diesen Dateien werden<br />

mit Hilfe des Werkzeugs QMOOD++ (Bansiya, Davis, 1997) Metriken erhoben. Jede<br />

dieser Metriken ist genau einer Entwurfseigenschaft zugeordnet. Die Entwurfseigenschaften<br />

beeinflussen die <strong>Qualität</strong>sattribute positiv o<strong>der</strong> negativ. Für die Stärke des<br />

Einflusses geben die Autoren Gewichte an, so dass sich aus den Metriken <strong>Qualität</strong>skennzahlen<br />

für die <strong>Qualität</strong>sattribute berechnen lassen. Die Gesamtbewertung ergibt<br />

sich durch Aufsummieren <strong>der</strong> <strong>Qualität</strong>skennzahlen.<br />

quality attributes design properties metrics<br />

reusability<br />

flexibility<br />

un<strong>der</strong>standability<br />

functionality<br />

extendibility<br />

effectiveness<br />

Legende:<br />

Abbildung 7-10: <strong>Qualität</strong>smodell von Bansiya und Davis<br />

7.4.8 Kritische <strong>Bewertung</strong><br />

messaging<br />

design size<br />

coupling<br />

cohesion<br />

complexity<br />

encapsulation<br />

polymorphism<br />

composition<br />

hierarchies<br />

abstraction<br />

inheritance<br />

class interface size (CIS)<br />

design size in classes (DSC)<br />

direct class coupling (DCC)<br />

cohesion among methods in class<br />

(CAM)<br />

number of methods (NOM)<br />

data access metric (DAM)<br />

number of polymorphic methods<br />

(NOP)<br />

measure of aggregation (MOA)<br />

number of hierarchies (NOH)<br />

average number of ancestors (ANA)<br />

measure of functional abstraction<br />

(MFA)<br />

beeinflusst positiv beeinflusst negativ<br />

Wie die vorgestellten Beispiele zeigen, gibt es kein einheitliches Modell zur <strong>Bewertung</strong><br />

<strong>objektorientierter</strong> <strong>Entwürfe</strong>. Es gibt zwar einige Kriterien, die öfter auftreten<br />

(z. B. Kopplung und Zusammenhalt) – diese unterscheiden sich aber jeweils in ihren<br />

Definitionen. In <strong>der</strong> Struktur <strong>der</strong> Modelle ist keine klare Trennung <strong>der</strong> Detaillierungsebenen<br />

(Methode, Klasse etc.) erkennbar. Außerdem werden die Systemebene kaum

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!