SE-Themen, für die sich Experimente lohnen
description
Transcript of SE-Themen, für die sich Experimente lohnen
SE-Themen, für die sich Experimente lohnen
Nazli Soltani
7.12.2005
Themen von SE Experimente
2/27Nazli Soltani
Gliederung Experimente Aktuelle Experimente (2005)
eXtreme Programmierung Paar-Programmierung Test First
relativ neue Experimente (1996) Reading Technik
Code Reading vs Functional Testing vs Structural Testing
Cleanroom vs non-Cleanroom Senario Based Reading
Ältere Experimente (1986) Studentisches Beispiel
Themen von SE Experimente
3/27Nazli Soltani
Experiment Experiment ist :
"a form of empirical study where the researcher has a control over some of the conditions in which the study takes place and control over the independent variables being studied (execution and measuremnet controls) „
Vivtor R. Basili 1999
“Experimentation provides a systematic, disciplined, quantifiable and controlled way of evaluating humanbased activities”
Wholin 2000
Themen von SE Experimente
4/27Nazli Soltani
Experiment Experimente :
kontrollierte Experimente über kleine Objekte in vitro Anfänger und Experten
quasi-experiments oder pre-experimental designs
große Projekte in vivo mit Experten involvieren meistens eine qualitative Analyse
Themen von SE Experimente
5/27Nazli Soltani
Experimentieren die Wissenschaftler genug? Eine Zusammenfassung von 612
Veröffentlichungen im SE (Zelkowitz, 1997): 30% davon beinhalteten keine Experimente,
obwohl es notwendig war.(20% in andere Wissenschaften)
Eine Zusammenfassung von 400 Veröffentlichungen (Tichy, 1995): 40% davon beinhalteten keine Experimente
und die brauchten empirische Bewertung.
Themen von SE Experimente
6/27Nazli Soltani
Warum Experimentieren die Wissenschaftler nicht genug? Die meisten behaupten:
Es gibt genug Experimente Informatiker sehen ihre
Behauptungen nicht kritisch genug.
Experimente sind zu teuer gute Planung minimiert die
Kosten gute Experimente sind die
höhen Kosten wert
Themen von SE Experimente
7/27Nazli Soltani
Experimentieren die Wissenschaftler genug? Die Experimente
verlangsamen die Prozesse mehrere Veröffentlichungen mit
bedeutungsvoller Bewertungen beschleunigen den Prozess
„Technology changes too fast“ die Frage ist sehr schnell
irrelevant die Frage ist nicht genau definiert Es war von Anfang an nicht die
Mühe wert.
Themen von SE Experimente
8/27Nazli Soltani
Aktuelle Experimente : eXtreme Programmierung
eXtreme Programming die bekannteste Agile Methode am sorgfältigsten untersuchten Praktiken von
XP: Paar-Programmierung und Testgetriebene -Entwicklung.
Eine Zusammenfassung von durchgeführten Experimenten
Universität Karlsruhe 2005 Walter F. Tichy, Matthias M. Müller, und Frank Padberg
Fakultät für Informatik
Themen von SE Experimente
9/27Nazli Soltani
Paar Programmierung
3 Szenarien : Paar-Programmierung :
2 Entwickler vor einem Rechner Partner-Programmierung :
2 Entwickler vor 2 Rechnern lösen die Aufgabe in konventioneller Gruppenarbeit
Einzel-Programmierung : ein Entwickler löst die Aufgabe allein
Themen von SE Experimente
10/27Nazli Soltani
Paar Programmierung
Quantitativen Studien ökonomische Aspekte Ausgleich der verdoppelten
Entwicklungs-Kosten durch die schnellere Entwicklung und die bessere Qualität
Qualitative Studien soziale Effekte Auswirkung auf die Lehre
Themen von SE Experimente
11/27Nazli Soltani
Paar-Programmierung
Themen von SE Experimente
12/27Nazli Soltani
Test-First
liegen brauchbare Studien vor nicht so viel wie bei PP
2 Faktoren : Zeitpunkt des Erstellens des Tests
immer vor der Entwicklung der zu testenden Software-Komponente
automatische Durchführbarkeit des Tests
als Regressionstest bekannt
Themen von SE Experimente
13/27Nazli Soltani
Experimente über Testgetriebene Entwicklung (TGE)
Übersicht über die untersuchten Testtechniken
Themen von SE Experimente
14/27Nazli Soltani
Experimente über TGEEmpirische Studien über testgetriebenes Entwickeln
Merkmale der Studien über testgetriebene Entwicklung
Themen von SE Experimente
15/27Nazli Soltani
Experimente über TGE verlangt ein Umdenken der Entwickler
nur mit nachträglichem Testen vertraut sind erfordert eine lange Lernkurve
Ohne entsprechende Schulung führt zu oberflächlichem Testen, das die Entwickler in falscher Sicherheit lockt
die Zeitspanne unbekannt nicht Vertrautheit mit der Methode “Richtige” TGE führt zu
besser testbaren Komponenten besserer Qualität
Themen von SE Experimente
16/27Nazli Soltani
Experimente über XP An der Universität Hannover
Thomas Flohr, Thorsten Schneider Ergebnisse
Test-First führt zu einer schnelleren Entwicklung
Studenten lehnen Test-First nicht ab PP um Prozesserfüllung zu sichern Studenten: Test-First nicht besser oder
schlechter
Themen von SE Experimente
17/27Nazli Soltani
Relativ neue Experimente Experimente über „Reading-Techniques“
Was ist eine „Reading-Technique“? „a concrete set of instructions given to the reader
saying how to read and what to look for in a software product.“
Software Reading:„the individual analysis of a software artifact
e.g., requirements, design, code, test plans to achieve the understanding needed for a
particular task“e.g., defect detection, reuse,
maintenance an der Universität von Maryland von V.Basili und
NASA.
Themen von SE Experimente
18/27Nazli Soltani
Experimente über „Reading Techniques“
Serie von Experimenten: Code Reading vs Functional Testing
vs Structural Testing Cleanroom vs non-Cleanroom defect-based reading vs ad-hoc
reading vs check-list reading perspective-based reading vs NASA’s
reading Technik.
Themen von SE Experimente
19/27Nazli Soltani
Experimente über „Reading Techniques“ Code Reading vs Functional Testing vs
Structural Testing Vergleich von
Fehler-Erkennung und Kosten Verschiedene Fehler-Klassen
Ergebniss: Code Reading mehr effektive für Interface-Fehler-
Erkennung „Functional und Structural Testing“ mehr
effektive für „control flow“ Fehler über 90% : „functional testing“ besser ?! Entwickler wollen nicht glauben, dass „reading“
besser ist.
Themen von SE Experimente
20/27Nazli Soltani
Experimente über „Reading Techniques“ Implementieret im SEL Entwicklungsprozess
sehr wenig effektive lesen und nachher testen
nicht gelesen wie sie müssten erzwingen zum Lesen
Cleanroom vs non-Cleanroom Cleanroom-Entwickler waren motiviert zum Lesen Cleanroom/Reading war effektiv verringert die kosten für Veränderungen Cleanroom Produkt
weniger Komplex näher an der Anforderungen
Themen von SE Experimente
21/27Nazli Soltani
Experimente über „Reading Techniques“ „Senario-Based Reading“
Zielgesteuert anpassbar an der Umgebung und dem Projekt verwendbar in vorhandenen Methoden, z.B.
Inspektionen spezifische Notation
Zwei Familien von „Senario-Based reading techniques“ für Anforderungs-Dokumente
Perspektive-Based Reading fokussiert auf verschiedene Sicht des Anwenders für Anforderungsdokumente im Englisch
Defect-Based Reading fokussiert auf verschiedenen Fehlerklasse für Anforderungsdokumente in SCR Style (Software Cost
Reduction)
Themen von SE Experimente
22/27Nazli Soltani
Experimente über „Reading Techniques“
Experimente defect-based reading vs ad-hoc
reading vs check-list reading perspective-based reading vs NASA’s
reading Technik. Vergleich von
Effektivität der Fehlerekennung
Themen von SE Experimente
23/27Nazli Soltani
Experimente über „Reading Techniques“ Ergebnisse:
Senario-Based Reading besser als Ad-Hoc, check-list and NASA‘s Readingsmethode
wenn wenig vertraut mit dem Arbeitsgebiet PBR soll besser an der Umgebung
angepasst werden Effekt mehr in Teamarbeit findet verschiedene Fehlerklassen
abhängig von der Sicht
Themen von SE Experimente
24/27Nazli Soltani
Ältere Experimente „Programm Debugging“
Gould, Drongowski(1974) die Effekte von
„debugging aids“ Fehlertyp Entwickler oder Verwalter
Ergebnisse: Zuweisungsfehlern Schwierig zu finden mit Erfahrung einfacher „debugging aids“ nicht hilfreich
Themen von SE Experimente
25/27Nazli Soltani
Ältere Experimente
„Flowcharts vs Programm Design Languages (PDL)“ Ramsey, Atwood, Van Doren (1983) aus der Sicht des Entwicklers Ergebnisse:
Kommunikation und „Design Performance“ besser bei PDL
Themen von SE Experimente
26/27Nazli Soltani
Studentisches Beispiel Masterarbeit zu zweit
Frage: ob die Paare die Arbeit beschleunigen oder sich
gegenseitig aufhalten??? ähnlich wie PP?
DIE Frage:
Welche DIE für welche zwecke? Eclipse Net-Beans von Sun JBuilder von Borland
am schnellsten und besten entwickeln?
Themen von SE Experimente
27/27Nazli Soltani
Studentisches Beispiel Alle verfügen über:
Syntax Highlighting Editor, Debugger und Compiler Setzen von Breakpoints beim Debuggen der Editor kann nach den Bedürfnissen des Benutzer
angepasst werden Anzeige der Zeilennummern Klassenbrowser zum Anzeigen der Klassenstrukturen eingebauter API Browser (Code Komplettierung) Entwicklung für verschiedene SDK Versionen möglich
(1.3, 1.4 oder 1.5) …
Themen von SE Experimente
Nazli Soltani
Gliederung Experimente Aktuelle Experimente (2005)
eXtreme Programmierung Paar-Programmierung Test First
relativ neue Experimente (1996) Reading Technik
Code Reading vs Functional Testing vs Structural Testing
Cleanroom vs non-Cleanroom Senario Based Reading
Ältere Experimente (1986) Studentisches Beispiel
Themen von SE Experimente
Nazli Soltani
Quelle V. R. Basili and F. Lanuble, "Building Knowledge through
Families of Experiments,"IEEE Transactions on Software Engineering, vol. 25, pp. 456-473, 1999.
Walter F. Tichy, Matthias M. Müller and Frank Padberg, „Ist XP etwas für mich? Empirische Studien zur Einschätzung von XP“ Fakultät für Informatik, Universität Karlsruhe, 2005.
Walter F. Tichy,“Should Computer Scientists Experiment More?“,1998.
V. R. Basili, „Experimentation in Software Engineering“,1986, 2002.
Matthias M. Müller, Johannes Link, Roland Sand, and Guido Malpohl, “Extreme Programming in Curriculum: Experiences from Academia and Industry“ Universität Karlsruhe, andrena objects ag, 2003.
V. R. Basili, „Evolving an Packaging Reading Technologies“, 1996.