Softwarevisualisierung

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.

CodeSonar ShowsDefect.png

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

  1. Diehl, S. (2002). Software Visualization. International Seminar. Revised Papers (LNCS Vol. 2269), Dagstuhl Castle, Germany, 20-25 May 2001 (Dagstuhl Seminar Proceedings)
  2. Knight, C. (2002). System and Software Visualization. In Handbook of software engineering & knowledge engineering. Vol. 2, Emerging technologies (Vol. 2): World Scientific Publishing Company
  3. 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
  4. 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
  5. 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
  6. 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
  7. Stasko, J. T., Brown, M. H., & Price, B. A. (1997). Software Visualization: MIT Press
  8. 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
  9. Soukup, T. (2002). Visual data mining : techniques and tools for data visualization and mining. New York: Chichester

Literatur

Weblinks

Konferenzen und Workshops

Forschungsgruppen


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”