Tanja Munz

Science meets Art

Diplomarbeit: WOI Rivers

In meiner Diplomarbeit Visualisierung von dynamischen Software-Entwicklerzahlen in Arbeitsbereichen beschäftigte ich mich mit einer neuen Visualisierungstechnik für Softwareentwicklungsprozesse.

Softwaresysteme werden häufig über mehrere Jahre von vielen Entwicklern bearbeitet. In dieser Zeit können sich sowohl die Beteiligung der Entwickler als auch die Arbeitsbereiche, in denen entwickelt wird, stark verändern. In diesem Projekt wurde das Konzept von AOI Rivers (eine Visualisierungtechnik für Eye-Tracking-Daten) für die Visualisierung von Softwareentwicklungsprozessen angepasst, indem sie zu WOI Rivers erweitert wurden. Mit WOI Rivers ist es möglich, die dynamischen Verhaltensweisen von Entwicklergruppen zu beobachten. Es kann sichtbar gemacht werden, wie sich die Anzahl von Entwicklern oder die Häufigkeit ihrer Beteiligung an Dateiveränderungen in verschiedenen Arbeitsbereichen über die Zeit verändert. Zusätzlich kann über Transitionen gezeigt werden, wie zwischen verschiedenen Arbeitsbereichen gewechselt wird und wann bzw. wo neue Entwickler hinzukommen oder das Projekt wieder verlassen. Die Visualisierungstechnik wurde als interaktives Visualisierungswerkzeug implementiert. In diesem können Arbeitsbereiche, sogenannte Workspaces of Interest (WOIs), in einer Hierarchiedarstellung, Entwicklergruppen aus einer Liste aller Entwickler und der darzustellende Zeitbereich für die WOI-River-Visualisierung festgelegt werden.

Für einen Beispielsdatensatz ist links die Hierarchie zu sehen in welcher fünf WOIs farbig ausgewählt sind. Rechts sind zugehörige WOI Rivers (in der Übersichts- und Detailansicht) dargestellt. Für diese WOI Rivers wurde einmal die Anzahl an Entwicklern und einmal die Anzahl an veränderten Dateien als Kriterium für die Höhe verwendet.

wois_bsp_hierarchy woi_bsp_4 woi_bsp_3 woi_bsp_2 woi_bsp_1

Die zugehörige Anwendung wurde in C++ programmiert mit Qt für die Benutzeroberfläche; das Qt Graphics View Framework wurde für die grafischen und interaktiven Elemente der Visualisierung eingesetzt. Das Doxygen-Format wurde zur Dokumentation verwendet und Mercurial als Versionskontrollsystem genutzt.

Im Video werden die wichtigsten Funktionen der Anwendung gezeigt; dies beinhaltet verschiedene Methoden zur Auswahl von WOIs, die Anzeige der Übersichts- und Detail-Darstellung der WOI Rivers und die Festlegung von Entwicklergruppen.

Hier kann meine Ausarbeitung betrachtet werden, welche weitere Details enthält.

Ergebnisse dieses Projekts wurden in der Publikation Visualizing Work Processes in Software Engineering with Developer Rivers veröffentlicht.