- Softwarevisualisierung
-
Softwarevisualisierung [1] [2] beschäftigt sich mit der statischen oder animierten Darstellung von 2D oder 3D [3] Informationen über Softwaresysteme. Die Informationen können dabei die Struktur [4] , die Größe [5] , den historischen Verlauf [6] oder das dynamische Verhalten [7] des Systems beschreiben. Typischerweise werden dabei Informationen mittels Softwaremetriken zur Visualisierung verwendet. Visualisierung ist von Natur aus keine Methode zur Software-Qualitätssicherung kann aber dazu verwendet werden manuell Anomalien (z. B. Zyklen) aufzuspüren oder erkannte Defekte mit in die Visualisierung zu integrieren. Dieser Prozess wird auch visuelles Data Mining [8] [9] genannt. Die Ziele der Softwarevisualisierung beinhalten das Verstehen von Softwaresystemen (z. B. Aufbau und Morphologie) und Algorithmen (z. B. die Animation von Suchalgorithmen) sowie der Analyse von Softwaresystemen zur Entdeckung von Anomalien (z. B. durch Darstellung von Klassen mit (zu) hoher Kopplung).
Inhaltsverzeichnis
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.
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.
Visualisierung ganzer (Sub-)Systeme
Andere Visualisierungssysteme visualisieren ganze Softwaresysteme oder größere Gruppen von Klassenverbänden um Architekturen zu analysieren oder deren Einhalt zu überprüfen. Beispiele solcher Werkzeuge sind:
- NDepend
- Lattix LDM
- Sotograph
- CodeCrawler
- SeeSoft
Einzelnachweise
- ↑ Diehl, S. (2002). Software Visualization. International Seminar. Revised Papers (LNCS Vol. 2269), Dagstuhl Castle, Germany, 20-25 May 2001 (Dagstuhl Seminar Proceedings)
- ↑ Knight, C. (2002). System and Software Visualization. In Handbook of software engineering & knowledge engineering. Vol. 2, Emerging technologies (Vol. 2): World Scientific Publishing Company
- ↑ Marcus, A., Feng, L., & Maletic, J. I. (2003). 3D representations for software visualization. Paper presented at the Proceedings of the 2003 ACM symposium on Software visualization, San Diego, California
- ↑ Staples, M. L., & Bieman, J. M. (1999). 3-D Visualization of Software Structure. In Advances in computers (Vol. 49, pp. 96-143): Academic Press, London
- ↑ Lanza, M. (2004). CodeCrawler - polymetric views in action. Proceedings. 19th International Conference on Automated Software Engineering, Linz, Austria, 20 24 Sept. 2004 * Los Alamitos, CA, USA: IEEE Comput. Soc, 2004, p 394 5
- ↑ Lopez, F. L., Robles, G., & Gonzalez, B. J. M. (2004). Applying social network analysis to the information in CVS repositories. "International Workshop on Mining Software Repositories (MSR 2004)" W17S Workshop 26th International Conference on Software Engineering, Edinburgh, Scotland, UK, 25 May 2004 * Stevenage, UK: IEE, 2004, p 101 5
- ↑ Stasko, J. T., Brown, M. H., & Price, B. A. (1997). Software Visualization: MIT Press
- ↑ Keim, D. A. (2002). Information visualization and visual data mining. IEEE Transactions on Visualization and Computer Graphics, USA * vol 8 (Jan. March 2002), no 1, p 1 8, 67 refs
- ↑ Soukup, T. (2002). Visual data mining : techniques and tools for data visualization and mining. New York: Chichester
Literatur
- Stephan Diehl: Software Visualization: Visualizing the Structure, Behaviour, and Evolution of Software. Springer, 5, 2007, ISBN 978-3-540-46504-1
- Ch. Bommer, M. Spindler, V. Barr: Softwarewartung - Grundlagen, Management und Wartungstechniken, dpunkt.verlag, Heidelberg 2008, ISBN 3-89864-482-0, Kapitel Softwareanalyse und -visualisierung
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 (2009 2007 2005 2003)
Forschungsgruppen
- Softwarevisualisierung an der GVU
- Softwarevisualisierung Gruppe an der Helsinki University of Technology
Kategorie:- Qualitätsmanagement (Softwaretechnik)
Wikimedia Foundation.