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

worte.projekt.de
von worte.projekt.de Mehr von diesem Publisher
30.10.2013 Aufrufe

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.

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-

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!