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
136 10 Ein spezifisches Qualitätsmodell cken. Bei der Verbindungssuche können verschiedene Optimierungsziele angegeben werden, z. B. kürzeste Fahrtzeit oder möglichst wenige Umsteigehaltestellen. Im Administratormodus können die Fahrplandaten verändert werden, z. B. können neue Linien hinzugefügt werden. Als Beispielsdatenbasis stand den Studierenden ein Auszug aus dem Fahrplan des Verkehrsverbunds Stuttgart (VVS) zur Verfügung. In Tabelle 10-1 sind einige Kennzahlen der zwölf Projekte angegeben (graphisch aufbereitet in Abbildung 10-1): • Java-Dateien: Anzahl der Java-Dateien der Implementierung. Die Anzahl der Java- Dateien dient zur Abschätzung der Anzahl der implementierten Klassen und Interfaces. • Codezeilen: Anzahl der Java-Codezeilen der Implementierung. Die Codezeilen enthalten auch Leerzeilen und Kommentare. Da die Gruppen unterschiedlich viel Kommentare im Code haben, kommt es hier zu einer großen Varianz. • Projektaufwand (in Personenstunden): der gesamte Aufwand des Teams für die Durchführung des Projekts. Beim Projektaufwand ist ein größerer Messfehler möglich, da die Zahlen auf den Angaben der Teilnehmer beruhen und diese teilweise erst nach Ende des Projekts ihren Aufwand geschätzt haben. Gruppe Java-Dateien Codezeilen Projektaufwand (h) 1 21 6795 486 2 21 4029 331 3 25 5671 577 4 26 4661 455 5 27 8488 693 6 34 7450 498 7 38 5458 333 8 39 7826 510 9 42 8946 485 10 43 6907 610 11 47 9734 447 12 56 8804 581 Durchschnitt 35 7064 501 Minimum 21 4029 331 Median 36 7178 492 Maximum 56 9734 693 Tabelle 10-1: Projektkennzahlen der Gruppen 10.1.2 Faktoren und Kriterien Um die zwölf Entwurfsalternativen vergleichen zu können, ist es am praktischsten, mittels des speziellen Qualitätsmodells eine einzige Qualitätskennzahl zu berechnen, anhand der eine Rangfolge der Alternativen bestimmt werden kann.
10.1 Ableitung des Qualitätsmodells 137 Java−Dateien Projektaufwand (h) 60 55 50 45 40 35 30 25 20 15 10 5 0 700 600 500 400 300 200 100 0 1 2 3 4 5 6 7 8 9 10 11 12 Gruppe 1 2 3 4 5 6 7 8 9 10 11 12 Gruppe Abbildung 10-1: Projektkennzahlen nach Gruppen 1 2 3 4 5 6 7 8 9 10 11 12 Bei den Qualitätsanforderungen in Abschnitt C.2.8 werden genannt: Bedienbarkeit, Portabilität und Wartbarkeit. Bedienbarkeit gehört nicht zu dem von QOOD betrachteten Qualitätsbereich, daher kann sie hier nicht bewertet werden. Die Portabilität ist bei allen Entwürfen gleich gut, da die Implementierungssprache Java so verwendet wurde, dass keine Abhängigkeiten zur Plattform oder zu anderen Systemen bestehen. Daher konzentriert sich das spezifische Qualitätsmodell auf den Faktor Wartbarkeit. Innerhalb der Wartbarkeit werden bei den Anforderungen keine Schwerpunkte gesetzt. Daher werden alle Kriterien des allgemeinen Modells zur Wartbarkeit unverändert übernommen. Als Perspektive wird die des Entwicklers gewählt. Bei keinem der Entwürfe ist Information zur Verfolgbarkeit von Anforderungen vorhanden. Allenfalls durch die Benennung der Klassen gibt es implizite Hinweise auf die Anforderungen. Weil die Verfolgbarkeit damit einheitlich mit 0 = sehr schlecht bewertet werden muss, wird sie bei der weiteren Bewertung ausgeblendet. Codezeilen 10000 9000 8000 7000 6000 5000 4000 3000 2000 1000 0 Gruppe
- Seite 95 und 96: 7.3 Entwurfsregeln 85 Prinzip Besch
- Seite 97 und 98: 7.3 Entwurfsregeln 87 7.3.2 Heurist
- Seite 99 und 100: 7.4 Beispiele für OOD-Qualitätsmo
- Seite 101 und 102: 7.4 Beispiele für OOD-Qualitätsmo
- Seite 103 und 104: 7.4 Beispiele für OOD-Qualitätsmo
- 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: Kapitel 10 Ein spezifisches Qualit
- 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 und 158: 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
10.1 Ableitung des <strong>Qualität</strong>smodells 137<br />
Java−Dateien<br />
<strong>Projekt</strong>aufwand (h)<br />
60<br />
55<br />
50<br />
45<br />
40<br />
35<br />
30<br />
25<br />
20<br />
15<br />
10<br />
5<br />
0<br />
700<br />
600<br />
500<br />
400<br />
300<br />
200<br />
100<br />
0<br />
1 2 3 4 5 6 7 8 9 10 11 12<br />
Gruppe<br />
1 2 3 4 5 6 7 8 9 10 11 12<br />
Gruppe<br />
Abbildung 10-1: <strong>Projekt</strong>kennzahlen nach Gruppen<br />
1 2 3 4 5 6 7 8 9 10 11 12<br />
Bei den <strong>Qualität</strong>sanfor<strong>der</strong>ungen in Abschnitt C.2.8 werden genannt: Bedienbarkeit,<br />
Portabilität und Wartbarkeit. Bedienbarkeit gehört nicht zu dem von QOOD betrachteten<br />
<strong>Qualität</strong>sbereich, daher kann sie hier nicht bewertet werden. Die Portabilität ist<br />
bei allen <strong>Entwürfe</strong>n gleich gut, da die Implementierungssprache Java so verwendet<br />
wurde, dass keine Abhängigkeiten zur Plattform o<strong>der</strong> zu an<strong>der</strong>en Systemen bestehen.<br />
Daher konzentriert sich das spezifische <strong>Qualität</strong>smodell auf den Faktor Wartbarkeit.<br />
Innerhalb <strong>der</strong> Wartbarkeit werden bei den Anfor<strong>der</strong>ungen keine Schwerpunkte<br />
gesetzt. Daher werden alle Kriterien des allgemeinen Modells zur Wartbarkeit unverän<strong>der</strong>t<br />
übernommen. Als Perspektive wird die des Entwicklers gewählt.<br />
Bei keinem <strong>der</strong> <strong>Entwürfe</strong> ist Information zur Verfolgbarkeit von Anfor<strong>der</strong>ungen vorhanden.<br />
Allenfalls durch die Benennung <strong>der</strong> Klassen gibt es implizite Hinweise auf<br />
die Anfor<strong>der</strong>ungen. Weil die Verfolgbarkeit damit einheitlich mit 0 = sehr schlecht<br />
bewertet werden muss, wird sie bei <strong>der</strong> weiteren <strong>Bewertung</strong> ausgeblendet.<br />
Codezeilen<br />
10000<br />
9000<br />
8000<br />
7000<br />
6000<br />
5000<br />
4000<br />
3000<br />
2000<br />
1000<br />
0<br />
Gruppe