Willkommen in der SoftwareCity

QAware SoftwareCity HoloLens Augmented Reality

20.10.2017

Wie Studenten Software-Qualität in 3D visualisieren

Software ist ein immaterielles Gut. Bei Diskussionen und Analysen zur Architektur und Qualität von Software wäre es daher hilfreich, die betrachteten Objekte sichtbar und "greifbar" zu machen. 

Ein Ansatz Software in die dreidimensionale Welt zu bringen sind Softwarestädte. Sie visualisieren die Struktur sowie weitere ausgewählte Softwareeigenschaften über die Analogie einer Stadt: Systeme sind Städte, Komponenten sind Viertel, Klassen sind Häuser, Aufrufbeziehungen sind Straßen. Qualitätsmerkmale wie die Anzahl der Codezeilen oder Fehler definieren das Aussehen der Häuser durch verschiedene Grundflächen, Höhen oder Farben.

Studierende der Technischen Hochschule Bingen nutzten die Idee der Stadt-Metapher nun in einem Kooperationsprojekt mit QAware für eine völlig neue Anwendung: Die Visualisierung der Software-Qualität in 3D mithilfe von Augmented Reality (AR). Dafür entwickelten die Informatik-Studierenden mit Unterstützung eines Softwarearchitekten der QAware in Mainz eine Render-Engine. Sie rendert textuelle Beschreibungen von Softwareprojekten auf der Basis von SonarQube-Analysen mit Hilfe der Unity 3D Engine und eines C# Frameworks. Mithilfe einer Microsoft HoloLens AR-Brille kann ein System so als Stadt mit eigenen Vierteln (Komponenten) und unterschiedlich großen und verschieden farbigen Häusern (Klassen) dargestellt werden. Für die Visualisierung der von SonarQube gelieferten Metriken stehen verschiedene Möglichkeiten zur Verfügung, z.B. Höhe, Farbe, Neigung eines Gebäudes. Wer die HoloLens trägt, kann einzelne Gebäude mittels Fingergeste auswählen und sich so weitere Details der Klasse anzeigen lassen (z.B. code smells, Komplexität, etc.). Auch Interaktionen wie Zoomen oder Rotation können über die AR-Brille gesteuert werden.

Das Projektziel, Software-Qualität in 3D zu visualisieren, wurde damit eindrucksvoll umgesetzt: Auf einen („virtuellen“) Blick ist die komplette Software in alle ihren Strukturebenen sichtbar. Das Aussehen der Häuser zeigt unmittelbar relevante Qualitätsmerkmale an und macht so auf Probleme aufmerksam.

Eine spätere Anwendung des Konzepts ist z.B. für Hotspot-Analysen oder die Visualisierung von Projektstati beim Kunden denkbar. Dafür sind jedoch weitere Optimierungen nötig – z.B., dass mehrere Personen gleichzeitig mit jeweils eigener AR-Brille das gleiche (Stadt-) Bild verfolgen können.

Die Projektgruppe hat den Quellcode unter der freien MIT-Lizenz auf folgender Seite zur Verfügung gestellt: https://github.com/addyi/SoftwareCity

Bild: Christoph Thelen