Ansatz zur Interaktion mit dreidimensional visualisierten Softwaremodellen

Abstract

Softwaresysteme sind komplexe immaterielle Systeme mit einer Vielzahl von Bestandteilen und Beziehungen. Um den Aufbau, die Funktionsweise und die Entwicklung von Softwaresystemen besser zu verstehen, eignen sich Softwarevisualisierungen, welche die abstrakte Datengrundlage in eine visuelle Repräsentation übertragen. Auf Grund der Masse und der Komplexität der in der Visualisierung enthaltenen Informationen, kommt es schnell zur Unübersichtlichkeit, was sich negativ auf den Prozess des Verstehens auswirkt. Zur Beherrschung der Komplexität muss der Betrachter daher die Gesamtheit zuerst in mehrere Perspektiven unterteilen, um diese anschließend gezielt nach verschiedenen Aspekten untersuchen zu können. Die dafür benötigten Interaktionsmöglichkeiten sind Gegenstand der Untersuchungen in dieser Arbeit, wobei im Wesentlichen Visualisierungen der Struktur von Software als Ausgangspunkt genutzt werden. Insbesondere wird der Frage nachgegangen, wie die Interaktion gestaltet werden kann, damit der Benutzer ein möglichst umfassendes Verständnis der Struktur erlangt. Zur Umsetzung der theoretischen Erkenntnisse wird ein Prototyp vorgestellt, der automatisiert aus den Strukturinformationen eines Ecore-Modells eine interaktive dreidimensionale Softwarevisualisierung der Struktur im freien standardisierten Format Extensible 3D generiert. Der Prozess der Visualisierung wird dabei durch Werkzeuge des openArchitectureWare-Frameworks realisiert. Zur Integration in den Entwicklungsprozess ist der Prototyp in ein Plugin für Eclipse eingebettet.:1 Einleitung 1.1 Motivation 1.2 Ziele 1.3 Aufbau 2 Softwarevisualisierung 2.1 Visualisierung 2.1.1 Grundlagen 2.1.2 Aufgaben und Ziele 2.1.3 Teilgebiete 2.2 Definition 2.3 Ziele und Aufgaben 2.4 Visualisierungspipeline 2.5 Visualisierungstechniken 2.5.1 Graphen 2.5.2 Visuelle Metaphern 2.6 Taxonomie für Softwarevisualisierungen 3 Interaktion mit einer Softwarevisualisierung 3.1 Einordnung 3.2 Definition 3.3 Ziele 3.4 Benutzungsschnittstelle 3.5 Aufbau der Benutzungsschnittstelle 3.5.1 Anwendungsschnittstelle 3.5.2 Dialogschnittstelle 3.5.3 Ein-/Ausgabenschnittstelle 3.6 Interaktionstechnik 3.7 Taxonomie der Interaktionstechniken 3.8 Konzept zur Interaktion mit einer Softwarevisualisierung 4 Technische Grundlagen des Prototyps 4.1 Eclipse 4.2 Das openArchitectureWare-Framework 4.2.1 Modellgetriebene Softwareentwicklung 4.2.2 Aufbau des Frameworks 4.2.3 oAW-Workflow 4.2.4 Ecore 4.2.5 Xtend Modell-zu-Modell-Transformationen 4.3 Extensible 3D 4.3.1 Grundlagen 4.3.2 Szenegraph 4.3.3 Ereignismodell 4.3.4 X3D-Prototypen 5 Basisprototyp 5.1 Funktionsweise 5.2 Einordnung 5.3 Visualisierungsprozess des Generators 5.3.1 Modelltransformation von Ecore zu Graph 5.3.2 Modellmodifikation des Graphen 5.3.3 Modelltransformation von Graph zu X3D 5.4 Ansatzpunkte der Erweiterung 6 Erweiterung des Prototyps für die Interaktion 6.1 Benutzungsschnittstelle 6.1.1 Direkte Manipulation 6.1.2 Manipulation nach Elementtyp 6.1.3 Navigation durch Pakethierarchie und Klassengraph 6.1.4 Identifikation nach Bezeichner und Tooltip 6.2 Architektur des interaktiven X3D-Modells 6.3 Erweiterung des Generators 6.3.1 Anpassung der Transformationen des Basisprototyps 6.3.2 Modelltransformation in ein interaktives X3D-Modell 6.4 Integration in das Eclipse-Plugin 7 Fazit und Ausblic

    Similar works