Visualización de software - Enciclopedia
La visualización del software o software visualisation se refiere a la visualización de información de y relacionada con sistemas de software, ya sea la arquitectura de su código fuente o las métricas de su comportamiento en tiempo de ejecución, así como su proceso de desarrollo mediante representaciones visuales estáticas, interactivas o animadas en 2-D o 3-D de su estructura, ejecución, comportamiento y evolución.
Información del sistema de software
La visualización del software utiliza una variedad de información disponible sobre sistemas de software. Las categorías de información clave incluyen:
- Artefactos de implementación como códigos fuente,
- Datos de métricas de software de mediciones o ingeniería inversa,
- Traces que registran el comportamiento de ejecución,
- Datos de pruebas de software (por ejemplo, cobertura de pruebas)
- Datos del repositorio de software que rastrea los cambios.
Objetivos
Los objetivos de la visualización del software son apoyar la comprensión de los sistemas de software (es decir, su estructura) y los algoritmos (por ejemplo, animando el comportamiento de los algoritmos de ordenamiento) así como el análisis y exploración de sistemas de software y sus anormalidades (por ejemplo, mostrando clases con alto acoplamiento) y su desarrollo y evolución. Una de las fortalezas de la visualización del software es combinar y relacionar información de sistemas de software que no están inherentemente conectados, por ejemplo, proyectando cambios en el código sobre trazas de ejecución del software.
La visualización del software puede ser utilizada como herramienta y técnica para explorar y analizar información de sistemas de software, por ejemplo, para descubrir anormalidades similares al proceso de minería de datos visuales. Por ejemplo, la visualización del software se utiliza para monitorear actividades como la calidad del código o la actividad del equipo. La visualización no es inherentemente un método para la garantía de calidad del software. La visualización del software participa en la Inteligencia del Software permitiendo descubrir y aprovechar el dominio de los componentes internos de los sistemas de software.
Tipos
Las herramientas para la visualización del software pueden utilizarse para visualizar el código fuente y los defectos de calidad durante las actividades de desarrollo y mantenimiento del software. Hay diferentes enfoques para mapear el código fuente a una representación visual, como los mapas de software. Su objetivo incluye, por ejemplo, el descubrimiento y visualización automática de defectos de calidad en sistemas de software orientados a objetos y servicios. Comúnmente, visualizan la relación directa de una clase y sus métodos con otras clases en el sistema de software y marcan posibles defectos de calidad. Un beneficio adicional es el apoyo para la navegación visual a través del sistema de software.
Se utiliza más o menos software de dibujo de gráficos especializado para la visualización del software. Una encuesta a pequeña escala de 2003 de investigadores activos en los campos de ingeniería inversa y mantenimiento de software encontró que se utilizaban una amplia variedad de herramientas de visualización, incluyendo paquetes de dibujo de gráficos de propósito general como GraphViz y GraphEd, herramientas UML como Rational Rose y Borland Together, y herramientas más especializadas como Visualization of Compiler Graphs (VCG) y Rigi. El rango de herramientas UML que pueden actuar como visualizadores mediante ingeniería inversa del código no es corto; un libro de 2007 notó que, además de las dos herramientas mencionadas, ESS-Model, BlueJ y Fujaba también tienen esta capacidad, y que Fujaba puede identificar patrones de diseño.
Ver también
- Imagix 4D
- NDepend
- Sourcetrail
- Descubrimiento y comprensión de aplicaciones
- Mantenimiento de software
- Mapas de software
- Diagnóstico de software
- Dimensiones cognitivas de las notaciones
- Arqueología de software
Referencias
Leer más
Roels, R.; Meştereagă, P.; Signer, B. (2016). "An Interactive Source Code Visualisation Plug-in for the MindXpres Presentation Platform". Computer Supported Education. Communications in Computer and Information Science. Vol. 583. Springer. pp. 169–188. 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 software archives". Proceedings of the 2005 ACM symposium on Software visualization (SoftVis '05). pp. 37–46. doi:10.1145/1056018.1056024. ISBN 1595930736. S2CID 1577375.
Diehl, S. (2002). Software Visualization. International Seminar Dagstuhl Castle, Germany, May 20–25, 2001 Revised Papers. Lecture Notes in Computer Science. Vol. 2269. Springer. doi:10.1007/3-540-45875-1. ISBN 978-3-540-43323-1. S2CID 21007575.
Diehl, S. (2007). Software Visualization — Visualizing the Structure, Behaviour, and Evolution of Software. Springer. ISBN 978-3-540-46504-1.
Eades, P.; Zhang, K. (1996). Software Visualisation. Series on Software Engineering and Knowledge Engineering. Vol. 7. World Scientific. ISBN 981-02-2826-0.
Gîrba, T.; Kuhn, A.; Seeberger, M.; Ducasse, S. (2005). "How Developers Drive Software Evolution" (PDF). Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2005). IEEE Computer Society Press. pp. 113–122. doi:10.1109/IWPSE.2005.21. ISBN 0-7695-2349-8. S2CID 9260583.
Keim, D.A. (January–March 2002). "Information visualization and visual data mining". IEEE Transactions on Visualization and Computer Graphics. 8 (1): 1–8. Bibcode:2002ITVCG...881847K. doi:10.1109/2945.981847.
Knight, C. (2002). "System and Software Visualization". In Chang Shi-kuo (ed.). Emerging Technologies. Handbook Of Software Engineering And Knowledge Engineering. Vol. 2. World Scientific. pp. 131–148. ISBN 978-981-4491-78-5.
Kuhn, A.; Greevy, O. (2006). "Exploiting the Analogy Between Traces and Signal Processing" (PDF). Proceedings IEEE International Conference on Software Maintenance (ICSM 2006). IEEE Computer Society Press. pp. 394–5. doi:10.1109/ASE.2004.1342773. ISBN 0-7695-2131-2.
Lanza, M. (2004). "CodeCrawler — polymetric views in action". Proceedings. 19th International Conference on Automated Software Engineering, Linz, Austria, 20-24 Sept. 2004. pp. 394–5. doi:10.1109/ASE.2004.1342773. ISBN 0-7695-2131-2.
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. IET. pp. 101–5. doi:10.1049/ic:20040485 (inactive 12 July 2025). ISBN 0-86341-432-X.{{cite book}}: CS1 maint: DOI inactive as of July 2025 (link)
Marcus, A.; Feng, L.; Maletic, J.I. (2003). "3D representations for software visualization". Proceedings of the 2003 ACM symposium on Software visualization. pp. 27–ff. doi:10.1145/774833.774837. ISBN 1581136420. S2CID 10263993.
Soukup, Tom; Davidson, Ian (2002). Visual Data Mining: Techniques and Tools for Data Visualization and Mining. Wiley. ISBN 978-0-471-27138-3.
Staples, M.L.; Bieman, J.M. (1999). "3-D Visualization of Software Structure". Advances in Computers. 49: 96–143. CiteSeerX 10.1.1.13.3090. doi:10.1016/S0065-2458(08)60284-3. ISBN 9780120121496.
Stasko, John; Brown, Marc H.; Domingue, John B.; Price, Blaine A. (1998). Software Visualization: Programming as a Multimedia Experience. MIT Press. ISBN 978-0-262-19395-5.
Van Rysselberghe, F.; Demeyer, S. (2004). "Studying Software Evolution Information By Visualizing the Change History". Proceedings. 20th International Conference On Software Maintenance. IEEE Computer Society Press. pp. 328–337. doi:10.1109/ICSM.2004.1357818. ISBN 0-7695-2213-0. S2CID 16571788.
Wettel, R.; Lanza, M. (2007). "Visualizing Software Systems as Cities". Proceedings of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software For Understanding and Analysis). IEEE Computer Society Press. pp. 92–99. doi:10.1109/VISSOF.2007.4290706. ISBN 978-1-4244-0599-2. S2CID 9974947.
Zhang, K. (2003). Software Visualization — From Theory to Practice. Kluwer. ISBN 1-4020-7448-4.
Enlaces externos
- SoftVis el simposio ACM sobre Visualización del Software
- VISSOFT 2ª Conferencia de Trabajo IEEE sobre Visualización del Software
- EPDV Eclipse Project Dependencies Viewer