Mapa de software

Ir a: navegación, búsqueda de

A mapa de software representa la información estática, dinámica y evolutiva de sistemas de software y sus procesos de desarrollo de software por medio de 2D o 3D y orientada a mapas visualización de la información. Constituye un concepto fundamental y una herramienta en visualización de software, Análisis de software, y diagnóstico software. Sus aplicaciones principales incluyen análisis de riesgos para y seguimiento de calidad del código, equipo actividad o progreso de desarrollo de software [1] y, en general, mejora de eficacia de la ingeniería de software con respecto a todos los artefactos, procesos y actores a lo largo de la Ingeniería de software proceso y mantenimiento de software.

Contenido

  • 1 Motivación y conceptos
  • 2 Aplicaciones
  • 3 Contenido del Software de mapas
  • 4 Ejemplo de mapeo de información del sistema Software
  • 5 Software de mapas como herramientas de Business Intelligence y sistemas de recomendación
  • 6 Técnicas de visualización
    • 6.1 Algoritmos de diseño
    • 6.2 Estabilidad de diseño
  • 7 Historia
  • 8 Referencias
  • 9 Enlaces externos

Motivación y conceptos

Mapas del software se aplican en el contexto de Ingeniería de software:: Complejo, a largo plazo desarrollo de software proyectos comúnmente enfrentan múltiples dificultades como la fricción entre completando las características del sistema y, al mismo tiempo, obteniendo un alto grado de calidad del código y calidad de software para asegurar la mantenimiento de software del sistema en el futuro. En particular, "mantener los sistemas software complejos tiende a ser costoso porque los desarrolladores pasamos una parte significativa de su tiempo tratando de comprender la estructura y el comportamiento del sistema".[2] La idea clave de software de mapas es hacer frente a ese desafío y optimización de problemas proporcionando medios de comunicación eficaz para cerrar la brecha de comunicación entre los diversos actores y dominios de información dentro de proyectos de desarrollo de software y obtención de conocimientos en el sentido de visualización de la información.

Software mapas aprovechan bien definidos cartográfica mapa técnicas usando el virtual Modelo 3D de la ciudad metáfora[3] para expresar el complejo subyacente, abstracto espacio informativo. La metáfora es necesaria "puesto que el software tiene forma física, no hay ninguna asignación natural del software a un espacio bidimensional".[4] Software mapas son no-espacial mapas que tienen que convertir los datos de la jerarquía y sus atributos en una representación espacial.

Aplicaciones

Software mapas generalmente permiten la comunicación comprensible y eficaz de los riesgos y los costos de desarrollo de software proyectos a diversos actores tales como equipos de gestión y desarrollo. Comunican el estado de las aplicaciones y sistemas actualmente siendo desarrollado o desarrollándose a líderes de proyectos y gestión de un vistazo. "Un aspecto clave para esta toma de decisiones es que software de mapas proporcionan el contexto estructural necesario para la correcta interpretación de estos indicadores de desempeño".[5] Como instrumento de comunicación, software de mapas actúan como espacios de información abierto y transparente que permiten a las prioridades de la calidad del código y la creación de nuevas funciones para equilibrarse uno contra el otro y decidir e implementar las medidas necesarias para mejorar la proceso de desarrollo de software.

Por ejemplo, facilitan las decisiones en cuanto a donde en el código de un aumento de calidad sería beneficioso tanto para acelerar las actividades de desarrollo actual y para reducir los riesgos de problemas de mantenimiento futuro.

Debido a su alto grado de expresividad (por ejemplo, densidad de información) y su generación instantánea, automatizado, además los mapas sirven para reflejar el estado actual del sistema y los procesos de desarrollo, cerrar una brecha de información esencial entre la gerencia y los equipos de desarrollo, mejoran el conocimiento sobre el estado y servir como instrumento de detección de riesgo temprano.

Contenido del Software de mapas

Software mapas se basan en información objetiva según lo determinado por la KPI impulsada por análisis de código así como por información de importados repositorio de software sistemas, información de la códigos fuente, o herramientas de desarrollo de software y herramientas de programación. En particular, software de mapas no están limitados a un específico lenguaje de programación, lenguaje de modelado, o proceso de desarrollo de software modelo.

Software mapas usan la jerarquía de los artefactos de implementación de software tales como código fuente los archivos como base para construir una asignación de árbol, es decir, un área rectangular que representa la jerarquía toda, subdividiendo el área en las subzonas rectangulares. Un mapa de software, hablando informalmente, es similar a una virtual Modelo 3D de la ciudad, por el que los artefactos del sistema software aparecen como edificios en 3D virtuales, rectangulares o Torres, que se colocan según su posición en la jerarquía de implementación de software.

Software de mapas pueden expresar y combinar la información sobre el desarrollo de software, calidad de software y dinámica del sistema mediante la asignación de esa información sobre variables visuales[6] de los elementos del mapa de árbol como huella tamaño, altura, color o textura. Ellos pueden sistemáticamente especificar, generado automáticamente y organizado por plantillas.

Ejemplo de mapeo de información del sistema Software

Software de mapas "combinar información temática sobre procesos de desarrollo de software (evolución), calidad de software, estructura y dinámica y mostrar esa información en forma cartográfica".[7] Por ejemplo:

  • La altura de un edificio virtual puede ser proporcional a la complejidad de la unidad del código (por ejemplo, solo o combinado métricas de software).
  • El área de tierra de un edificio 3D virtual puede ser proporcional al número de líneas de código en el módulo o (por ejemplo, no comentario líneas de código-NCLOC).
  • El color puede expresar el estado de desarrollo actual, es decir, cómo muchos desarrolladores son cambiar/editar la unidad de código.

Con esta configuración ejemplar, el software mapa muestra puntos cruciales en el código fuente con relación a aspectos del proceso de desarrollo software. Por ejemplo, resulta obvio de un vistazo qué cambiar a fin de:

  • implementar cambios rápidamente;
  • evaluar rápidamente el impacto de los cambios en un solo lugar en funcionalidad en otros lugares;
  • reducir enredos que conducen a procesos incontrolados en la aplicación;
  • encontrar errores más rápido;
  • descubrir y eliminar el mal estilo de programación.

Software mapas representan herramientas clave en el ámbito del diagnóstico software automatizado software de diagnósticos.

Software de mapas como herramientas de Business Intelligence y sistemas de recomendación

Mapas de software pueden ser utilizados, en particular, como herramienta de análisis y presentación de inteligencia de negocios sistemas, especializado en el análisis del software de datos relacionados. Además, software de mapas "sirven como sistemas de recomendación para la ingeniería de software".[8]

Software mapas no están limitados por información relacionada con el software: pueden incluir cualquier sistema jerárquico información así como, por ejemplo, mantenimiento de artefactos técnicos complejos.

Técnicas de visualización

Software mapas son investigados en el dominio de visualización de software. La visualización de mapas de software comúnmente se basa en asignación de árbol, "un enfoque de relleno de espacio para la visualización de estructuras jerárquicas de información"[9] o asignación de otra jerarquía enfoques.

Algoritmos de diseño

Para construir mapas de software, diseño diferentes enfoques se utilizan para generar el mappig espacial básica de componentes tales como:

  • Algoritmos de árbol-mapa mapa inicialmente la jerarquía de software en un área rectangular de forma recursiva anidado.
  • Algoritmos de Voronoi-mapa mapa inicialmente la jerarquía de software mediante la generación de un Voronoi mapa.

Estabilidad de diseño

El arreglo espacial computado por diseños tales como definidos por árbol mapas depende estrictamente de la jerarquía. Si software mapas tienen que generarse con frecuencia para una evolución o cambio de sistema, la usabilidad del software mapas es afectada por diseños de inestable, es decir, cambios menores a la jerarquía pueden causar cambios significativos en el diseño.

En contraste con regular Voronoi treemap algoritmos, que no ofrecen diseños deterministas, algoritmo de diseño para los treemaps Voronoi puede ampliarse a proporciona un alto grado de similitud de diseño para diferentes jerarquías.[10] Enfoques similares existen para el caso de árbol-mapa base.

Historia

Software de mapas de métodos y técnicas pertenecen el displine científico de Visualización de software y visualización de la información. Forman un concepto clave y técnica dentro del campo de diagnóstico software. Tienen aplicaciones también en minería de software y Análisis de software. Mapas de software se han desarrollado ampliamente e investigado por, por ejemplo, en el Instituto Hasso Plattner para sistemas de ingeniería, en particular para aplicaciones y sistemas informáticos a gran escala y complejos.

Referencias

  1. ^ Monitoreo calidad del código y la actividad de desarrollo de Software mapas Johannes Bohnet y Döllner, Jürgen. En: Proceedings of the IEEE ACM CISE Workshop sobre gestión de deuda técnica, págs. 9-16, 2011.
  2. ^ J. Bohnet: Visualización de trazas de ejecución y su aplicación al mantenimiento de Software. Tesis doctoral, Hasso Plattner-Instituto, Universidad de Potsdam, 2011.
  3. ^ R. Wettel, M. Lanza: Visualización de sistemas de Software como ciudades. 4th IEEE Workshop Internacional sobre Software de visualización para la comprensión y análisis, 2007.
  4. ^ A. Kuhn, p. Loretan, O. Nierstrasz: Constante disposición para mapas temáticos Software2008.
  5. ^ D. Limberger et al.: Mapas de Software interactivo para el análisis del código fuente basada en Web. Actas de la Conferencia Internacional Web3D, ACM, págs. 8, 2013.
  6. ^ "Considerando Variables visuales como base para la visualización de la información".
  7. ^ Jonas Trümper, Jürgen Döllner: Sistemas de recomendación extensible con Software de mapas. Proceedings of the 3rd Workshop CISE Internacional sobre sistemas de recomendación para la ingeniería del Software (RSSE), IEEE Computer Society, pp. 92-96, 2012.
  8. ^ Jonas Trümper, Jürgen Döllner: Sistemas de recomendación extensible con Software de mapas. Proceedings of the 3rd Workshop CISE Internacional sobre sistemas de recomendación para la ingeniería del Software (RSSE), IEEE Computer Society, pp. 92-96, 2012.
  9. ^ B. Johnson, B. Sneiderman: Árbol-mapas: un enfoque de relleno de espacio para la visualización de estructuras jerárquicas de información. Proc. de IEEE VIS, 284 – 291, 1991.
  10. ^ S. alarmante et al.: Visualización de diferentes jerarquías estable de diagramación de Voronoi Treemaps. Proceedings of the 5th International Conference en teoría de la visualización de información y aplicaciones (IVAPP 2014), SCITEPRESS – ciencia y tecnología publicaciones, págs. 50-58, 2014.

Enlaces externos

  • Conferencia científica VISSOFT (IEEE Working Conference en Software de visualización) [1]
  • Representación interactiva de complejos 3D-los Treemaps
  • Comparación Visual multiescala de trazas de ejecución
  • Mapas de Software interactivo para el análisis del código fuente basada en Web
  • Sistemas de recomendación extensible con Software de mapas
  • Un enfoque de análisis Visual para apoyar el mantenimiento del Software perfectivo
  • ViewFusion: La correlación de estructura y actividad vistas de trazas de ejecución
  • Un análisis Visual y una herramienta de diseño para la planificación de Software Reengineerings
  • Anotaciones Areal interactivas para los Treemaps 3D de sistemas de Software a gran escala
  • Visualización de trazas de ejecución y su aplicación al mantenimiento de Software
  • Entender sistemas complejos de Software multihilo usando visualización rastro
  • Visualización del comportamiento multiproceso para facilitar el mantenimiento de los sistemas complejos de Software
  • Visualizando masivamente podados trazas de ejecución para facilitar la exploración del rastro
  • Proyectar cambios en el código sobre rastros de ejecución para apoyar la localización del recientemente introducido errores
  • SyncTrace: Análisis Visual del hilo de rosca-interacción

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=Software_map&oldid=622302728"