Softwaremetriken. 15. Mai 2013

Ähnliche Dokumente
Softwaremetriken. 29. April 2015

Analysierende Testverfahren

Statische Code-Analyse: Software-Metriken Fernstudium Master Wirtschaftsinformatik Formale Methoden

Programmverstehen 2: Wie ist das System-Design? Dr. Thorsten Arendt Marburg, 04. Dezember 2014

Software-Metriken. Dipl.-Ing.(BA) Henning Sievert Seminar Software-Entwurf WS 2004/05

Software-Metriken. B. Sc. Michael Thomas. Seminar Software-Entwurf WS 2004/05.

Verwendung von OO-Metriken zur Vorhersage

0/28. Software-Metriken. Andreas Zeller. Lehrstuhl Softwaretechnik Universität des Saarlandes, Saarbrücken

Software Engineering. Verwendung von Softwaremetriken

Software-Metriken. Wolfgang Globke. Seminar Moderne Softwareentwicklung SS Software-Metriken. Wolfgang Globke. Metriken und Qualitätsmodelle

VI. Die Bedeutung der Komplexität 83. VI. Die Bedeutung der Komplexität

Softwarequalität. 20. Januar 2015

Softwaremessung und -metrik

Softwaremetriken verstehen und nutzen

Messung. Mariem Ben Rehouma

Inhalt Software-Metriken Software-Metriken mit Together FindBugs. Software-Metriken

Software Engineering in der Praxis

Inhalt Software-Metriken Software-Metriken mit Together FindBugs. Software-Metriken. Raimar Lill Matthias Meitner David Föhrweiser Marc Spisländer

Verwendung von objektorientierten Metriken zur Softwarequalitätsvorhersage. Arno Egger,

Comparison of Software Products using Software Engineering Metrics

Womit wir uns beschäftigen

1 Einleitung 1. 2 Grundkonzepte 11

Relevante Metriken zur Bestimmung von Softwarequalität

Marc Monecke Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D Siegen

Qualitätsmanagement im Projekt

Qualitätssicherung von Software (SWQS)

Software Tests (2) Quellcode Reviews

Vorlesung Software-Reengineering

ISIS. Das Navigationssystem für angemessene Qualität und hohe Effizienz

Nachweis von Feature Freezes durch Clustering

Software Engineering. 13. Automatische Code Analyse. Franz-Josef Elmer, Universität Basel, WS 2005/06

Softwaretechnik (Allgemeine Informatik) Überblick

Softwaremetriken verstehen und nutzen

Quantifizierung nicht-funktionaler Anforderungen JURISTISCHES IT-PROJEKTMANAGEMENT WS1617 DOZENT: DR. FRANK SARRE LMU MÜ NCHEN ZHENHAO LI

Software- Qualitätsmanagement

Software-Refactoring. 29. Mai 2013

Software-Refactoring. 27. Mai 2015

Inhalt. 1 Einleitung 1. 2 Grundkonzepte Erfahrungen systematisch nutzen 39

Qualitätssicherung von Software

Eine Untersuchung zum Metrikeinsatz in der Industrie

Inhaltsverzeichnis. Teil I Grundlagen 1

Messen & Metriken Ist Qualität messbar? André Fleischer

Notwendigkeit der Testautomatisierung? Neue Ideen, Konzepte & Werkzeuge

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken

Aktuelle Themen der Informatik Metriken für den Softwaretest

Vorlesung Software-Reengineering

Testen und Metriken. Einige Fehler. Fehler vermeiden. Andreas Zeller Universität des Saarlandes Microsoft Research.

T4 Statischer Test. Siemens AG Österreich 2005 All Rights Reserved. Statischer Test - Allgemein. Kennzeichen: Testen, ohne das Testobjekt auszuführen

Softwarequalität: Zusammenfassung und Ausblick. 17. Juli 2013

Testautomatisierung. Lessons Learned. qme Software. Gustav-Meyer-Allee Berlin. Telefon 030/ Telefax 030/

Software- Qualitätssicherung

Systematisches Testen von Software

Qualitätssicherung. Was ist Qualität?

Werkzeugunterstützte Betrachtungen von Software-Qualität und -Architekturen

Begleitvorlesung zum Softwaretechnikpraktikum SS 2003

Systematisches Testen der Funktionalität von Softwaresystemen. 17. Juni 2015

SE2-6. Übung Johannes Bürdek

Jan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo. Statische Codeanalyse wirklich effektiv nutzen

Das Wasserfallmodell - Überblick

25. GI-TAV-Treffen 15. Februar 2007 Düsseldorf. Softwareprüfung gestern und heute: Theorie und Erfahrung, Standards und Common Sense

Vorlesung Empirische Softwaretechnik. Ökonomisches Modell zur Bewertung von XP-Projekten. Worum geht es?

Echolot Qualitätssicherung mit Sonar

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

Vorlesung Software-Reengineering

Verbundtests von Mobilgeräten und Backend-Systemen. Andreas Bartsch, exept Software AG

CMM Level 5 Markus Mattes. Markus Mattes CMM Level 5 1

Grundlagen des Software Engineering

Softwareentwicklung nach Maß

Der Testreport. Was soll, was darf und was muss drinstehen?

Vorlesung Software-Reengineering

Implementierung erster Klasse - Code Qualität in PL/SQL

Softwaretechnik. Überblick I. Prof. Dr. Rainer Koschke. Sommersemester 2008

Testwell CTC++ Test Coverage Analyser Testabdeckung für alle Coverage-Stufen, alle Compiler, alle Embedded Targets

Entwicklungsmethoden

Software Qualität. Dipl.Ing. Reinhard Prehofer, Dipl.Ing. Bernhard Wachter Wien, im September 2008

BSSE. Innovation & Fortschrittliche Software-Technologie Fähigkeiten & Dienstleistungen

Software Engineering I Prof. Dr. Martin Glinz. Kapitel 2. Zielsetzung, Messung. Universität Zürich Institut für Informatik

Vorlesung Software-Reengineering

Softwarequalität und -test

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12

Was bringt TDD wirklich?

Software Projekt 2 / Gruppe Knauth Lernziele:

Pflichtlektüre hierzu: Kosten und Nutzen von UML in der Wartung. Kontrolliertes Experiment zu UML. Warum UML?

Weiterentwicklung Wartung Migration, Out-Tasking von Software. Termin-gerecht und im Budget! mit ITP-PANORAMA

Inhalt. Zusammenfassung Abstract LOC. Seminar Qualitative und Quantitative Methoden im Software Engineering

Software Engineering II (IB) Testen von Software / Modultests

Notationen zur Prozessmodellierung

Empirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010

Prozesse Last oder Lust?

Testen mit JUnit. Motivation

Thema: Testen von objektorientierter Software

Validierung und Verifikation!

Die Goal-Question-Metric-Methode (GQM)

Testaufwandschätzung. Seminar: Software-Qualitätssicherung Yi Tan 08.Juli.2008

Software-Metriken: Purismus vs. Pragmatismus

Transkript:

Softwaremetriken 15. Mai 2013

Was sind Softwaremetriken? Softwaremetriken messen Qualität. besser: Softwaremetriken definieren, wie Kenngrößen der Software oder des Softwareentwicklungsprozesses gemessen werden. Wichtige Fragen: Was kann das Messen bringen? Wer möchte messen? Was kann man messen? Wie muss man messen? Welche Verfahren gibt es? Taentzer Softwarequalität 2013 45

Vor- und Nachteile von SW-Metriken Vorteile: Softwareentwicklung wird vorhersagbarer. Auf mögliche Schwachstellen wird hingewiesen. Test- und Wartungsaufwand beurteilen erzieherischer Effekt auf die Entwickler Nachteile: möglicherweise Messen ohne Ziel Nutzen von Metriken oft nicht klar Abwehrhaltung der Entwickler subjektiver Einfluss der Prüfer möglich Taentzer Softwarequalität 2013 46

Wer möchte messen? Manager: Wie hoch sind die Entwicklungskosten? Wie produktiv sind die Mitarbeiter? Werden die Anwender mit dem Produkt zufrieden sein? Entwickler: Sind die Anforderungen testbar? Haben wir alle Fehler gefunden? Wie gut ist der entwickelte Code? Ist die Software wartbar? Taentzer Softwarequalität 2013 47

Was kann man messen? Ziel: Effektivität eines Kodierstandards Fragen: Wer benutzt den Standard? Wie hoch ist die Produktivität? Wie hoch ist die Code-Qualität? Metriken: Anteil der Entwickler, die -die Sprache -den Standard benutzen Erfahrung der Entwickler mit - der Sprache -dem Standard - der Umgebung -etc. Codezeilen, Aufwandsabschätzung Taentzer Softwarequalität 2013 48

Szenario: Messen von Produktivität Wie kann man die Produktivität eines Entwicklers testen? Anzahl von Codezeilen pro Zeiteinheit: Fred schreibt in 100 Tagen 5000 Zeilen Code. P = 50 LOC / day Fred verdoppelt sein Programm, ohne Funktionalitätsänderung. P = 100 LOC / day Was wird hier gemessen? Probleme: Wie ist die Anzahl von Codezeilen definiert? Exaktheit? Dieses Maß ist sprachabhängig. Vergleichbarkeit? Entwickler haben eigene Programmierstile. Normierung? Taentzer Softwarequalität 2013 49

Szenario: Messen von Produktivität (2) Funktionspunktanalyse: Anzahl der Funktionspunkte pro Zeiteinheit: Kategorien: Ein- /Ausgabedaten, Abfragen, Datenbestände, Referenzdateien Klassifikation: einfach, mittel, komplex Einflussfaktoren: Kommunikation, Verarbeitungslogik, Vorteile: misst den Wert des Outputs frühzeitig einsetzbar kann den Umfang von SW- Projekten messen kann Fortschritt messen technologieunabhängig Nachteile: stärkerer Messaufwand (Dokumentation) Taentzer Softwarequalität 2013 50

Szenario: Validation eines SW-Produkts Welche Testmetriken gibt es? Testkosten: Zahl der erforderlichen Tests Testbarkeit des Testobjekts Bisherige Testproduktivität Testfälle: Quantität: Ist-Testfälle/ Soll-Testfälle Komplexität: Testdaten, Intensität (Testfälle/Zielfunktion) Qualität: Wiederverwendbarkeit (Anteil der automat. Testfälle), Überdeckung bzgl. Spezifikation, Code Überdeckung durch Tests: Code: getestete Kontrollflusspfade/ alle Pfade Benutzerhandbuch: getestete Funktionen / alle dok. Funktionen Taentzer Softwarequalität 2013 51

Statische, konventionelle Metriken LOC - Anzahl der Codezeilen leicht zu messen Umfang variiert mit der Sprache, Programmierstil, etc. Halstead - Umfang von Ausdrücken Anzahl der Operatoren und Operanden komplexe Strukturen nicht berücksichtigt McCabe Komplexität von Programmstrukturen Anzahl der binären Verzweigungen plus 1 je komplexer das Programm, desto höher das Risiko nicht uneingeschränkt für OO-Programme einsetzbar (zahlreiche einfache Methoden) Hybride Metriken Kombination von mehreren Metriken Taentzer Softwarequalität 2013 52

Objektorientierte SW-Metriken DIT Depth of Inheritance Tree Anzahl der Oberklassen: Je mehr, desto fehleranfälliger NOC Number Of Children Anzahl der direkten Unterklassen: Je mehr, desto besser der Code (hohe Wiederverwendung). RFC Response For a Class Anzahl d. eigenen + aufgerufenen Methoden: Je mehr, desto fehleranfälliger WMC Weighted Method per Class Anzahl der definierten Methoden: Je mehr, desto fehleranfälliger CBC Coupling Between Classes Anzahl der benutzten Klassen: Je mehr, desto fehleranfälliger Taentzer Softwarequalität 2013 53

SW-Metriken in der Industrie Welche Metriken werden eingesetzt? Größen- und Umfangsmetriken häufig, OO-Metriken wenig Testmetriken sehr häufig: Festlegung des Testprozesses Spezielle Metrik-Werkzeuge werden selten eingesetzt Datenbank mit Tabellenkalkulation Analyse und Interpretation der Ergebnisse werden als problematisch empfunden. von den Entwicklern für das Projektmanagement durchgeführt Angst vor Kontrolle Welche Gründe können gegen den Einsatz von Metriken sprechen? Taentzer Softwarequalität 2013 54

Kritik Das, was interessiert, kann man nicht direkt messen: die Qualität eines Produkts. Ausweg: Hypothesen, die auf Qualitätsmodellen basieren, Kombination ausgewählter messbarer Größen führt zu qualitativen Aussagen Zusammenhänge zwischen qualitativen und quantitativen Aussagen sind zum Teil recht simpel. Die Ergebnisse der Messungen müssen geeignet interpretiert werden: rückblickend: Hauptfokus auf Anomalien planend: grobe Schätzung von Aufwand Taentzer Softwarequalität 2013 55

Schlußbemerkungen SW-Metriken definieren, wie Kenngrößen der SW oder des SW-Prozesses gemessen werden. Ziele für SW-Metriken: Verstehen, Kontrollieren, Vorhersagen Erfolgskriterien für SW-Metriken: exakte Messungen, automatisiert, Fokus auf Prozess / Produkt Literaturempfehlungen: Fenton, Pfleeger: Software Metrics, PWS Publishing Company, 1997 Testmetriken für die Kalkulation der Testkosten und die Bewertung der Testleistung: pi.informatik.uni-siegen.de/stt/ 23_4/01_Fachgruppenberichte/TAV/P3Sneed1TAV20.pdf Taentzer Softwarequalität 2013 56