Top-Fragen
Zeitleiste
Chat
Kontext
Softwarevisualisierung
Aus Wikipedia, der freien Enzyklopädie
Remove ads
Softwarevisualisierung[1][2][3] beschäftigt sich mit der Visualisierung von Informationen über Softwaresysteme. Es kommen vorrangig statische, interaktive und animierte 2-D- und 3-D-Visualisierungsverfahren zum Einsatz.[4]

Aufgaben und Ziele
Zusammenfassung
Kontext
Softwarevisualisierung bildet im Allgemeinen Informationen wie zum Beispiel die Implementierungsstruktur[5][6], den Entwicklungsverlauf[7] oder das dynamische Systemverhalten[8] ab. Typischerweise werden in der Visualisierung Softwaremetrik-Informationen einbezogen, wie zum Beispiel die Größe oder Komplexität einer Systemkomponente (z. B. abgeleitet aus Quellcode-Analysen).[9]
Softwarevisualisierung stellt grundlegende Konzepte und Werkzeuge für den Softwareentwicklungsprozess bereit, zum Beispiel in Form von Softwarekarten, die innerhalb von entscheidungsunterstützenden Systemen eingesetzt werden.[10] Softwarevisualisierung richtet sich nicht nur an die initiale Phase einer neuen Systementwicklung (z. B. graphisches Programmieren), sondern vor allem an die (zeitlich meist unbefristete) Maintenance-Phase.[11]
Softwarevisualisierung ist von Natur aus keine Methode zur Software-Qualitätssicherung, kann aber dazu verwendet werden manuell Anomalien (z. B. Zyklen) aufzuspüren oder Defekte zu erkennen. Dieser Prozess wird auch „visuelles Data Mining“[12][13] genannt.
Die Ziele der Softwarevisualisierung beinhalten das Verstehen von Softwaresystemen (z. B. Aufbau und Struktur) und Algorithmen (z. B. die Animation von Suchalgorithmen), die Analyse von Softwaresystemen zur Entdeckung von Anomalien (z. B. durch Darstellung von Klassen mit (zu) hoher Kopplung) sowie das Überwachen von Code-Qualität in Verbindung mit Aktivitäten des Entwicklungsteams.[14]
Remove ads
Klassifizierung
Die Softwarevisualisierung bildet einen Themenbereich zwischen der Softwaretechnik und der Informationsvisualisierung. In den meisten Arbeiten, die sich damit beschäftigen, stehen weniger neue Visualisierungsmethoden oder neue Softwareanalyseverfahren im Mittelpunkt, sondern die Anwendung bereits bekannter Darstellungsformen auf bestimmte Eigenschaften einer Software. Das Gegenstück zur Softwarevisualisierung ist das sogenannte visuelle Programmieren, bei dem aus einer Visualisierung erst die Software generiert wird. Dieser Ansatz kommt etwa bei Lernprogrammen für Kinder oder beim Rapid Prototyping zum Tragen.
Remove ads
Arten der Softwarevisualisierung
Visualisierung einzelner Klassen und Komponenten
Werkzeuge für die Softwarevisualisierung können eingesetzt werden um einen Entwickler direkt während der Softwareentwicklung und -wartung zu unterstützen. Ziel dabei ist die automatische Entdeckung und Visualisierung von Qualitätsdefekten in objektorientierten Systemen oder Diensten. Als Plugin in Entwicklungsumgebungen wie Eclipse visualisieren sie die Beziehungen einer Klasse mit anderen Klassen im Softwaresystem und markieren potentielle Probleme. Ein Nebeneffekt stellt die visuelle Navigation durch das Softwaresystem dar.
Werkzeuge
SoftVis-Werkzeuge visualisieren Softwaresysteme oder größere Gruppen von Klassenverbänden, um Architekturen zu analysieren oder die Einhaltung von Architekturvorgaben oder der Codequalität zu überprüfen. Beispiele solcher Werkzeuge sind:
- NDepend
- Lattix LDM
- CodeCrawler
- SeeSoft
- Getaviz
- SonarGraph
- CodeCharta
Literatur
- Stephan Diehl: Software Visualization: Visualizing the Structure, Behaviour, and Evolution of Software. Springer, 5, 2007, ISBN 978-3-540-46504-1
- Kapitel Softwareanalyse und -visualisierung Ch. Bommer, M. Spindler, V. Barr: Softwarewartung – Grundlagen, Management und Wartungstechniken. dpunkt.verlag, Heidelberg 2008, ISBN 3-89864-482-0 (Online)
- Jonas Trümper, Jürgen Döllner: „Extending Recommendation Systems with Software Maps.“ Proceedings of the 3rd International ICSE Workshop on Recommendation Systems for Software Engineering (RSSE), IEEE Computer Society, pp. 92-96, 2012.
- Jonas Trümper et al.: „A Visual Analysis Approach to Support Perfective Software Maintenance.“ Proceedings of the 16th International Conference on Information Visualisation, IEEE Computer Society, pp. 308-315, 2012.
- Daniel Limberger et al.: „Interactive Software Maps for Web-Based Source Code Analysis.“ Proceedings of the International Web3D Conference, ACM, pp. 8, 2013.
Remove ads
Weblinks
Konferenzen und Workshops
- Softvis: ACM Symposium on Software Visualization, Proceedings erscheinen bei ACM Digital Library
- VISSOFT: IEEE International Workshop on Visualizing Software for Understanding and Analysis, Proceedings erscheinen bei IEEE Digital Library
Forschungsgruppen
Remove ads
Einzelnachweise
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads