stringtranslate.com

Visualización de software

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 mediante representaciones visuales estáticas, interactivas o animadas en 2D o 3D [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:

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 (por ejemplo, animando el comportamiento de los algoritmos de ordenamiento), así como el análisis y la exploración de los sistemas de software y sus anomalías (por ejemplo, mostrando clases con alto acoplamiento ) y su desarrollo y evolución. Una de las fortalezas de la visualización de software es combinar y relacionar información de sistemas de software que no están inherentemente vinculados, por ejemplo, proyectando cambios de código sobre rastros de ejecución de software. [7]

La visualización de software se puede utilizar como herramienta y técnica para explorar y analizar 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 el aseguramiento de la calidad del software . [ cita requerida ] La visualización de software participa en la inteligencia de software al permitir descubrir y aprovechar el dominio de los componentes internos de los sistemas de software.

Tipos

Las herramientas de 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 los mapas de software [10]. Su objetivo incluye, por ejemplo, el descubrimiento y visualización automáticos de defectos de calidad en sistemas y servicios de software orientados a objetos. Comúnmente, visualizan la relación directa de una clase y sus métodos con otras clases en el sistema de software y marcan los posibles defectos de calidad. Un beneficio adicional es el soporte para la navegación visual a través del sistema de software.

Para la visualización de software se utiliza un software de dibujo de gráficos más o menos especializado . 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 utilizaba una amplia variedad de herramientas de visualización, incluidos 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 . [11] : 99–100  La gama de herramientas UML que pueden actuar como visualizador mediante ingeniería inversa de fuentes no es en absoluto corta; un libro de 2007 señaló que además de las dos herramientas mencionadas anteriormente, ESS-Model, BlueJ y Fujaba también tienen esta capacidad, y que Fujaba también puede identificar patrones de diseño . [12]

Véase también

Referencias

  1. ^ Bohnet, Johannes; Döllner, Jürgen (2006). "Análisis de la implementación de características mediante la exploración visual de gráficos de llamadas integrados arquitectónicamente". 4.º Taller internacional sobre análisis dinámico . ACM Press. págs. 41–48. doi :10.1145/1138912.1138922. ISBN. 1595934006.S2CID17556465  .​
  2. ^ Diehl 2002; Diehl 2007; Caballero 2002
  3. ^ (Marcus, Feng y Maletic 2003; Wettel y Lanza 2007)
  4. ^ Staples y Bieman 1999
  5. ^ 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) . IEEE Computer Society. págs. 53–62. doi :10.1109/ICPC.2013.6613833. ISBN 978-1-4673-3092-3.S2CID206839054  .​
  6. ^ (Kuhn y Greevy 2006, Stasko y otros 1998)
  7. ^ Bohnet, J.; Voigt, S.; Döllner, J. (2009). "Proyectar cambios de código en trazas de ejecución para apoyar la localización de errores introducidos recientemente". Actas del simposio ACM de 2009 sobre informática aplicada . págs. 438–442. doi :10.1145/1529282.1529378. ISBN 9781605581668.S2CID8349297  .​
  8. ^ (Keim 2002; Soukup y Davidson 2002; Burch, Diehl y Weißgerber 2005)
  9. ^ Bohnet, J.; Döllner, J. (2011). "Monitoreo 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 . Association for Computing Machinery. págs. 9–16. doi :10.1145/1985362.1985365. ISBN . 9781450305860. Número de identificación del sujeto  17258620.
  10. ^ Limberger, D.; Wasty, B.; Trümper, J.; Döllner, J. (2013). "Mapas de software interactivos para análisis de código fuente basado en la web". Actas de la 18.ª Conferencia internacional sobre tecnología web 3D . págs. 91–98. doi :10.1145/2466533.2466550. ISBN . 9781450321334.S2CID3040005  .​
  11. ^ Koschke, Rainer (2003). "Visualización de software en mantenimiento de software, ingeniería inversa y reingeniería: un estudio 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 .
  12. ^ Diehl 2007, pág. 63

Lectura adicional

Enlaces externos