Messung Mariem Ben Rehouma
Gliederung Motivation Definition von Messung Metriken Klassifikation von Metriken Beispiele Objektorientierte Metriken Charakteristiken von Messungen Skala-Arten Messungsarten 2
Motivation Zentrale Rolle in empirischer Studien Auswirkung bestimmter Inputs auf das untersuchte Objekt Bedarf der Messung von Inputs und Outputs Input messen, um die Ursache der Auswirkung auf das Output beschreiben zu können. Output messen. Ohne Messung keine (gewünschte) Kontrolle 3
Definition von Messung DeMarco: you cannot control what you cannot measure Fenton90: Measurement is a mapping from the empirical world to the formal, relational world. Consequently, a measure is the number or symbol assigned to an entity by this mapping in order to characterize an attribute Anstatt die reale Entität werden die Messungen untersucht. Metriken sind nötig! 4
Metriken Metrik in der Mathematik Abstand zwischen zwei Dingen (axiomatisch definiert) Softwaremetrik: eine Funktion, die eine Software-Einheit in einen Zahlenwert abbildet. Dieser Wert ist interpretierbar als der Erfüllungsgrad einer Qualitätseigenschaft der Software- Einheit (Quellcode). (IEEE Standard 1061) Metrik: Als Bezeichnung für die gemessene Einheit (LOC) Konkrete Prüfgegenstände und Sollwerte Keine Bewertung der Fehlerfreiheit oder Korrektheit Prognosen über den voraussichtlichen Aufwand und die Menge zu erwartender Fehler. 5
Klassifikation von Metriken Prozess-Metrik: Ressourcen-Aufwand (Mitarbeiter, Zeit, Kosten) Kommunikationsaufwand Produkt-Metrik: Umfang (LOC, Wiederverwendung, Prozeduren,...) Komplexität Lesbarkeit (Stil) Entwurfsqualität (Modularität, Bindung, Kopplung,...) Produktqualität (Testergebnisse, Testabdeckung,...) Projektlaufzeit-Metrik Entwicklungszeit Durchschnittliche Entwicklungszeit Meilenstein-Trend-Analyse Termintreue 6
Beispiele Flexibilität: Leichtigkeit, mit der ein System abgeändert werden kann, um es in Anwendungen oder Umgebungen zu benutzen für die es nicht entwickelt wurde. Metrik: # Abstrakte Klassen+ # Interfaces #Gesamtklassen+ # Interfaces Wertebereich: [0,1], schlecht 0, optimal ein drittel, 1(alles abstrakt, sinnvoll?) 7
Beispiele Korrektheit: Ausmaß, in dem SW ihre Spezifikation erfüllt- Metrik: # erfolgreiche Abnahmetests # Abnahmetests Wertebereich [0,1], schlecht 0, gut > 0.8, optimal 1 8
Beispiel LOC Wie viele LOC hat dieses Programm? public void buyticket() { // Adults pay more if ( isadult ) { // Payment delegated payfullfee(); } else { // all others pay less payreducedfee(); } //In all cases print the ticket printticket(); } alle Zeilen 17 ausführbarer Code 12 +Kommentare 16 Zeilen mit Semikolon 3 9
OO-Metriken Objektorientierte Metriken nach Chidamber und Kemerer: Weighted Methods per Class (WMC) McCabe für alle Methoden der Klasse, addiert. Depth in Inheritance Tree (DIT) Wie viele Oberklassen darüber? Je mehr, desto fehlerbehafteter. Coupling Between Objects (CBO) Anz. Klassen, mit denen kommuniziert wird. Je mehr, desto höhere Kopplung. Diese Metriken werden auf Klassen angewendet. 10
Skala-Arten Nominalskala: Zuordnung einen Namen oder Symbol. Niedrigste Skalenniveau! Mögliche logische bzw. mathematische Operationen: =/ Beispiele: Merkmal Namen / Kategorien Kontotyp Privatkonto, Girokonto Geschlecht Weiblich, männlich 11
Skala-Arten Intervallskala: Abstände zwischen den verschiedenen Merkmalsausprägungen exakt bestimmen. Allerdings existiert kein natürlicher Nullpunkt für die Skala. Quotienten aus Differenzen immer gleich: (a-b)/(c-d) ist also in allen Intervallskalen immer gleich. Wir kennen die Temperaturen von Tag A, Tag B und Tag C. Jetzt bilden wir das Verhältnis der Differenzen: (A-B) / (A-C). Angenommen, das Verhältnis ist 2. Dann wäre eine zulässige Aussage: "Der Temperaturunterschied zwischen Tag A und B ist doppelt so groß wie der Temperaturunterschied zwischen Tag A und C. Beispiel: War es z. B. gestern 10 Grad Celsius und Heute ist es zwanzig Grad, dann kann man zwar behaupten: Es ist zehn Grad Celsius wärmer, aber nicht: Es ist doppelt so warm wie gestern. 12
Skala-Arten Ordinalskala: Ordnungserhaltend, =/ ; </> Formale Bedingungen: Konnexivität: Es gilt entweder a größer b, oder b größer a, oder a gleich b. Transitivität: Wenn a größer b und b größer c, dann muss a größer c gelten. Beispiele: Merkmal Energieeffizienzklassen Einkommen 1 Zufriedenheit mit einem Produkt Kategorie "A" besser als "B" besser als "C" besser als "D" besser als "E" besser als "F" besser als "G" hoch > mittel > niedrig sehr zufrieden > eher zufrieden > eher unzufrieden > sehr unzufrieden 13
Skala-Arten Rationalskala: Höchste Skalenniveau! Im Unterschied zur Intervallskala existiert jedoch ein absoluter Nullpunkt (z. B. Blutdruck, Temperatur in Kelvin, Lebensalter). Einzig bei diesem Skalenniveau sind Multiplikation und Division sinnvoll und erlaubt. Verhältnisse von Merkmalswerten dürfen also gebildet werden (z. B. x = y z). Merkmal Temperatur in Kelvin Preis in Prozentzahlen 0-100 Nullpunkt Absoluter Nullpunkt kostenlos 0 Prozent 14
Charakteristiken von Messungen Bewahrung der empirischen Observation auf das Attribut z.b.: A länger als B Maß A größer als Maß B Validität: Bewahrung der erforderlichen Eigenschaften eines Attributes Reine mathematische Charakterisierung Skala: jeder unterschiedliche Art einer Zuordnung z.b.: Attribut (Länge eines Objektes), Skalen (Meter, Zentimeter, Inch) 15
Charakteristiken Rescaling: Wenn es, bei einer Transformation eines Maßes in ein anders Skala, die Beziehung zwischen den Objekten erhalten bleibt erlaubte (admissible) Transformation Aussagekräftige (meaningful) Statement: wenn sie wahr sind. Sonst sinnlos (meaningless) z.b.: Messen der Länge der Objekte A und B mit 1m bzw. 2m Statement: B ist doppelt zu lang wie A Beim Messen von Temperatur im Raum A und B mit 10C mit bzw. 20C Statement: Raum B ist doppelt zu heiß wie A. Mit rescale von Temperatur auf Fahrenheit-Skala A ist 50F und B ist 68F! 16
Messungsarten Objektiv Subjektiv Direkt Indirekt Kein Urteil auf den gemessenen Wert. Abhängig nur vom Objekt Gleicher Wert bei verschiedenen Messungen Z.B.: LOC Urteil Abhängig vom Objekt und View Kann unterschiedlich sein. Z.B.: Usability Direkt auf das Objekt, unabhängig von anderen Messungen. Abgeleitet von anderen Messungen 17
Beispiel für f r interne und externe Messungen Klasse Objekte Type Maß Produkt Code Intern Umfang Extern Prozess Testen Intern Zuverlässigkeit Aufwand Extern Kosten 18
Zusammenfassung Messen Eigenschaften der realen Welt Zahlen oder Zeichen zuordnen Maß Zuordnung einer Zahl oder Zeichens und einer Einheit (z.b. 1 m) Metrik Prüfgegenstände und Sollwerte Skalen Sehr wichtig in der empirischen Studien für statistische Analyse Bestimmen welche Transformation mit entsprechend skalierten Variablen durchgeführt werden können, ohne Information zu verlieren bzw. zu verändern. Bestimmen welche Information das entsprechende Merkmal liefert, welche Interpretationen Ausprägungen des entsprechenden Merkmals zulassen. 19