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