Softwarevisualisierung
Softwarevisualisierung[1][2] oder Softwarevisualisierung bezieht sich auf die Visualisierung von Informationen und im Zusammenhang mit Softwaresystemen - entweder der die Architektur von seinem Quellcode oder Metriken ihrer Laufzeitverhalten-und ihr Entwicklungsprozess mittels statischer, interaktiver oder animiertes 2-D oder 3-D[3] visuelle Darstellungen ihrer Struktur,[4] Hinrichtung,[5] Verhalten,[6] und Evolution.
Software -Systeminformationen
Die Softwarevisualisierung verwendet eine Vielzahl von Informationen über Softwaresysteme. Zu den wichtigsten Informationskategorien gehören:
- Implementierung Artefakte wie Quellcodes,
- Software -Metrik Daten aus Messungen oder von Reverse Engineering,
- Spuren Das Verhalten des Ausführungsverhaltens,
- Softwaretest Daten (z. B. Testabdeckung)
- Software -Repository Daten, die Änderungen verfolgen.
Ziele
Die Ziele der Software -Visualisierung sind die Unterstützung des Verständnis von Softwaresystemen (d. H. seine Struktur) und Algorithmen (z. B. durch Animieren des Verhaltens der Sortierung von Algorithmen) sowie die Analyse und Erforschung von Softwaresystemen und deren Anomalien (z. B. durch Zeigen von Klassen mit hoher Kupplung) und ihre Entwicklung und Entwicklung. Eine der Stärken der Softwarevisualisierung besteht darin, Informationen von Softwaresystemen zu kombinieren und in Beziehung zu setzen, die beispielsweise nicht verknüpft sind, indem sie Codeänderungen auf Softwareausführungsspuren projizieren.[7]
Die Softwarevisualisierung kann als Tool und Technik verwendet werden, um Software -Systeminformationen zu untersuchen und zu analysieren, z. Visual Data Mining.[8] Beispielsweise wird die Softwarevisualisierung zur Überwachung von Aktivitäten verwendet, wie z. B. für Codequalität oder Teamaktivitäten.[9] Visualisierung ist von Natur aus keine Methode für Software Qualitätssicherung. Softwarevisualisierung beteiligt sich an Software -Intelligenz um zu ermöglichen, innere Komponenten von Softwaresystemen zu entdecken und zu nutzen.
Typen
Tools für die Softwarevisualisierung können verwendet werden, um den Quellcode zu visualisieren und Qualitätsfehler Während der Softwareentwicklungs- und Wartungsaktivitäten. Es gibt verschiedene Ansätze, um Quellcode zu einer visuellen Darstellung wie von zu kartieren Softwarekarten[10] Ihr Ziel umfasst beispielsweise die automatische Erkennung und Visualisierung von Qualitätsfehlern in objektorientierten Softwaresystemen und -diensten. In der Regel visualisieren sie die direkte Beziehung einer Klasse und ihrer Methoden mit anderen Klassen im Softwaresystem und markieren potenzielle Qualitätsfehler. Ein weiterer Vorteil ist die Unterstützung der visuellen Navigation durch das Softwaresystem.
Mehr oder weniger spezialisiert Diagrammzeichnung Software wird für die Softwarevisualisierung verwendet. Eine kleine Umfrage von 2003 unter Forschern, die in der aktiven sind Reverse Engineering und Software-Wartung Felder fanden heraus, dass eine Vielzahl von Visualisierungstools verwendet wurde, einschließlich allgemeiner Diagramm -Zeichnungspakete wie Graphviz und draphierte UML -Tools mögen Rationale Rose und Borland zusammenund spezialisiertere Tools wie Visualisierung von Compiler -Diagrammen (VCG) und Rigi.[11]: 99–100 Der Bereich der UML -Tools, die durch Reverse Engineering Quelle als Visualizer fungieren können, ist keineswegs kurz. In einem Buch aus dem Jahr 2007 wurde festgestellt, dass neben den beiden oben genannten Werkzeugen Ess-Model, Bluejund Fujaba haben auch diese Fähigkeit, und dieser Fujaba kann auch identifizieren Designmuster.[12]
Siehe auch
- Programme
- Verwandte konzepte
- Entdeckung und Verständnis der Anwendung
- Software-Wartung
- Softwarekarten
- Software -Diagnose
- Kognitive Dimensionen von Notationen
- Softwarearchäologie
Verweise
- ^ Bohnet, Johannes; Döllner, Jürgen (2006). "Analyse der Merkmalsimplementierung durch visuelle Erkundung von architektonisch eingebetteten Call-Graphen". 4. Internationaler Workshop zur dynamischen Analyse. ACM -Presse. S. 41–48. doi:10.1145/1138912.1138922. ISBN 1595934006. S2CID 17556465.
- ^ Diehl 2002; Diehl 2007; Ritter 2002
- ^ (Marcus, Feng & Maletic 2003; Wettel & Lanza 2007)
- ^ Staples & Bieman 1999
- ^ Trümper, J.; Döllner, J.; Telea, A. (2013). "Multiscale visueller Vergleich von Ausführungsspuren". Verfahren der Internationalen Konferenz zum Programmverständnis (PDF). IEEE Computer Society. S. 53–62. doi:10.1109/ICPC.2013.6613833. ISBN 978-1-4673-3092-3. S2CID 206839054.
- ^ (Kuhn & Greevy 2006, Stasko et al. 1998)
- ^ Bohnet, J.; Voigt, S.; Döllner, J. (2009). "Projizieren von Codeänderungen in Ausführungsspuren zur Unterstützung der Lokalisierung kürzlich eingeführter Fehler". Verfahren des ACM -Symposiums 2009 auf Applied Computing. S. 438–442. doi:10.1145/1529282.1529378. ISBN 9781605581668. S2CID 8349297.
- ^ (Keim 2002; Soukup & Davidson 2002; Burch, Diehl & Weißgerber 2005)
- ^ Bohnet, J.; Döllner, J. (2011). "Überwachung der Codequalität und Entwicklungsaktivität nach Softwarekarten". Verfahren des IEEE ACM ICSE -Workshops zur Verwaltung technischer Schulden. Verband für Rechenmaschinen. S. 9–16. doi:10.1145/1985362.1985365. ISBN 9781450305860. S2CID 17258620.
- ^ Limberger, D.; Wasty, b.; Trümper, J.; Döllner, J. (2013). "Interaktive Softwarekarten für die webbasierte Quellcodeanalyse". Verfahren der 18. Internationalen Konferenz zur 3D -Web -Technologie. S. 91–98. doi:10.1145/2466533.2466550. ISBN 9781450321334. S2CID 3040005.
- ^ Koschke, Rainer (2003). "Softwarevisualisierung in Software-Wartung, Reverse Engineering und Re-Engineering: Eine Forschungsumfrage". Journal of Software -Wartung und -entwicklung: Forschung und Praxis. 15 (2): 87–109. doi:10.1002/smr.270.
- ^ Diehl 2007, p. 63
Weitere Lektüre
- Roels, R.; Meştereagă, P.; Signer, B. (2016). "Ein interaktives Quellcode-Visualisierungs-Plug-In für die MindXPres-Präsentationsplattform". Kommunikation in Computer- und Informationswissenschaft (CCIS). Springer. doi:10.1007/978-3-319-29585-5_10. ISBN 978-3-319-29584-8.
- Burch, M.; Diehl, S.; Weißgerber, P. (2005). "Visual Data Mining in Softwarearchiven". Verfahren des ACM -Symposiums 2005 zur Softwarevisualisierung (Softvis '05). S. 37–46. doi:10.1145/1056018.1056024. ISBN 1595930736. S2CID 1577375.
- Diehl, S. (2002). Softwarevisualisierung. Internationales Seminar Dagstuhl Castle, Deutschland, 20. bis 25. Mai 2001 Überarbeitete Papiere. Vorlesungsnotizen in Informatik. Vol. 2269. Springer. doi:10.1007/3-540-45875-1. ISBN 978-3-540-43323-1. S2CID 21007575.
- Diehl, S. (2007). Softwarevisualisierung - Visualisierung der Struktur, Verhalten und Entwicklung von Software. Springer. ISBN 978-3-540-46504-1.
- Eades, P.; Zhang, K. (1996). Softwarevisualisierung. Serie über Software -Engineering und Knowledge Engineering. Vol. 7. Weltwissenschaftlich. ISBN 981-02-2826-0.
- Gîrba, T.; Kuhn, a.; Seeberger, M.; Ducasse, S. (2005). "Wie Entwickler die Softwareentwicklung vorantreiben" (PDF). Proceedings of International Workshop über Prinzipien der Softwareentwicklung (IWPSE 2005). IEEE Computer Society Press. S. 113–122. doi:10.1109/iwpse.2005.21. ISBN 0-7695-2349-8. S2CID 9260583.
- Keim, D.A. (Januar - März 2002). "Informationsvisualisierung und visuelles Data Mining". IEEE -Transaktionen zur Visualisierung und Computergrafik. 8 (1): 1–8. doi:10.1109/2945.981847.
- Knight, C. (2002). "System- und Softwarevisualisierung". In Chang Shi-kuo (Hrsg.). Aufkommende Technologien. Handbuch für Software -Engineering und Knowledge Engineering. Vol. 2. Weltwissenschaftlich. S. 131–148. ISBN 978-981-4491-78-5.
- Kuhn, a.; Greevy, O. (2006). "Nutzung der Analogie zwischen Spuren und Signalverarbeitung" (PDF). Proceedings IEEE International Conference on Software Maintenance (ICSM 2006). IEEE Computer Society Press. S. 394–5. doi:10.1109/ase.2004.1342773. ISBN 0-7695-2131-2.
- Lanza, M. (2004). "COCECRAWLER - Polymetrische Ansichten in Aktion". Verfahren. 19. Internationale Konferenz über automatisierte Softwareentwicklung, Linz, Österreich, 20 24. September 2004. S. 394–5. doi:10.1109/ase.2004.1342773. ISBN 0-7695-2131-2.
- Lopez, F. L.; Robles, G.; Gonzalez, B.J.M. (2004). "Analyse der sozialen Netzwerkanalyse auf die Informationen in CVS -Repositories". Internationaler Workshop für Bergbau -Software -Repositories (MSR 2004) "W17S Workshop 26. Internationale Konferenz für Software Engineering, Edinburgh, Schottland, Großbritannien, 25. Mai 2004. Iet. S. 101–5. doi:10.1049/IC: 20040485. ISBN 0-86341-432-x.
- Marcus, A.; Feng, L.; Maletikum, J.I. (2003). "3D -Darstellungen für die Softwarevisualisierung". Verfahren des ACM -Symposiums 2003 zur Softwarevisualisierung. S. 27 - FF. doi:10.1145/774833.774837. ISBN 1581136420. S2CID 10263993.
- Soukup, Tom; Davidson, Ian (2002). Visual Data Mining: Techniken und Tools für die Datenvisualisierung und -abbau. Wiley. ISBN 978-0-471-27138-3.
- Staples, M. L.; Bieman, J. M. (1999). "3-D-Visualisierung der Softwarestruktur". Fortschritte in Computern. 49: 96–143. doi:10.1016/s0065-2458 (08) 60284-3. ISBN 9780120121496.
- Stasko, John; Brown, Marc H.; Domingue, John B.; Price, Blaine A. (1998). Softwarevisualisierung: Programmierung als Multimedia -Erlebnis. MIT Press. ISBN 978-0-262-19395-5.
- Van Rysselberghe, F.; Demeyer, S. (2004). "Studium der Software -Evolutionsinformationen durch Visualisierung der Änderungsgeschichte". Verfahren. 20. Internationale Konferenz zur Softwarewartung. IEEE Computer Society Press. S. 328–337. doi:10.1109/icsm.2004.1357818. ISBN 0-7695-2213-0. S2CID 16571788.
- Wettel, R.; Lanza, M. (2007). "Visualisierung von Softwaresystemen als Städte". Proceedings of Vissoft 2007 (4. IEEE International Workshop zur Visualisierung von Software zum Verständnis und Analyse). IEEE Computer Society Press. S. 92–99. doi:10.1109/vissof.2007.4290706. ISBN 978-1-4244-0599-2. S2CID 9974947.
- Zhang, K. (2003). Softwarevisualisierung - von Theorie zu Praxis. Kluwer. ISBN 1-4020-7448-4.