La visualización de software [1] [2] o visualización de software se refiere a la visualización de información de y relacionada con los sistemas de software, ya sea la arquitectura de su código fuente o métricas de su comportamiento en tiempo de ejecución, y su proceso de desarrollo por medio de sistemas estáticos, interactivos o animados. Representaciones visuales 2-D o 3-D [3] de su estructura, [4] ejecución, [5] comportamiento, [6] y evolución.
Información del sistema de software
La visualización de software utiliza una variedad de información disponible sobre los sistemas de software. Las categorías de información clave incluyen:
- artefactos de implementación como códigos fuente ,
- datos métricos de software de mediciones o de ingeniería inversa ,
- trazas que registran el comportamiento de ejecución,
- datos de prueba de software (p. ej., cobertura de prueba)
- datos del repositorio de software que rastrea los cambios.
Objetivos
Los objetivos de la visualización de software son apoyar la comprensión de los sistemas de software (es decir, su estructura) y algoritmos (p. Ej., Animando el comportamiento de los algoritmos de clasificación), así como el análisis y exploración de sistemas de software y sus anomalías (p. Ej., Mostrando clases con alto acoplamiento ) y su desarrollo y evolución. Uno de los puntos fuertes de la visualización de software es combinar y relacionar información de sistemas de software que no están intrínsecamente vinculados, por ejemplo, proyectando cambios de código en trazas de ejecución de software. [7]
La visualización de software se puede utilizar como herramienta y técnica para explorar y analizar la información del sistema de software, por ejemplo, para descubrir anomalías similares al proceso de minería de datos visual . [8] Por ejemplo, la visualización de software se utiliza para monitorear actividades como la calidad del código o la actividad del equipo. [9] La visualización no es inherentemente un método para garantizar la calidad del software . [ cita requerida ] La visualización de software participa en Software Intelligence al permitir descubrir y aprovechar el dominio de los componentes internos de los sistemas de software.
Tipos
Las herramientas para la visualización de software se pueden utilizar para visualizar el código fuente y los defectos de calidad durante las actividades de desarrollo y mantenimiento de software. Existen diferentes enfoques para mapear el código fuente a una representación visual, como mediante mapas de software [10]. Su objetivo incluye, por ejemplo, el descubrimiento automático y la visualización de defectos de calidad en sistemas y servicios de software orientados a objetos. Por lo general, 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. Otro beneficio es el soporte para la navegación visual a través del sistema de software.
Se utiliza un software de dibujo de gráficos más o menos especializado para la visualización del software. Un estudio de investigadores activos en los de pequeña escala 2003 de ingeniería inversa y mantenimiento de software campos encontró que se utiliza una amplia variedad de herramientas de visualización, incluyendo el gráfico de propósito general dibujo paquetes como GraphViz y se representan, herramientas UML como Rational Rose y Borland Together , y más herramientas especializadas como Visualización de gráficos compiladores (VCG) y Rigi . [11] : 99–100 La gama de herramientas UML que pueden actuar como visualizador mediante una fuente de ingeniería inversa no es de ninguna manera corta; un libro de 2007 señaló que, además de las dos herramientas mencionadas, ESS-Model, BlueJ y Fujaba también tienen esta capacidad, y que Fujaba también puede identificar patrones de diseño . [12]
Ver también
- Programas
- Conceptos relacionados
- Descubrimiento y comprensión de aplicaciones
- Mantenimiento del software
- Mapas de software
- Diagnóstico de software
- Dimensiones cognitivas de notaciones
- Arqueología de software
Referencias
- ↑ Bohnet, Johannes; Döllner, Jürgen (2006). "Análisis de la implementación de funciones mediante la exploración visual de gráficos de llamadas incrustados arquitectónicamente". IV Taller Internacional de Análisis Dinámico . Prensa ACM. págs. 41–48. doi : 10.1145 / 1138912.1138922 . ISBN 1595934006. S2CID 17556465 .
- ^ Diehl 2002 ; Diehl 2007 ; Caballero 2002
- ↑ ( Marcus, Feng y Maletic 2003 ; Wettel y Lanza 2007 )
- ^ Staples y Bieman 1999
- ^ Trümper, J .; Döllner, J .; Telea, A. (2013). "Comparación visual multiescala de trazas de ejecución". Actas de la Conferencia Internacional sobre Comprensión de Programas (PDF) . Sociedad de Informática IEEE. págs. 53–62. doi : 10.1109 / ICPC.2013.6613833 . ISBN 978-1-4673-3092-3. S2CID 206839054 .
- ^ ( Kuhn y Greevy 2006 , Stasko et al. 1998 )
- ^ Bohnet, J .; Voigt, S .; Döllner, J. (2009). "Proyección de cambios de código en seguimientos de ejecución para apoyar la localización de errores introducidos recientemente". Actas del simposio ACM 2009 sobre Computación Aplicada . págs. 438–442. doi : 10.1145 / 1529282.1529378 . ISBN 9781605581668. S2CID 8349297 .
- ↑ ( Keim 2002 ; Soukup y Davidson 2002 ; Burch, Diehl y Weißgerber 2005 )
- ^ Bohnet, J .; Döllner, J. (2011). "Seguimiento de la calidad del código y la actividad de desarrollo mediante mapas de software". Actas del taller IEEE ACM ICSE sobre gestión de la deuda técnica . Asociación para Maquinaria de Computación. págs. 9-16. doi : 10.1145 / 1985362.1985365 . ISBN 9781450305860. S2CID 17258620 .
- ^ Limberger, D .; Wasty, B .; Trümper, J .; Döllner, J. (2013). "Mapas de software interactivos para el análisis de código fuente basado en web". Actas de la 18ª Conferencia Internacional sobre Tecnología Web 3D . págs. 91–98. doi : 10.1145 / 2466533.2466550 . ISBN 9781450321334. S2CID 3040005 .
- ^ Koschke, Rainer (2003). "Visualización de software en mantenimiento de software, ingeniería inversa y reingeniería: una encuesta de investigación". Revista de mantenimiento y evolución de software: investigación y práctica . 15 (2): 87–109. doi : 10.1002 / smr.270 .
- ^ Diehl 2007 , p. 63
Otras lecturas
- Roels, R .; Meştereagă, P .; Firmante, B. (2016). "Un complemento de visualización de código fuente interactivo para la plataforma de presentación MindXpres". Comunicaciones en Informática y Ciencias de la Información (CCIS) . Saltador. doi : 10.1007 / 978-3-319-29585-5_10 . ISBN 978-3-319-29584-8.
- Burch, M .; Diehl, S .; Weißgerber, P. (2005). "Minería de datos visuales en archivos de software". Actas del simposio 2005 de ACM sobre visualización de software (SoftVis '05) . págs. 37–46. doi : 10.1145 / 1056018.1056024 . ISBN 1595930736. S2CID 1577375 .
- Diehl, S. (2002). Visualización de software. Seminario internacional Castillo de Dagstuhl, Alemania, 20 al 25 de mayo de 2001 Revised Papers . Apuntes de conferencias en Ciencias de la Computación. 2269 . Saltador. doi : 10.1007 / 3-540-45875-1 . ISBN 978-3-540-43323-1. S2CID 21007575 .
- Diehl, S. (2007). Visualización de software: visualización de la estructura, el comportamiento y la evolución del software . Saltador. ISBN 978-3-540-46504-1.
- Eades, P .; Zhang, K. (1996). Visualización de software . Serie sobre Ingeniería de Software e Ingeniería del Conocimiento. 7 . World Scientific. ISBN 981-02-2826-0.
- Gîrba, T .; Kuhn, A .; Seeberger, M .; Ducasse, S. (2005). "Cómo los desarrolladores impulsan la evolución del software" (PDF) . Actas del Taller internacional sobre los principios de la evolución del software (IWPSE 2005) . IEEE Computer Society Press. págs. 113-122. doi : 10.1109 / IWPSE.2005.21 . ISBN 0-7695-2349-8. S2CID 9260583 .
- Keim, DA (enero-marzo de 2002). "Visualización de información y minería visual de datos". Transacciones IEEE sobre visualización y gráficos por computadora . 8 (1): 1–8. doi : 10.1109 / 2945.981847 .
- Knight, C. (2002). "Visualización de sistemas y software" . En Chang Shi-kuo (ed.). Tecnologías emergentes . Manual de Ingeniería de Software e Ingeniería del Conocimiento. 2 . World Scientific. págs. 131-148. ISBN 978-981-4491-78-5.
- Kuhn, A .; Greevy, O. (2006). "Explotación de la analogía entre trazas y procesamiento de señales" (PDF) . Actas IEEE International Conference on Software Maintenance (ICSM 2006) . IEEE Computer Society Press. págs. 394–5. doi : 10.1109 / ASE.2004.1342773 . ISBN 0-7695-2131-2.
- Lanza, M. (2004). "CodeCrawler - vistas polimétricas en acción". Actas. XIX Conferencia Internacional sobre Ingeniería de Software Automatizada, Linz, Austria, 20 24 de septiembre de 2004 . págs. 394–5. doi : 10.1109 / ASE.2004.1342773 . ISBN 0-7695-2131-2.
- Lopez, FL; Robles, G .; González, BJM (2004). "Aplicar el análisis de redes sociales a la información en repositorios CVS". Taller Internacional sobre Minería repositorios de software (MSR 2004)" W17S 26ª Conferencia Internacional Taller sobre Ingeniería de Software, Edimburgo, Escocia, Reino Unido 25 May 2004 IET pp 101-5.... Doi : 10.1049 / CI: 20.040.485 . ISBN 0-86341-432-X.
- Marcus, A .; Feng, L .; Maletic, JI (2003). "Representaciones 3D para visualización de software". Actas del simposio ACM 2003 sobre visualización de software . págs. 27 – y sigs. doi : 10.1145 / 774833.774837 . ISBN 1581136420. S2CID 10263993 .
- Soukup, Tom; Davidson, Ian (2002). Minería visual de datos: técnicas y herramientas para la visualización y minería de datos . Wiley. ISBN 978-0-471-27138-3.
- Grapas, ML; Bieman, JM (1999). "Visualización 3-D de la estructura del software". Avances en informática . 49 : 96-143. doi : 10.1016 / S0065-2458 (08) 60284-3 . ISBN 9780120121496.
- Stasko, John; Brown, Marc H .; Domingue, John B .; Precio, Blaine A. (1998). Visualización de software: la programación como experiencia multimedia . Prensa del MIT. ISBN 978-0-262-19395-5.
- Van Rysselberghe, F .; Demeyer, S. (2004). "Estudio de la información de la evolución del software mediante la visualización del historial de cambios". Actas. XX Congreso Internacional de Mantenimiento de Software . IEEE Computer Society Press. págs. 328–337. doi : 10.1109 / ICSM.2004.1357818 . ISBN 0-7695-2213-0. S2CID 16571788 .
- Wettel, R .; Lanza, M. (2007). "Visualización de sistemas de software como ciudades". Actas de VISSOFT 2007 (4º Taller Internacional IEEE sobre Visualización de Software para Comprensión y Análisis) . IEEE Computer Society Press. págs. 92–99. doi : 10.1109 / VISSOF.2007.4290706 . ISBN 978-1-4244-0599-2. S2CID 9974947 .
- Zhang, K. (2003). Visualización de software: de la teoría a la práctica . Kluwer. ISBN 1-4020-7448-4.
enlaces externos
- SoftVis el Simposio de ACM sobre visualización de software
- VISSOFT 2nd IEEE Working Conference on Software Visualization
- Visor de dependencias del proyecto EPDV Eclipse