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
148 10 Ein spezifisches Qualitätsmodell Ergebnis Tabelle 10-10 zeigt den Wartungsaufwand in der Summe über alle drei Änderungen. Der am schlechtesten bewertete Entwurf hat mit 730 Minuten den höchsten, der am besten bewertete Entwurf mit 490 Minuten den geringsten Wartungsaufwand. Der mittlere Entwurf liegt mit 685 Minuten in der Mitte. Klassen Operationen Attribute Aufwand Gruppe 1 (-) 11 23 11 730 Gruppe 3 (o) 9 21 20 685 Gruppe 7 (+) 8 13 11 490 Tabelle 10-10: Wartungsaufwand insgesamt Damit bestätigt sich in der Gesamtbetrachtung die Rangordnung durch die ursprüngliche Bewertung, obwohl es in den einzelnen Szenarien z. T. leichte Abweichungen davon gibt. Die Bewertung durch das spezifische Modell kann also als plausibel angesehen werden. Leider enthalten die Entwürfe in dieser Fallstudie kaum Vererbung. Daher ist es schwierig festzustellen, ob die Entscheidung, bei den Metriken für Knappheit und Entkopplung geerbte Eigenschaften und Beziehungen grundsätzlich mitzuberücksichtigen, tatsächlich gerechtfertigt ist. 10.3 Besonderheiten bei Mustern Vergleicht man zwei funktional gleichwertige Entwurfsalternativen, von denen die eine Muster enthält und die andere nicht, stellt man häufig fest, dass die objektiven Metriken den Entwurf mit den Mustern schlechter bewerten (Reißing, 2001b). Das liegt vor allem daran, dass die Musteranwendung mehr Entwurfselemente und Beziehungen erfordert, auch wenn gleichzeitig bestimmte Messwerte verbessert werden (z. B. kann das Mediator-Muster die Entkopplung verbessern, s. a. Huston, 2001). Dieses Phänomen wird hier an einem Beispiel demonstriert: Das spezifische Qualitätsmodell wird auf das Beispiel aus Abschnitt 7.1 angewendet. Dort wurden drei Entwurfsalternativen für ein Videoverleihsystem vorgestellt. Tabelle 10-11 und Tabelle 10-13 zeigen die Messwerte für die wichtigsten Klassenund Systemmetriken der Entwürfe A bis C. Die Paketmetriken werden weggelassen, da es nur ein Paket (das System) gibt. Tabelle 10-12 und Tabelle 10-14 enthalten die subjektiven Metriken für die Kriterien des Faktors Wartbarkeit. Entwurf A geht aus Entwurf B hervor, indem unnötige Kopplung und dadurch unnötige Operationen entfernt werden. Dies schlägt sich in einem Rückgang der Metriken NOC (bei Rental) und NEDC (bei Customer) nieder. Dadurch verbessern sich die Bewertungen bei der Knappheit (SCCC/SCCS) und der Entkopplung (SDCC/SDCS), wodurch die Wartbarkeit besser bewertet wird (SMAC/SMAS). Entwurf C geht aus Entwurf B hervor, indem das State-Muster auf die Klasse Movie angewendet wird (für die Preiscodes). Dadurch kommen die abstrakte Klasse Price und ihre drei Unterklassen hinzu. Die Anzahl der Klassen (NCS) nimmt stark zu, wodurch sich die Knappheit (SCCS) verschlechtert. Durch die hinzukommende Ver-
10.3 Besonderheiten bei Mustern 149 Metrik NAC NOC DITC NDCC NEDC A B C A B C A B C A B C A B C Customer 0 0 0 1 1 1 0 0 0 0 0 0 2 1 1 Rental 1 1 1 2 1 1 0 0 0 0 0 0 1 1 1 Movie 1 1 1 2 2 2 0 0 0 0 0 0 0 0 2 Price - - 0 - - 1 - - 0 - - 3 - - 0 RegularPrice - - 0 - - 1 - - 1 - - 0 - - 1 NewReleasePrice - - 0 - - 1 - - 1 - - 0 - - 1 ChildrensPrice - - 0 - - 1 - - 1 - - 0 - - 1 Tabelle 10-11: Objektive Klassenmetriken der Entwürfe A, B und C Metrik SCCC SSTC SDCC SCOC SCSC SDOC STRC SMAC A B C A B C A B C A B C A B C A B C A B C A B C Customer 9 9 9 9 9 9 7 8 8 9 9 9 9 9 9 4 4 4 0 0 0 6 7 7 Rental 8 9 9 9 9 9 8 8 8 9 9 9 9 9 9 4 4 4 0 0 0 7 8 8 Movie 8 8 8 9 9 9 9 9 8 9 9 9 9 9 9 4 4 4 0 0 0 7 7 6 Price - - 9 - - 9 - - 9 - - 9 - - 9 - - 4 - - 0 - - 8 RegularPrice - - 9 - - 8 - - 8 - - 9 - - 9 - - 4 - - 0 - - 7 NewReleasePrice - - 9 - - 8 - - 8 - - 9 - - 9 - - 4 - - 0 - - 7 ChildrensPrice - - 9 - - 8 - - 8 - - 9 - - 9 - - 4 - - 0 - - 7 Tabelle 10-12: Subjektive Klassenmetriken der Entwürfe A, B und C Metrik NAS NOS NCS NIS NPS Entwurf A 2 5 3 0 0 Entwurf B 2 4 3 0 0 Entwurf C 2 5 7 0 0 Tabelle 10-13: Objektive Systemmetriken der Entwürfe A, B und C Metrik SCCS SSTS SDCS SCOS SCSS SDOS STRS SMAS Entwurf A 8 9 7 9 9 4 0 6 Entwurf B 8 9 8 9 9 4 0 7 Entwurf C 7 8 8 9 9 4 0 6 Entwurf C (alt.) 8 9 8 9 9 4 0 8 Tabelle 10-14: Subjektive Systemmetriken der Entwürfe A, B und C erbungshierarchie verschlechtert sich auch die Strukturiertheit (SSTS). Insgesamt verschlechtert sich damit die Wartbarkeit (SMAS). Im Vergleich zu Entwurf B schneidet Entwurf C damit schlechter ab.
- Seite 107 und 108: 7.6 Entwurfsbewertung 97 7.5.2 Kons
- Seite 109 und 110: 7.6 Entwurfsbewertung 99 Evaluation
- Seite 111 und 112: Kapitel 8 Das allgemeine Qualitäts
- Seite 113 und 114: 8.1 Vorüberlegungen 103 8.1.4 Indi
- Seite 115 und 116: 8.3 Wartbarkeit 105 unabhängige Mo
- Seite 117 und 118: 8.3 Wartbarkeit 107 auswirkt (höhe
- Seite 119 und 120: 8.3 Wartbarkeit 109 Diskussion Für
- Seite 121 und 122: 8.3 Wartbarkeit 111 Diskussion Zusa
- Seite 123 und 124: 8.5 Wiederverwendbarkeit 113 derver
- Seite 125 und 126: 8.7 Testbarkeit 115 kann. Technisch
- Seite 127 und 128: Kapitel 9 Quantifizierung des Quali
- Seite 129 und 130: 9.1 Bewertungsverfahren 119 Bewertu
- Seite 131 und 132: 9.2 Objektive Metriken 121 Akronym
- Seite 133 und 134: 9.2 Objektive Metriken 123 Paket NC
- Seite 135 und 136: 9.3 Subjektive Metriken 125 Gewicht
- Seite 137 und 138: 9.4 Fragebögen 127 9.4 Fragebögen
- Seite 139 und 140: 9.4 Fragebögen 129 auch Fragen, f
- Seite 141 und 142: 9.5 Gesamtbewertung 131 der Gewicht
- Seite 143 und 144: 9.6 Ableitung spezifischer Modelle
- Seite 145 und 146: Kapitel 10 Ein spezifisches Qualit
- Seite 147 und 148: 10.1 Ableitung des Qualitätsmodell
- Seite 149 und 150: 10.1 Ableitung des Qualitätsmodell
- Seite 151 und 152: 10.2 Anwendung des Qualitätsmodell
- Seite 153 und 154: 10.2 Anwendung des Qualitätsmodell
- Seite 155 und 156: 10.2 Anwendung des Qualitätsmodell
- Seite 157: 10.2 Anwendung des Qualitätsmodell
- Seite 161 und 162: Kapitel 11 Werkzeugunterstützung H
- Seite 163 und 164: 11.1 Werkzeuge aus anderen Arbeiten
- Seite 165 und 166: 11.2 Selbst realisierte Werkzeuge 1
- Seite 167 und 168: 11.2 Selbst realisierte Werkzeuge 1
- Seite 169 und 170: 11.3 Ausblick: Ein ideales Werkzeug
- Seite 171 und 172: Kapitel 12 Zusammenfassung und Ausb
- Seite 173 und 174: 12.2 Bewertung des Ansatzes 163 Die
- Seite 175 und 176: 12.3 Vergleich mit anderen Arbeiten
- Seite 177 und 178: 12.4 Ausblick 167 Entwerfen QOOD ka
- Seite 179 und 180: Literatur Abowd et al. (1996) Abowd
- Seite 181 und 182: Beyer et al. (2000) Beyer, D.; Lewe
- Seite 183 und 184: Cavano, McCall (1978) Cavano, J.; M
- Seite 185 und 186: Dißmann (1990) Dißmann, S.: Anfor
- Seite 187 und 188: Gursaran, Roy (2002) Gursaran; Roy,
- Seite 189 und 190: Koenig (1995) Koenig, A.: Patterns
- Seite 191 und 192: McCabe (1976) McCabe, T.: A Complex
- Seite 193 und 194: Rising (2000) Rising, L.: The Patte
- Seite 195 und 196: Wand (1989) Wand, Y.: A Proposal fo
- Seite 197 und 198: Akronyme Allgemeine Akronyme CMM Ca
- Seite 199 und 200: Anhang A Metriken für QOOD Dieser
- Seite 201 und 202: A.1 Knappheit 191 Ihre Verwaltung m
- Seite 203 und 204: A.3 Entkopplung 193 Neben der Tiefe
- Seite 205 und 206: A.3 Entkopplung 195 NEDC p (number
- Seite 207 und 208: A.5 Einheitlichkeit 197 Ein alterna
148 10 Ein spezifisches <strong>Qualität</strong>smodell<br />
Ergebnis<br />
Tabelle 10-10 zeigt den Wartungsaufwand in <strong>der</strong> Summe über alle drei Än<strong>der</strong>ungen.<br />
Der am schlechtesten bewertete Entwurf hat mit 730 Minuten den höchsten, <strong>der</strong> am<br />
besten bewertete Entwurf mit 490 Minuten den geringsten Wartungsaufwand. Der<br />
mittlere Entwurf liegt mit 685 Minuten in <strong>der</strong> Mitte.<br />
Klassen Operationen Attribute Aufwand<br />
Gruppe 1 (-) 11 23 11 730<br />
Gruppe 3 (o) 9 21 20 685<br />
Gruppe 7 (+) 8 13 11 490<br />
Tabelle 10-10: Wartungsaufwand insgesamt<br />
Damit bestätigt sich in <strong>der</strong> Gesamtbetrachtung die Rangordnung durch die ursprüngliche<br />
<strong>Bewertung</strong>, obwohl es in den einzelnen Szenarien z. T. leichte Abweichungen<br />
davon gibt. Die <strong>Bewertung</strong> durch das spezifische Modell kann also als plausibel angesehen<br />
werden. Lei<strong>der</strong> enthalten die <strong>Entwürfe</strong> in dieser Fallstudie kaum Vererbung.<br />
Daher ist es schwierig festzustellen, ob die Entscheidung, bei den Metriken für<br />
Knappheit und Entkopplung geerbte Eigenschaften und Beziehungen grundsätzlich<br />
mitzuberücksichtigen, tatsächlich gerechtfertigt ist.<br />
10.3 Beson<strong>der</strong>heiten bei Mustern<br />
Vergleicht man zwei funktional gleichwertige Entwurfsalternativen, von denen die<br />
eine Muster enthält und die an<strong>der</strong>e nicht, stellt man häufig fest, dass die objektiven<br />
Metriken den Entwurf mit den Mustern schlechter bewerten (Reißing, 2001b). Das<br />
liegt vor allem daran, dass die Musteranwendung mehr Entwurfselemente und Beziehungen<br />
erfor<strong>der</strong>t, auch wenn gleichzeitig bestimmte Messwerte verbessert werden<br />
(z. B. kann das Mediator-Muster die Entkopplung verbessern, s. a. Huston, 2001).<br />
Dieses Phänomen wird hier an einem Beispiel demonstriert: Das spezifische <strong>Qualität</strong>smodell<br />
wird auf das Beispiel aus Abschnitt 7.1 angewendet. Dort wurden drei<br />
Entwurfsalternativen für ein Videoverleihsystem vorgestellt.<br />
Tabelle 10-11 und Tabelle 10-13 zeigen die Messwerte für die wichtigsten Klassenund<br />
Systemmetriken <strong>der</strong> <strong>Entwürfe</strong> A bis C. Die Paketmetriken werden weggelassen,<br />
da es nur ein Paket (das System) gibt. Tabelle 10-12 und Tabelle 10-14 enthalten die<br />
subjektiven Metriken für die Kriterien des Faktors Wartbarkeit.<br />
Entwurf A geht aus Entwurf B hervor, indem unnötige Kopplung und dadurch unnötige<br />
Operationen entfernt werden. Dies schlägt sich in einem Rückgang <strong>der</strong> Metriken<br />
NOC (bei Rental) und NEDC (bei Customer) nie<strong>der</strong>. Dadurch verbessern sich die<br />
<strong>Bewertung</strong>en bei <strong>der</strong> Knappheit (SCCC/SCCS) und <strong>der</strong> Entkopplung (SDCC/SDCS),<br />
wodurch die Wartbarkeit besser bewertet wird (SMAC/SMAS).<br />
Entwurf C geht aus Entwurf B hervor, indem das State-Muster auf die Klasse Movie<br />
angewendet wird (für die Preiscodes). Dadurch kommen die abstrakte Klasse Price<br />
und ihre drei Unterklassen hinzu. Die Anzahl <strong>der</strong> Klassen (NCS) nimmt stark zu,<br />
wodurch sich die Knappheit (SCCS) verschlechtert. Durch die hinzukommende Ver-