Software Visualisierung 1

Heutige Computersoftware besteht aus Millionen von Zeilen Programmcode, den Überblick zu behalten ist praktisch unmöglich. Eine geschickte visuelle Repräsentation des Programmcodes kann helfen, Zusammenhänge qualitativ erfassbar und die Software greifbarer zu machen.

Karthografisches Zeichen

Die Fähigkeiten des menschlichen Auges Informationen filtern zu können sind unübertroffen. Daher habe ich mich darauf konzentriert, eine visuelle Repräsentation zu finden, die möglichst viele individuelle Formen hervorbringt. Die genaueren Hintergründe sind sind in der PDF-Dokumentation beschrieben.

Ein parametrisiertes Software-Element, in diesem Fall eine Klasse, könnte wie in der Abbildung gezeigt aussehen. Die Aussenform wird bestimmt durch die Entwicklungsaktivität, den inneren «Fingerabdruck» beeinflussen die enthaltenen Methoden.

  1. Releases: dies ist der erste Release, danach geht es im Uhrzeigersinn weiter
  2. Ausgewählter Release: alle Parameter passen sich dieser Version an
  3. Methoden-Fingerabdruck mit dem jeweiligen Bug-Risiko als Farbmarkierung
  4. Entwickler: dieser Entwickler hat ca 70% des Codes beigesteuert
  5. Entwickler: viele Entwickler, die wenig beigesteuert haben

3-D Prototyp mit Blender

Das entwickelte karthografische Zeichen habe ich mit Hilfe der 3-D-Software Blender in einen navigierbaren Kontext gesetzt. In dieser Ansicht können die selben Elemente unter verschiedenen Gesichtspunkten betrachtet werden. Durch die fliessenden Übergänge kann der Zusammenhang gezeigt werden.

Das angefügte Video zeigt am besten, wie diese Ansicht funktioniert. Erklärt werden muss vielleicht die Ansicht von der Seite, die sich gegen Ende des Videos befindet. Hier werden die Zusammenhänge zwischen Methoden gezeigt. In der Mitte befindet sich die aktuell ausgewählte Methode.

Links von ihr befinden sich Methoden, welche sie aufrufen (incoming calls). Diese aufrufenden Methoden sind in der Höhe nach ihrem Einfluss angeordnet. Je höher, desto einflussreicher ist die aufrufende Methode und desto sorgfältiger muss an der aktuell ausgewählten Methode gearbeitet werden. Denn da diese aufgerufen wird hängen alle Methoden links von ihr von ihrer Funktionalität ab.

Rechts der ausgewählten Methode befinden sich von dieser aufgerufene Methoden. Diese sind in der Höhe nach ihrem «Benutztheitsgrad» angeordnet, d. h. von je mehr Methoden sie aufgerufen werden, desto höher sind sie gelegen.

Inspiriert zu dieser Ansicht wurde ich durch Ben Frys Isometric Blocks.