Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Patrick Plieth, 1 Seminar Software aus Komponenten Software comprehension Patrick Plieth Freie Universität Berlin, Institut für.

Ähnliche Präsentationen


Präsentation zum Thema: "Patrick Plieth, 1 Seminar Software aus Komponenten Software comprehension Patrick Plieth Freie Universität Berlin, Institut für."—  Präsentation transkript:

1 Patrick Plieth, 1 Seminar Software aus Komponenten Software comprehension Patrick Plieth Freie Universität Berlin, Institut für Informatik Motivation Kognitives Modell Verstehensmodelle Experimentelle Ergebnisse Fazit

2 Patrick Plieth, 2 Motivation Anwendungen laufen auf Großcomputern, davon sind mehr als 80% in Cobol programmiert. Mehr als drei Viertel davon sind unstrukturiert, monolithisch und vor 1980 entstanden. Deutsche Cobol-Programme sind zu 77% unstrukturiert, zu 80% monolithisch und enthalten zu 93% überflüssige, redundante Daten. Ein Wartungsprogrammierer benötigt 47% seiner Zeit für die Programmanalyse, 15% für die Programmierung, 28% für den Test und 9% für die Dokumentation. Bei der US Air Force kostet die Änderung einer einzelnen Quellcodezeile zwischen und Dollar (1990). Softwareverständnis zentrale Aufgabe bei Wartung, Weiterentwicklung und Wiederverwendung

3 Patrick Plieth, 3 Motivation (2) Probleme: Software-Altlasten ungenügend fachkundiges Personal Wartungskosten mangelnde oder fehlende Dokumentationen Ziele: Schaffung besserer Software durch bessere Werkzeuge Richtlinien Dokumentationen Notwendigkeit: Erkenntnisse über Codeverstehensprozess

4 Patrick Plieth, 4 Elemente des kognitiven Modells Programmverständnis ist ein Prozess, der bestehendes Wissen verwendet, um neues Wissen zu erlangen, das schließlich zum Ziel einer Codeverständnisaufgabe führt. Wissen allgemeines spezifisches Verstehensprozess: Abgleich von allg. Wissen mit spez. Wissen Menge der Übereinstimmungen ist mentales Modell Mentales Modell gegenwärtige interne Repräsentation besteht aus statischen Elementen dynamischen Elementen

5 Patrick Plieth, 5 mentales Modell statische Elemente (Entitäten) Textstrukturen Chunks Pläne Hypothesen Beacons Stilregeln dynamische Elemente (Verhaltensweisen) Strategien Aktionen Episoden Prozesse

6 Patrick Plieth, 6 Letovsky-Modell

7 Patrick Plieth, 7 Shneiderman-Modell

8 Patrick Plieth, 8 Brooks-Modell

9 Patrick Plieth, 9 Top-Down-Modell (Soloway und Ehrlich)

10 Patrick Plieth, 10 Bottom-Up-Modell (Pennington)

11 Patrick Plieth, 11 Integrated Metamodel

12 Patrick Plieth, 12 Experimentelle Ergebnisse Stilregeln Layout mnemonische Namensvergabe Verwendung üblicher Daten- und Kontrollstrukturen Algorithmen Muster Konsistenz Kommentare!! und Dokumentationen GOTO ist tabu!

13 Patrick Plieth, 13 Experimentelle Ergebnisse Werkzeuge IDEs syntaxhighlighting pretty prints ausblenden einzelner Programmteile browsing im Programmcode strukturelle Programmdarstellungen Analyse aufspüren von Duplikaten lokalisieren von totem Code erkennen kritischer Funktionsaufrufe oder Laufzeitbedingungen Regenerierung und Visualisierung des Entwurfs

14 Patrick Plieth, 14 Experimentelle Ergebnisse Experten erkennen mehr Probleme finden mehr Lösungen kennen spezialisierte (effizientere) Problemlösungen besitzen ausgeprägteres Bewusstsein über Neben- bedingungen, Konsequenzen und Zusammenhänge greifen auf früher konstruierte Lösungen ähnlicher Probleme zurück sind konsequenter im Umgang mit fraglichen Hypothesen und aufgeschobener Arbeitsschritte beschaffen sich groben Gesamtüberblick bevor Problem weiter zerlegt wird

15 Patrick Plieth, 15 Verständisprobleme Dokumentation entspricht nicht der aktuellen Implementierung Muster Umsetzung unterliegt keinem explizitem Standard Diskrepanz zwischen Bezeichnung und Funktionalität

16 Patrick Plieth, 16 Fazit bisherige Erfahrungen: noch nicht vielfältig genug beziehen sich auf statische Eigenschaften weitere Untersuchungen nötig Was hilft? Einhalten von Konventionen Verwenden von Werkzeugen ausreichend dokumentieren Erfahrung!

17 Patrick Plieth, 17 Quellen Advances in Computers, M. Yovitz, M. Zelkowitz, 1995, Vol.40, p. 1-38: A. v. Mayrhauser, A. M. Vans, Program Understanding: Models and Experiments IEEE Transactions on Software Engineering, 1999, Vol.25, No.4: A. v. Mayrhauser, S. Lang, A Coding Scheme to Support Systematic Analysis of Software Comprehension VSEK/025/D, 2004, M. Bennicke, H. Rust, Programmverstehen und statische Analysetechniken im Kontext des Reverse Engineering und der Qualitätssicherung Spektrum Akademischer Verlag, Heidelberg, Berlin, 1998, Prof. Dr.-Ing. habil. H. Balzert, Lehrbuch der Software- Technik, Software-Management, Software-Qualitätssicherung, Unternehmensmodellierung

18 Patrick Plieth, 18 Danke!


Herunterladen ppt "Patrick Plieth, 1 Seminar Software aus Komponenten Software comprehension Patrick Plieth Freie Universität Berlin, Institut für."

Ähnliche Präsentationen


Google-Anzeigen