Diplomarbeit, 2008
109 Seiten, Note: 2,0
1. Einleitung
1.1 Zweck des Dokuments
1.2 Leserkreis
2. Aufgabenstellung
2.1 Ziel der Diplomarbeit
3. Verwandte Arbeiten
3.1 Taxonomien
3.2 Abgrenzung
4. Lösungsweg
4.1 Abgrenzung des Betrachtungsraumes
4.1.1 Definition von Visualisierung für Programmcode
4.1.2 Dynamische Visualisierungen zur Darstellung von Laufzeitverhalten
4.2 Schema zur Erfassung existierender Visualisierungen
4.3 Beschreibungsschema
4.4 Bewertungsschema
4.5 Katalogisierung
4.6 Resultate der Katalogisierung
5. Beschreibungsschema
5.1 Struktur
5.2 Klassifizierung
5.3 Ebene 1 - Kategorien von Eigenschaften
5.4 Ebene 2 - Eigenschaften
5.4.1 Darstellung
5.4.2 Interaktion
5.4.3 Anbindung
5.5 Anwendung des Beschreibungsschemas
5.5.1 Anwendung zur Beschreibung einer Visualisierung
5.5.2 Anwendung zur Suche einer Visualisierung
5.6 Erweiterbarkeit des Beschreibungsschemas
5.6.1 Erweiterung um eine Eigenschaft
5.6.2 Erweiterung um eine Kategorie
5.6.3 Erweiterung um einen Eigenschaftstyp
5.6.4 Erweiterung um eine Klasse
6. Bewertungsschema
6.1 Zielorientierung
6.2 Komponenten von Programmcode
6.3 Darstellungsebene
6.4 Zuordnung von Komponenten zu Tätigkeiten
6.5 Bewertung einer Visualisierung
6.5.1 Bewertungskriterien
6.5.2 Bewertungsskala
7. Katalogisierung
7.1 Tätigkeit-Analyse
7.1.1 Kategorien von Tätigkeiten eines Programmierers
7.1.2 Feindesign erstellen
7.1.3 Programmieren
7.1.4 Fehler suchen
7.1.5 Dokumentation
7.1.6 Unit Test
7.1.7 Kommentieren
7.1.8 Code Review
7.2 Analyse existierender Visualisierungen
7.3 Basisvisualisierungen
7.4 Omondo UML Klassendiagramm
7.4.1 Beschreibung
7.4.2 Bewertung
7.5 SeeSoft Conditional nesting complexity
7.5.1 Beschreibung
7.5.2 Bewertung
7.6 GSEE Inheritance Relationship
7.6.1 Beschreibung
7.6.2 Bewertung
7.7 Creole Nested View
7.7.1 Beschreibung
7.7.2 Bewertung
7.8 sv3D
7.8.1 Beschreibung
7.8.2 Bewertung
7.9 IMSOVision
7.9.1 Beschreibung
7.9.2 Bewertung
7.10 Alternative zur Visualisierung - Metrics
7.10.1 Beschreibung
7.10.2 Bewertung
7.11 Zuordnung von Visualisierungen zu Tätigkeiten
7.11.1 Zuordnung von Visualisierungen zur Tätigkeit "Dokumentation einer Klasse erstellen"
7.11.2 Zuordnung von Visualisierungen zur Tätigkeit "Erstellung von Testfällen für komplexe Methoden"
7.11.3 Zuordnung von Visualisierungen zur Tätigkeit "Einsetzen externer Bibliotheken"
7.11.4 Zuordnung von Visualisierungen zur Tätigkeit "Vervollständigen der Kommentierung von Klassen"
8. Resultate der Katalogisierung
8.1 Analyse der katalogisierten Visualisierungen
8.2 Werkzeugkasten
8.3 Entwurf der Visualisierung SimplyView
8.3.1 Dargestellte Informationen
8.3.2 Aussagen über das analysierte Projekt
9. Fazit
9.1 Rückblick
9.2 Inhaltliches Fazit
9.3 Zukünftige Arbeiten
Die vorliegende Arbeit zielt darauf ab, die Anwendbarkeit von Visualisierungen zur Unterstützung von Tätigkeiten im Zusammenhang mit der Arbeit an Programmcode zu analysieren und ein zielorientiertes Bewertungsschema zu entwickeln, das Visualisierungen für Programmierer greifbar und vergleichbar macht.
4.1.1 Definition von Visualisierung für Programmcode
Im Rahmen dieser Arbeit wird die folgende Definition für Visualisierung für Programmcode verwendet.
Definition 4.1.1 Eine Visualisierung für Programmcode ist eine visuelle Darstellung von einer oder mehreren Eigenschaften eines gegebenen Programmcodes, wobei die für die Darstellung notwendigen Informationen alleine aus dem Programmcode gewonnen werden.
Diese Definition schränkt die in dieser Arbeit betrachteten Visualisierungen ein. Es werden ausschließlich Visualisierungen betrachtet, die Eigenschaften von Programmcode darstellen. Zudem werden keine Visualisierungen betrachtet, die Informationen aus einer externen Informationsquelle benötigen, wie zum Beispiel einer Versionsverwaltung, einer Quelle für Testüberdeckungen oder einem Bugtracking Tool.
Einen Grenzfall stellt das "Visual Programming" dar. Beim Visual Programming wird in einem Editor eine grafische Darstellung des zu erstellenden Programms erstellt. Aus dieser grafischen Darstellung wird anschließend oder fortlaufend Programmcode erzeugt. Zum Zeitpunkt direkt nach der Erstellung des Programmcodes stellt die grafische Darstellung eine Visualisierung des generierten Programmcodes dar.
Visual Programming wird im Rahmen dieser Diplomarbeit explizit von der Betrachtung ausgeschlossen. Das Ziel von Visual Programming ist die Generierung des Programmcodes, nicht die grafische Darstellung. Das grafische Modell dient primär als Mittel zur Definition des Programms.
1. Einleitung: Beschreibt die Bedeutung von Visualisierungen für die Softwareentwicklung und formuliert das Ziel der Arbeit, diese für Programmierer besser nutzbar zu machen.
2. Aufgabenstellung: Definiert die Forschungsfragen der Diplomarbeit, insbesondere zur Erfassung und Vergleichbarkeit von Visualisierungen für Programmcode.
3. Verwandte Arbeiten: Gibt einen Überblick über bestehende Taxonomien für Software-Visualisierung und grenzt den eigenen Ansatz gegen diese ab.
4. Lösungsweg: Skizziert die methodischen Schritte der Arbeit, von der Definition des Betrachtungsraums bis zur Katalogisierung und dem Entwurf neuer Lösungen.
5. Beschreibungsschema: Führt ein strukturiertes Schema zur objektiven Beschreibung der Eigenschaften von Visualisierungen ein.
6. Bewertungsschema: Erläutert das Verfahren zur subjektiven, zielorientierten qualitativen Bewertung von Visualisierungen anhand definierter Komponenten und Tätigkeiten.
7. Katalogisierung: Wendet die erarbeiteten Schemata auf eine Auswahl existierender Tools wie Omondo, SeeSoft und Creole an und analysiert diese.
8. Resultate der Katalogisierung: Fasst die Erkenntnisse zusammen, stellt den "Werkzeugkasten" vor und präsentiert den Entwurf der neuen Visualisierung "SimplyView".
9. Fazit: Reflektiert den Verlauf der Diplomarbeit, bewertet die erzielten Ergebnisse und gibt Ausblicke auf zukünftige Forschungsarbeiten.
Visualisierung, Programmcode, Software Engineering, Beschreibungsschema, Bewertungsschema, Klassifizierung, UML, SeeSoft, Katalogisierung, Programmier-Tätigkeiten, Software-Metriken, Werkzeugkasten, SimplyView, Dynamische Visualisierung, Statische Visualisierung
Die Diplomarbeit untersucht die Anwendbarkeit von Visualisierungen zur Unterstützung bei der Arbeit mit Programmcode, um das Verständnis und die Effizienz bei verschiedenen Programmier-Tätigkeiten zu steigern.
Die Schwerpunkte liegen auf der formalen Erfassung (Beschreibungsschema) und der qualitativen Bewertung (Bewertungsschema) von Software-Visualisierungen sowie deren praktischer Anwendung in einem Katalog.
Das Hauptziel ist es, Visualisierungen für Programmierer greifbar zu machen, indem ein "Werkzeugkasten" erstellt wird, der bei der Auswahl geeigneter Visualisierungen für spezifische Tätigkeiten hilft.
Es werden Kriterienkataloge für objektive Eigenschaften und subjektive Qualitäten entwickelt, mit denen verschiedene Visualisierungs-Tools systematisch analysiert und gegenübergestellt werden.
Der Hauptteil widmet sich dem Entwurf von Schemata zur Beschreibung und Bewertung, der Katalogisierung prominenter Tools (z.B. Omondo, SeeSoft, sv3D) und der Analyse ihrer Einsatzgebiete für Programmierer.
Wichtige Begriffe sind Visualisierung, Programmcode, Beschreibungsschema, Bewertungsschema, Software-Metriken und der entwickelten Werkzeugkasten-Ansatz.
SimplyView reduziert die abgebildeten Informationen auf das Wesentliche, um bei großen Softwareprojekten schnell einen Überblick über die Kernklassen und deren Zusammenhänge zu ermöglichen.
IMSOVision wurde katalogisiert, obwohl kein funktionsfähiger Prototyp existiert, da es eines der wenigen bekannten Modelle für eine VR-basierte Visualisierung von Programmcode darstellt.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

