Skip to main content

¿Qué es la visualización de software?

  • Barret

La visualización de software es el acto de usar programas o complementos de entorno de desarrollo integrado (IDE) durante el desarrollo y prueba de aplicaciones de software; Esto permite la creación de una representación gráfica de algún aspecto del software con el fin de determinar si hay problemas o ineficiencias dentro del programa. Existen varios tipos de técnicas de visualización de software, pero se utilizan con mayor frecuencia para ver detalles sobre el código fuente del programa, para examinar las relaciones entre los componentes del software o para ver una vista abstracta de cómo se está ejecutando un programa, incluida información sobre cómo funciona. interactuando con los procesos circundantes. En general, la visualización de software se utiliza en sistemas complejos para ayudar a descubrir comportamientos fuera de lo común o uso de recursos, o para ver áreas de un diseño que son innecesarias o que no funcionan correctamente. La representación visual real que se utiliza varía mucho de bloques de texto interconectados a gráficos de barras bidimensionales (2D) para elaborar objetos tridimensionales (3D) que cambian de forma a medida que se ejecuta un programa.

En algunos casos, puede ser útil utilizar la visualización de software para ver el código fuente de un programa. Mediante el uso de colores y abstracciones, se pueden ver cantidades masivas de código escrito a la vez. La intención podría ser determinar cuánto código se usa para qué propósito o, alternativamente, la pantalla podría estar vinculada a un perfilador o depurador que resalte bloques de código que tardan mucho tiempo en ejecutarse o que se ejecutan con frecuencia.

Los lenguajes de programación orientados a objetos pueden usar la visualización de software para determinar las relaciones entre las diferentes bibliotecas, clases y métodos en un programa. Esto ayuda a determinar las dependencias entre las diferentes áreas de un programa, algunas de las cuales pueden ser involuntarias. También puede mostrar clases o métodos en un programa que nunca se llaman o que la lógica del programa hace inalcanzables. Visualmente, un gráfico de dependencia o relación puede verse como una red de redes y líneas, esferas superpuestas de diferentes tamaños, o incluso las ramas de un árbol.

Una vez que se ejecuta un programa, la visualización de software en tiempo real puede mostrar una representación abstracta de cómo se está ejecutando el programa, cómo se manejan las diferentes colas y cómo fluyen las entradas y salidas. Esto puede ayudar a los desarrolladores a ver picos o brechas en el rendimiento y las áreas que reciben una actividad excepcionalmente alta. Estos tipos de visualizaciones pueden parecerse a casi cualquier cosa, desde mover bloques de colores y formas de onda hasta cambiar mapas topográficos que representan segmentos de código que se están ejecutando. En general, sin embargo, la visualización se mantiene bastante básica, por lo que los eventos anómalos se pueden ver y observar claramente sin un desorden gráfico excesivo.

Existen otras aplicaciones para la visualización de software, una de las cuales es la ingeniería inversa de una aplicación. Al observar cómo un programa interactúa y se ejecuta, se pueden enfocar diferentes segmentos del código sin requerir una curva de aprendizaje inicial empinada. Un uso más específico es en el ámbito de la seguridad informática para observar qué áreas de un programa están interactuando con procesos externos, o qué áreas están abiertas a ataques.