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
146 10 Ein spezifisches Qualitätsmodell durchzuführen. Die Aufgaben sind aus der Liste der wahrscheinlichen Änderungen abgeleitet, die Bestandteil der Spezifikation war (vgl. Abschnitt C.2.8). Dort sind fünf Änderungen vorgesehen. Da zwei dieser Änderungen vor allem Auswirkungen auf die Benutzungsoberfläche haben, für die keine einheitlichen Anforderungen festgelegt sind, konzentriert sich die Untersuchung auf die ersten drei Änderungen. Die so ermittelten notwendigen Änderungen am Entwurf können zur Abschätzung des Wartungsaufwands verwendet werden. Die Anzahl der Klassen wiegt dabei am schwersten, weil vor der Änderung einer Klasse diese zunächst einmal ausreichend verstanden werden muss, was einen hohen Einarbeitungsaufwand erfordert. Die Anzahl der Operationen wiegt mehr als die Anzahl der Attribute, weil eine Änderung in der Regel aufwendiger ist. Um zu einer quantitativen Schätzung des Wartungsaufwands zu gelangen, wird pro Klasse von 30 Minuten, pro Operation von 15 Minuten und pro Attribut von 5 Minuten Gesamtaufwand ausgegangen. Anhand der Bewertung der Wartbarkeit wurden der beste (+), der schlechteste (-) und ein mittlerer (o) Entwurf ausgewählt. Diese Entwürfe stammen von den Gruppen 7, 1 und 3, die vom selben Betreuer betreut wurden. Die drei Entwürfe wurden daraufhin untersucht, welche Änderungen für die drei Änderungsszenarien notwendig sind. Änderung 1: Die vier besten Verbindungen ausgeben Bisher soll das System nur die beste Verbindung ausgeben (und alle weiteren Verbindungen, die das Optimierungskriterium gleich gut erfüllen). Diese Änderung verlangt nun, dass stattdessen immer die besten vier Verbindungen ausgegeben werden, wie es auch bei der elektronischen Fahrplanauskunft (z. B. bei www.vvs.de) üblich ist. Von dieser Änderung sind potentiell betroffen: • die Verbindungssuche, deren Datenhaltung und Rückgabe sowie • die Verbindungsausgabe auf dem Bildschirm und in die HTML-Datei. Hier hat der schlecht bewertete Entwurf echte Schwächen, weil er entgegen der ursprünglichen Anforderungen immer nur eine Verbindung als Resultat der Suchanfrage liefert. Daher sind hier mehr Änderungen nötig als bei den anderen Entwürfen, bei denen lediglich der Suchalgorithmus leicht modifiziert werden muss. Tabelle 10-7 zeigt den Wartungsaufwand für diese Änderung bei den drei Entwürfen. Klassen Operationen Attribute Aufwand Gruppe 1 (-) 3 4 1 155 Gruppe 3 (o) 1 1 0 45 Gruppe 7 (+) 1 1 0 45 Tabelle 10-7: Wartungsaufwand für Änderung 1 Änderung 2: Verbindungsanfrage mit gewünschter Umsteigehaltestelle Zusätzlich zu Start- und Zielbahnhof soll es möglich sein, bei der Verbindungsanfrage noch eine zusätzliche Umsteigehaltestelle anzugeben, über die alle gefundenen Verbindungen gehen müssen. Von dieser Änderung sind potentiell betroffen:
10.2 Anwendung des Qualitätsmodells 147 • die Benutzungsoberfläche zur Verbindungsanfrage sowie • die Verbindungssuche und deren Aufrufparameter (z. B. Suchdatensatz-Klasse). Hier schneiden alle Entwürfe etwa gleich gut ab. Der Entwurf von Gruppe 3 besitzt eine Klasse zur Speicherung der Verbindungsanfrage, die auch betroffen ist, weshalb hier eine Klasse mehr geändert werden muss. Die Änderungen sind nicht schwer – bis auf die Änderung der einen Operation zur Ermittlung der Verbindungen. Tabelle 10-8 zeigt den Wartungsaufwand für diese Änderung bei den drei Entwürfen. Klassen Operationen Attribute Aufwand Gruppe 1 (-) 2 2 2 100 Gruppe 3 (o) 3 3 3 150 Gruppe 7 (+) 2 2 4 110 Tabelle 10-8: Wartungsaufwand für Änderung 2 Änderung 3: Unterschiedliche Fahrpläne für Werktage und Wochenende Bisher ist der Fahrplan für alle Tage gleich. Soll aber zwischen Werktagen und Wochenende unterschieden werden, sind jeweils zwei Datensätze für die Anfahrtszeiten an den Endhaltestellen notwendig. Die Fahrplandatei wird dazu entsprechend erweitert. Außerdem muss die Verbindungsanfrage auch das Datum der gesuchten Verbindung abfragen, um feststellen zu können, welcher Fahrplan gilt. Von dieser Änderung sind potentiell betroffen: • das Einlesen und Speichern der Fahrplandatei, • die internen Datenstrukturen zur Repräsentation des Fahrplans, • die Verbindungssuche und ihre Datenstrukturen, • die Benutzungsoberfläche zur Verbindungsanfrage, • die Benutzungsoberfläche zur Anzeige der Fahrplandaten sowie • die Benutzungsoberfläche zum Neuanlegen einer Linie und zur Änderung der Abfahrtszeiten. Die meisten Klassen müssen beim schlechtesten Entwurf geändert werden. Beim besten und beim mittleren Entwurf sind es gleich viele Klassen, doch sind es beim besten Entwurf weniger Attribute und Operationen, die zu ändern sind. Dies liegt vor allem an der Realisierung der Benutzungsoberfläche. Tabelle 10-9 zeigt den Wartungsaufwand für diese Änderung bei den drei Entwürfen. Klassen Operationen Attribute Aufwand Gruppe 1 (-) 6 17 8 475 Gruppe 3 (o) 5 17 17 490 Gruppe 7 (+) 5 10 7 335 Tabelle 10-9: Wartungsaufwand für Änderung 3
- Seite 105 und 106: 7.4 Beispiele für OOD-Qualitätsmo
- 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: 10.2 Anwendung des Qualitätsmodell
- Seite 159 und 160: 10.3 Besonderheiten bei Mustern 149
- 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
10.2 Anwendung des <strong>Qualität</strong>smodells 147<br />
• die Benutzungsoberfläche zur Verbindungsanfrage sowie<br />
• die Verbindungssuche und <strong>der</strong>en Aufrufparameter (z. B. Suchdatensatz-Klasse).<br />
Hier schneiden alle <strong>Entwürfe</strong> etwa gleich gut ab. Der Entwurf von Gruppe 3 besitzt<br />
eine Klasse zur Speicherung <strong>der</strong> Verbindungsanfrage, die auch betroffen ist, weshalb<br />
hier eine Klasse mehr geän<strong>der</strong>t werden muss. Die Än<strong>der</strong>ungen sind nicht schwer –<br />
bis auf die Än<strong>der</strong>ung <strong>der</strong> einen Operation zur Ermittlung <strong>der</strong> Verbindungen.<br />
Tabelle 10-8 zeigt den Wartungsaufwand für diese Än<strong>der</strong>ung bei den drei <strong>Entwürfe</strong>n.<br />
Klassen Operationen Attribute Aufwand<br />
Gruppe 1 (-) 2 2 2 100<br />
Gruppe 3 (o) 3 3 3 150<br />
Gruppe 7 (+) 2 2 4 110<br />
Tabelle 10-8: Wartungsaufwand für Än<strong>der</strong>ung 2<br />
Än<strong>der</strong>ung 3: Unterschiedliche Fahrpläne für Werktage und Wochenende<br />
Bisher ist <strong>der</strong> Fahrplan für alle Tage gleich. Soll aber zwischen Werktagen und<br />
Wochenende unterschieden werden, sind jeweils zwei Datensätze für die Anfahrtszeiten<br />
an den Endhaltestellen notwendig. Die Fahrplandatei wird dazu entsprechend<br />
erweitert. Außerdem muss die Verbindungsanfrage auch das Datum <strong>der</strong> gesuchten<br />
Verbindung abfragen, um feststellen zu können, welcher Fahrplan gilt.<br />
Von dieser Än<strong>der</strong>ung sind potentiell betroffen:<br />
• das Einlesen und Speichern <strong>der</strong> Fahrplandatei,<br />
• die internen Datenstrukturen zur Repräsentation des Fahrplans,<br />
• die Verbindungssuche und ihre Datenstrukturen,<br />
• die Benutzungsoberfläche zur Verbindungsanfrage,<br />
• die Benutzungsoberfläche zur Anzeige <strong>der</strong> Fahrplandaten sowie<br />
• die Benutzungsoberfläche zum Neuanlegen einer Linie und zur Än<strong>der</strong>ung <strong>der</strong><br />
Abfahrtszeiten.<br />
Die meisten Klassen müssen beim schlechtesten Entwurf geän<strong>der</strong>t werden. Beim besten<br />
und beim mittleren Entwurf sind es gleich viele Klassen, doch sind es beim besten<br />
Entwurf weniger Attribute und Operationen, die zu än<strong>der</strong>n sind. Dies liegt vor allem<br />
an <strong>der</strong> Realisierung <strong>der</strong> Benutzungsoberfläche. Tabelle 10-9 zeigt den Wartungsaufwand<br />
für diese Än<strong>der</strong>ung bei den drei <strong>Entwürfe</strong>n.<br />
Klassen Operationen Attribute Aufwand<br />
Gruppe 1 (-) 6 17 8 475<br />
Gruppe 3 (o) 5 17 17 490<br />
Gruppe 7 (+) 5 10 7 335<br />
Tabelle 10-9: Wartungsaufwand für Än<strong>der</strong>ung 3