IslandViz
Software besteht im Wesentlichen aus Quellcode und hat die Eigenschaft, physisch nicht greifbar oder sichtbar zu sein. Software wird erlebbar, indem Sie angewandt wird und ausführt, wofür Sie programmiert wurde. Sichtbar ist die grafische Benutzeroberfläche auf dem Desktop oder der Quellcode im Backend. Eine grafische Benutzeroberfläche veranschaulicht jedoch nicht den Aufbau und die Struktur einer Software. Der Quellcode hingegen kann diesen Einblick geben, allerdings nur bedingt, da ein Quellcode weder übersichtlich noch selbsterklärend ist. Das gilt besonders für komplexe, modularisierte Softwaresysteme, bei denen verschiedene Komponenten aufeinander zugreifen.
Um Software visualisieren zu können, hat das DLR das Programm IslandViz entwickelt. Das Programm stellt eine virtuelle Insellandschaft dar, wobei die Inseln als Metapher zu verstehen sind. Die Insellandschaft repräsentiert ein modularisiertes Softwaresystem. Die Inseln sollen dabei die einzelnen Module des Softwaresystems mit den untergeordneten Paketen und Klassen darstellen. Zudem kann IslandViz die Abhängigkeiten, als auch Importe und Exporte unter den Modulen darstellen.
IslandViz ist als VR-Anwendung konzipiert und lässt sich über eine Oculus Rift als 3D-Anwendung nutzen. Gesteuert wird die Anwendung dann über zwei Controller. Es gibt aber auch eine Desktopanwendung in 2D. Die Stärke von IslandViz liegt vor allem auf der Darstellung der Abhängigkeiten innerhalb der einzelnen Module.
Funktionen in der Übersicht
Darstellung von:
- Abhängigkeiten
- Import und Export
- Module mit Bundles und Packages und Klassen
Anwendungsbereiche
IslandViz ist vor allem für Entwicklerinnen und Entwickler sowie Projektmanagerinnen und -manager gedacht. Wenn mitten in einem Entwicklungsprozess neue Mitglieder einem Team beitreten, können sie erstmal eine Übersicht über den Status Quo des Projekts bekommen. Aber auch Auftraggeber für Softwareprojekte können mit IslandViz einen übersichtlichen Eindruck der Software bekommen, beispielsweise um Zwischenstände des Entwicklungsprozess veranschaulichen zu können.