170 likes | 404 Views
Referent: Alexander Ott Karl-Jaggy Str. 28 72116 Mössingen. Eberhard-Karls Universität Tübingen Wintersemester 2001/2002 Fakultät für Informatik Dozenten: Jürgen Ruf, Thomas Kropf. Seminar: Pleiten Pech und Pannen in der Informatik . Thema: Qualitätsmetriken für Software. Gliederung.
E N D
Referent: Alexander Ott Karl-Jaggy Str. 28 72116 Mössingen Eberhard-Karls Universität Tübingen Wintersemester 2001/2002 Fakultät für Informatik Dozenten: Jürgen Ruf, Thomas Kropf Seminar:Pleiten Pech und Pannen in der Informatik Thema: Qualitätsmetriken für Software
Gliederung • Was sind Metriken und wofür sind sie gut? • Beispiele: Scud-Rakete auf Dharan /Saudi-Arabien • Kategorien von Metriken und Beispiele • Darstellung der erhaltenen Ergebnisse anhand der Quest/Lime Methode • Zusammenfassung
Was sind Metriken und wofür sind sie gut? „Count what is countable, measure what is measurable, and what is not measurable, make measurable.“ Galileo Galilei Definition nach Grady und Caswell: „a standard way of measuring some attributs of the software development process.“ Anwendungsziele nach Conte, Dunsmore und Shen: „Generally, software metrices are used to characterize the essential features of software quantitatively, so that classification, comparison, and mathematical analysis can be applied.“
Scud-Raketen auf Dahran • Am 25.02.91 traf eine irakische Scud-Rakete eine Kaserne in Dharan / Saudi-Arabien. • 28 Tote, 98 Verletzte • Das Patriot Abwehrsystem hat nicht reagiert • Gründe: Bekannte Fehler, Bedienungsfehler und ein verspätetes Update
Metrikarten Es gibt eine Vielzahl von Möglichkeiten, Metriken zu klassifizieren. Vorgestellt wird die Klassifikation nach Software-Entwicklungsphasen
Metriken für die Anforderrungsanalyse • Vollständigkeitsmaße (funktionale / informelle) • Lesbarkeitsmaße • Flesh-Kincaid-Index:
Spezifikations-Metriken • Albrechts-Metrik / Function Points • fachlicher Inhalt wird in Grundfunktionen zerlegt • Grundfunktionen werden drei Schwierigkeitsstufen zugeordnet • Schwierigkeitsstufen mit Function Points bewertet • Function Points werden gewichtet
FP Werte bei IBM Quelle: Dumke, S. 59
Design-Metriken • Bezug auf Systementwurf • Komplexitätsmaße • Verschiedene Design-Metrik-Typen: • Intra-modulare Metriken • Inter-modulare Metriken • Inter- und intra-modulare Metriken
Code-Metriken • Bezug auf Code, bzw. dessen Darstellung als Graph • statische Maße • Beispiel: • Umfang oder Längenmaße: • LOC • Err / LOC
Beispiel: Die Halstead-Metrik Software Science • 4 einfach zu bestimmende Ausgangsgrößen liefen zahlreiche Ergebnisse: • Programmlänge • Programmumfang • Programmieraufwand • Schwierigkeitsgrad • Zeitaufwand • ...
Beispiel: Die McCabe-Metrik • Berechnet die Zahl der (linear unabhängigen) Programmpfade eines Programmflußgraphen G
Beispiel eines Programmflußgraphen Quelle: Dumke S. 102 Linear unabhängige Programmpfade: (abefa), (beb), (abea), (acfa), (adcfa) (Die Programmpfade müssen streng zusammenhängend sein, deshalb wurde die Kante (fa) hinzugefügt)
Test-Metriken • Messung der Korrektheit des Testniveaus • Messung der Software-Zuverlässigkeit Wartungs-Metriken • Aufwandsmetriken • änderungs- und fehlerbezogene Metriken • Zweck: Verifizierung und Optimierung der im Laufe der Entwicklung angewandten Metriken.
Darstellung der Ergebnisse anhand der Quest/Lime Methode • 3 Qualitätsachsen für jedes Software Produkt: • Wirtschaftlich / Standpunkt des Managers • Sozial / Standpunkt des Anwenders • Technisch / Standpunkt des Entwicklers Quelle: Buglione / Abram S.16
Lime-Modell • Ausweiten des Quest-Ansatzes auf die gesamte Entwicklungsdauer • Dokumentation von Verbesserung • Schaffung einer Vergleichsdatenbasis Quelle: Buglione / Abram S.18
Zusammenfassung • Metriken wirken sich nicht sofort aus • Metriken geben eine Möglichkeit für Vergleiche • Metriken liefern Abschätzungen für Dauer, Kosten, etc. • Metriken sind Instrumente die dem Projektmanagement Entscheidungshilfen liefern