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
10 2 Modelle und Metriken Eine Produktmetrik ist ein spezielles Modell für Software. Das Abbild ist meistens ein einzelner Wert, in der Regel eine Zahl. Es findet also eine sehr starke Verkürzung statt. Durch die Reduktion auf einen Wert (d. h. Abstraktion) sind Eigenschaften einer Software leichter zu erkennen. Die Pragmatik einer Metrik ist unterschiedlich. Häufig will man durch Erheben einer Metrik bestimmte Eigenschaften feststellen. Misst man mehrfach über die Zeit, kann man auch Trends erkennen. Beispielsweise ist es sinnvoll, während der Software-Entwicklung regelmäßig den Umfang des entstehenden Produkts zu messen, um Verzögerungen gegenüber dem Plan erkennen zu können. Eine Metrik ist formal gesehen eine Abbildung (Homomorphismus) eines empirischen Relationensystems auf ein formales Relationensystem (in der Regel ein numerisches System). Kriz (1988) verdeutlicht den Zweck der Metrik: Durch die Abstraktion der Metrik kann man zu Erkenntnissen gelangen, die wegen der Beschränktheit des menschlichen Denkvermögens (Verständnisbarriere) am Original nur schwer oder gar nicht zu finden sind (siehe Abbildung 2-2). Empirisches Relationensystem Verständnisbarriere Ergebnis (empirisch relevant) Messung Interpretation Formales Relationensystem Statistik/ Mathematik Ergebnis (numerisch) Abbildung 2-2: Messprozess nach Kriz (Abbildung nach Zuse, 1994, S. 137) Das formale Relationensystem hat eine wichtige Eigenschaft: die Zulässigkeit bestimmter mathematischer Operationen. Diese werden durch den Skalentyp des Systems charakterisiert. Fenton und Pfleeger (1996) unterscheiden die folgenden Skalentypen: Nominalskala, Ordinalskala, Intervallskala, Rationalskala und Absolutskala. Tabelle 2-1 zeigt die Eigenschaften der Skalen und die Unterschiede. Zählmetriken, die in dieser Arbeit eine wichtige Rolle spielen, sind Metriken mit Absolutskala. Da sich ihr Wertebereich auf die natürlichen Zahlen beschränkt, sind einige Operationen wie z. B. die Bildung von Durchschnitten eigentlich nicht mehr möglich. Daher bettet man den Wertebereich sinnvollerweise in die rationalen Zahlen ein, um besser rechnen zu können. 2.2.2 Verwendung Using some metrics is better than using no metrics. (Pfleeger, 2000, S. 225) Wie wichtig Metriken für die qualitativ hochwertige Software-Entwicklung sind, zeigt die Tatsache, dass im Capability Maturity Model (CMM, Humphrey, 1988) bereits ab Stufe 2 (repeatable) der Einsatz von Metriken verlangt wird.
2.2 Metriken 11 Merkmalsart Qualitative Merkmale Quantitative Merkmale NominalOrdinal- (kontinuierliche oder diskrete) merkmalmerkmal Skalentyp Topologische Skalen Kardinalskalen (Metrische Skalen) Definierte Beziehungen Interpretation der hinzukommendenBeziehungen Zugelassene Transformationen Beispiele für Merkmale Beispiele für statistische Kennwerte Statistische Verfahren InformationsinhaltEmpfindlichkeit gegenüber Ergebnisabweichungen Nominalskala Ordinalskala Intervallskala Rationalskala Absolutskala =, ≠ =, ≠ Unterscheidung gleich/ ungleich möglich umkehrbar eindeutige (bijektive) Postleitzahlen AutokennzeichenArtikelnummern Symbole Fehlerursachen (IEEE Std. 1044- 1993, S. 9) Modalwert Häufigkeiten Unterscheidung kleiner/ größer möglich monoton steigende (isotone) Schulnoten Militärische Dienstgrade Mercallische Erdbebenskala Windstärke Beaufort Prozessreifegrad (CMM) Quantile (Median, Quartile, …) =, ≠ +, - Differenzen haben empirischen Sinn lineare (y=ax+b, a>0) Celsius- Temperatur Kalenderdatum zyklomatische Komplexität (McCabe,1976) arithmetischerMittelwertStandardabweichung =, ≠ +, - *, / Verhältnisse haben empirischen Sinn Ähnlichkeitstransform. (y=ax, a>0) Kelvin- Temperatur Einkommen Richtersche Erdbebenskala Windgeschw. m/s Projektdauer geometrischerMittelwertVariationskoeffizient =, ≠ +, - *, / – Identität (y=x) Teamgröße Fehlerzahl Lines of Code wie Rationalskala, wenn der Wertebereich in die rationalen Zahlen eingebettet wird nichtparametrische parametrische, unter Beachtung der Modellvoraussetzungen gering hoch gering hoch Tabelle 2-1: Übersicht über die Skalentypen (nach DIN 55350, Teil 12, S. 11, erweitert um die Absolutskala)
- Seite 1: Bewertung der Qualität objektorien
- Seite 5 und 6: Zusammenfassung In der Software-Ent
- Seite 7 und 8: Inhaltsverzeichnis 1 Danksagung....
- Seite 9 und 10: 12 Zusammenfassung und Ausblick....
- Seite 11 und 12: Kapitel 1 Einführung Design is one
- Seite 13 und 14: 1.2 Zielsetzung 3 Messverfahren. Da
- Seite 15 und 16: 1.4 Übersicht 5 Das allgemeine Qua
- Seite 17 und 18: Kapitel 2 Modelle und Metriken In d
- Seite 19: 2.2 Metriken 9 2.1.2 Beispiele […
- Seite 23 und 24: 2.2 Metriken 13 Definition 2-2 (qua
- Seite 25 und 26: Kapitel 3 Objektorientierung What i
- Seite 27 und 28: 3.1 Begriffe 17 Klasse Person mit A
- Seite 29 und 30: 3.1 Begriffe 19 3.1.5 Abstrakte Kla
- Seite 31 und 32: 3.2 Unified Modeling Language 21 3.
- Seite 33 und 34: Kapitel 4 Objektorientierter Entwur
- Seite 35 und 36: 4.1 Was ist Entwurf? 25 rungen im C
- Seite 37 und 38: 4.2 Klassifikationen des Entwurfs 2
- Seite 39 und 40: 4.2 Klassifikationen des Entwurfs 2
- Seite 41 und 42: 4.3 Muster und Rahmenwerke 31 und P
- Seite 43 und 44: 4.3 Muster und Rahmenwerke 33 Kateg
- Seite 45 und 46: 4.5 Probleme des Entwurfs 35 Lösun
- Seite 47 und 48: 4.5 Probleme des Entwurfs 37 Kompon
- Seite 49 und 50: 4.5 Probleme des Entwurfs 39 Aufgab
- Seite 51 und 52: 4.5 Probleme des Entwurfs 41 • di
- Seite 53 und 54: Kapitel 5 Ein Referenzmodell für d
- Seite 55 und 56: 5.2 Umfang 45 Abbildung 5-2: UML-Me
- Seite 57 und 58: 5.2 Umfang 47 5.2.2 Erweiterungen N
- Seite 59 und 60: 5.3 Kern 49 und I muss in genau ein
- Seite 61 und 62: 5.3 Kern 51 • uses: C × (C ∪ I
- Seite 63 und 64: 5.4 Erweiterungen 53 5.4.2 Erweiter
- Seite 65 und 66: 5.5 Formale Definition von Metriken
- Seite 67 und 68: 5.5 Formale Definition von Metriken
- Seite 69 und 70: Kapitel 6 Softwarequalität Quality
2.2 Metriken 11<br />
Merkmalsart Qualitative Merkmale Quantitative Merkmale<br />
NominalOrdinal- (kontinuierliche o<strong>der</strong> diskrete)<br />
merkmalmerkmal Skalentyp Topologische Skalen Kardinalskalen (Metrische Skalen)<br />
Definierte<br />
Beziehungen<br />
Interpretation<br />
<strong>der</strong> hinzukommendenBeziehungen<br />
Zugelassene<br />
Transformationen<br />
Beispiele für<br />
Merkmale<br />
Beispiele für<br />
statistische<br />
Kennwerte<br />
Statistische<br />
Verfahren<br />
InformationsinhaltEmpfindlichkeit<br />
gegenüber<br />
Ergebnisabweichungen<br />
Nominalskala Ordinalskala Intervallskala Rationalskala Absolutskala<br />
=, ≠ =, ≠<br />
<br />
Unterscheidung<br />
gleich/<br />
ungleich möglich<br />
umkehrbar<br />
eindeutige<br />
(bijektive)<br />
Postleitzahlen<br />
AutokennzeichenArtikelnummern<br />
Symbole<br />
Fehlerursachen<br />
(IEEE<br />
Std. 1044-<br />
1993, S. 9)<br />
Modalwert<br />
Häufigkeiten<br />
Unterscheidung<br />
kleiner/<br />
größer möglich<br />
monoton<br />
steigende<br />
(isotone)<br />
Schulnoten<br />
Militärische<br />
Dienstgrade<br />
Mercallische<br />
Erdbebenskala<br />
Windstärke<br />
Beaufort<br />
Prozessreifegrad<br />
(CMM)<br />
Quantile<br />
(Median,<br />
Quartile, …)<br />
=, ≠<br />
<br />
+, -<br />
Differenzen<br />
haben empirischen<br />
Sinn<br />
lineare<br />
(y=ax+b, a>0)<br />
Celsius-<br />
Temperatur<br />
Kalen<strong>der</strong>datum<br />
zyklomatische<br />
Komplexität<br />
(McCabe,1976)<br />
arithmetischerMittelwertStandardabweichung<br />
=, ≠<br />
<br />
+, -<br />
*, /<br />
Verhältnisse<br />
haben empirischen<br />
Sinn<br />
Ähnlichkeitstransform.<br />
(y=ax, a>0)<br />
Kelvin-<br />
Temperatur<br />
Einkommen<br />
Richtersche<br />
Erdbebenskala<br />
Windgeschw.<br />
m/s<br />
<strong>Projekt</strong>dauer<br />
geometrischerMittelwertVariationskoeffizient<br />
=, ≠<br />
<br />
+, -<br />
*, /<br />
–<br />
Identität<br />
(y=x)<br />
Teamgröße<br />
Fehlerzahl<br />
Lines of Code<br />
wie Rationalskala,<br />
wenn<br />
<strong>der</strong> Wertebereich<br />
in die<br />
rationalen<br />
Zahlen eingebettet<br />
wird<br />
nichtparametrische parametrische,<br />
unter Beachtung <strong>der</strong> Modellvoraussetzungen<br />
gering hoch<br />
gering hoch<br />
Tabelle 2-1: Übersicht über die Skalentypen<br />
(nach DIN 55350, Teil 12, S. 11, erweitert um die Absolutskala)