Dashuber V (2023)
Publication Language: German
Publication Type: Thesis
Publication year: 2023
URI: https://opus4.kobv.de/opus4-fau/files/23373/DissertationVeronikaDashuberPress.pdf
Eine der größten Herausforderungen für Software‐Ingenieure ist es, Software‐Systeme und deren Kontext schnell und effizient zu verstehen. Um ein umfassendes Verständnis der vielfältigen Applikationen zu erlangen, müssen drei Aspekte analysiert werden: (a) die statischen Eigenschaften der Software, um die bestehende Architektur zu begreifen, (b) die dynamischen Software‐Eigenschaften, um die lose gekoppelten Abhängigkeiten (z. B. via REST) moderner Systeme zu erfassen und (c) die Infrastruktur und deren Kosten, um das Verständnis des Software‐Betriebs zu fördern. Visualisierungen können dabei helfen, komplexe Sachverhalte besser verständlich zu machen. Metaphern aus dem echten Leben helfen zudem, abstrakte Inhalte wie Software‐Artefakte leichter greifen zu können. Deshalb wurde im Rahmen dieser Arbeit die Stadtmetapher verwendet, um die drei genannten Aspekte zu visualisieren. Die Stadtmetapher bildet Software‐Komponenten auf Gebäude und Container von Komponenten auf Stadtviertel ab. Bögen zwischen Gebäuden stellen Abhängigkeiten zwischen Komponenten dar. Da die Anzahl sowohl statischer als auch dynamischer Abhängigkeiten eines großen Software‐Systems enorm ist, müssen die explizit zu zeichnenden Abhängigkeiten in der Software‐Stadt verringert werden, um die Übersichtlichkeit zu wahren und das Verständnis zu fördern.
Das Hauptziel dieser Arbeit ist es daher, eine geeignete Visualisierung zu entwickeln, um Software‐Ingenieure beim Verstehen von Statik, Dynamik und Infrastruktur bestmöglich zu unterstützen. Die erarbeitete Visualisierung HOLOWARE zeigt die drei Aspekte in verschiedenen Ansichten. Die Tagesansicht visualisiert statische Abhängigkeiten. Damit die Stadt‐Visualisierung aufgrund der vielen statischen Abhängigkeitsbögen nicht überladen wird, verwendet HOLOWARE ein neuartiges Schichten‐Layout. Im Gegensatz zu herkömmlichen Layouts werden die Abhängigkeiten in das Layout kodiert und nur noch architekturverletzende Abhängigkeiten müssen explizit als Bögen dargestellt werden. In einem kontrollierten Experiment lösten professionelle Software‐Ingenieure Aufgaben zum Programmverständnis statistisch signifikant schneller (5,3%) und besser (43%) als Probanden, die die Studie mit dem herkömmlichen Kacheldiagramm‐ Layout durchführten. Es konnte gezeigt werden, dass das Schichten-Layout von HOLOWARE die statischen Abhängigkeitsbögen sinnvoll reduziert und gleichzeitig das Verständnis der Statik fördert.
Die Nachtansicht visualisiert die Dynamik. Bei der Visualisierung dynamischer Abhängigkeiten wurden zwei Reduktionsoptionen untersucht: Clustern und Aggregieren der Abhängigkeiten. Beim Clustern wird nur ein repräsentatives Trace pro Cluster angezeigt, der einen Anwendungsfall der Applikation widerspiegeln soll. Zwei Filteroptionen, auf einzelne Komponenten und Anwendungsfälle, reduzieren die Bögen zusätzlich. Eine kurze Studie konnte zeigen, dass zum einen die Filter hilfreich sind und zum anderen 81,8% der Probanden die Visualisierung aller Abhängigkeiten für typische Software‐ Entwicklungsaufgaben nicht benötigen. Die DYNACITY‐Ansicht aggregiert die Abhängigkeiten. Aufrufe zwischen denselben zwei Komponenten werden zu einem repräsentativen Bogen zusammengefasst und die aggregierte Last wird berechnet. Die Helligkeit eines Bogens zeigt die Last an. DYNACITY visualisiert auch die Aktivität der Komponentengebäude, je mehr oder längere Anfragen sie erhalten und/oder erzeugen, desto heller sind sie. In einem kontrollierten Experiment konnten Software‐Ingenieure mit der DYNACITY‐Visualisierung im Vergleich zu einer herkömmlichen kantengebündelten Visualisierung typische Aufgaben zum Software‐Verständnis schneller (5,8%), besser (11,7%) und mit weniger kognitiver Belastung (6,7%) lösen. Die Erweiterung DYNACITYrc erschließt einen weiteren Anwendungsfall: die Ursachenanalyse. Sie färbt zusätzlich Bögen und Gebäude entsprechend der HTTP‐Status‐Codes ein, sodass Fehler einen Bogen oder eine Komponente rot färben. Eine weitere Studie konnte zeigen, dass Software‐Ingenieure DYNACITYrc als sehr hilfreich bei Ursachenanalysen empfinden.
Die sogenannte CLOUD COST CITY visualisiert die Infrastruktur der Software und deren Kosten. Dazu wird die bisher bekannte Stadtmetapher anstatt auf Software‐Komponenten auf Infrastruktur‐ Artefakte übertragen. Die Grundfläche der Gebäude bildet die Nutzung einer Ressource und die Höhe deren Kosten ab. So können schlechte Kosten‐Nutzen‐Verhältnisse sofort identifiziert werden. Eine Fallstudie konnte zeigen, dass die Stadtmetapher zur Analyse von Software‐Infrastruktur und deren Kosten geeignet ist und eine Kostenanalyse einfacher als mit herkömmlichen Cloud‐Kosten‐ Dashboards möglich ist.
Mit HOLOWARE ist eine quelloffene Visualisierung entstanden, die Software‐Ingenieure beim Verstehen von Statik, Dynamik und Infrastruktur unterstützt. Mehrere Studien untersuchten die Lösungsansätze der erarbeiteten Visualisierung und konnten ihren Nutzen für das Programmverständnis stützen.
APA:
Dashuber, V. (2023). Visualisierung der Statik, Dynamik und Infrastruktur von Software mit Hilfe der Stadt‐Metapher (Dissertation).
MLA:
Dashuber, Veronika. Visualisierung der Statik, Dynamik und Infrastruktur von Software mit Hilfe der Stadt‐Metapher. Dissertation, 2023.
BibTeX: Download