Saltar al contenido

Mantenibilidad del software

10/10/2020

Esta encuesta tiene como objetivo revisar y analizar artículos que utilizan la refactorización basada en búsquedas. Aplicamos ciertos criterios de inclusión y exclusión para encontrar artículos relevantes en varias bases de datos de investigación.

  • A medida que avanza el proceso de desarrollo, las métricas del proyecto se utilizan para rastrear los errores detectados durante cada fase de desarrollo.
  • El punto final puede desencadenarse por varias condiciones, como el número de iteraciones ejecutadas o la cantidad de tiempo transcurrido.
  • Por ejemplo, a medida que el software evoluciona del diseño a la codificación, se recopilan métricas del proyecto para evaluar la calidad del diseño y obtener indicadores que, a su vez, afectan el enfoque elegido para la codificación y las pruebas.
  • Varias métricas de software se incorporan en soluciones, como herramientas de gestión del rendimiento de las aplicaciones, junto con datos e información sobre el uso de las aplicaciones, el rendimiento del código, las solicitudes lentas y mucho más.
  • Si bien el proceso de definición de objetivos, selección de métricas e implementación de métodos de medición consistentes puede llevar mucho tiempo, las ganancias de productividad y el tiempo ahorrado durante la vida de un proyecto hacen que se invierta bien el tiempo.
  • Además, las métricas del proyecto se utilizan para medir la tasa de producción, que se mide en términos de modelos desarrollados, puntos de función y líneas de código entregadas.

Patrón de llegada de defectos durante la prueba de la máquina

Simons, Singer y White compararon los valores de las métricas con opiniones profesionales para deducir si las métricas por sí solas son suficientes para refactorizar un programa de manera útil. Construyeron una serie de ejemplos de software y utilizaron una selección de métricas para medirlos. Se les preguntó su opinión sobre la calidad de las soluciones preguntándoles si estaban de acuerdo o en desacuerdo lasplantasdeinterior.net con que una solución era reutilizable, flexible o comprensible. Las métricas se correspondieron con los atributos de calidad y se produjeron gráficos de correlación para medir si existía alguna correlación entre las opiniones del ingeniero y los valores de las métricas. Ó Cinnéide et al. realizó una investigación para medir y comparar diferentes métricas de cohesión con la ayuda de la plataforma CODe-Imp.

Métricas de procesos ágiles

Radically Undervalued Array Technologies – Seeking Alpha

Radically Undervalued Array Technologies.

Posted: Tue, 05 Jan 2021 23:25:00 GMT [source]

Se utilizaron cinco métricas de cohesión populares en ocho programas Java diferentes del mundo real para medir la volatilidad de las métricas. Se encontró que las cinco métricas que tenían como objetivo medir la misma propiedad no estaban de acuerdo entre sí en el 55% de las refactorizaciones aplicadas, y en el 38% de los casos las métricas estaban en conflicto directo entre sí. Luego, se estudiaron con más detalle dos de las métricas, LSCC y TCC, para determinar dónde estaban las contradicciones en el código que causaron los conflictos. Se utilizaron diferentes variaciones de las métricas para compararlas de dos formas diferentes. Se utilizaron dos nuevas técnicas, la exploración de áreas denominadas Acuerdo / desacuerdo de refactorización iterativa y Refactorización de apertura / cierre de brechas, para comparar las métricas y el número de pares de métricas comparados se incrementó a 90 pares. Entre las métricas comparadas, LSCC resultó ser la más representativa, mientras que SCOM resultó ser la menos.

Destacamos diferentes aspectos de la investigación para inspeccionar y analizar a través de un conjunto de preguntas de investigación. Cada artículo se revisa y resume para ofrecer una descripción general de los experimentos realizados y los resultados obtenidos. La descripción general de los artículos está organizada en cinco grupos diferentes para agrupar estudios relacionados. Luego, los artículos se analizan para abordar las preguntas de investigación descritas y derivar similitudes y diferencias entre los estudios. Se analizan varios aspectos diferentes de los artículos, así como las lagunas de investigación y posibles áreas de trabajo futuro en el área. Para un proyecto de software, especialmente los sistemas heredados grandes, la estructura del software puede degradarse con el tiempo a medida que se agregan o eliminan nuevos requisitos. Esta “entropía del software” implica que, con el tiempo, la calidad del software tiende al desorden y al desorden.

software maintenance metrics

Harman propuso una nueva categoría de transformación de capacidad de prueba llamada refactorización de capacidad de prueba. El objetivo de esta subcategoría es crear un programa que sea más adecuado para probar la generación de datos y mejore la comprensión del programa para el programador, combinando las dos áreas de SBSE. Como la transformación de capacidad de prueba usa refactorizaciones para modificar la estructura de un programa, se puede usar la misma técnica para el mantenimiento del programa, aunque los dos objetivos pueden estar en conflicto. Aquí, una refactorización de capacidad de prueba se referirá a un proceso que satisface ambos objetivos. Harman mencionó que estos dos objetivos posiblemente contradictorios forman un escenario multiobjetivo. Explicó que el problema se adaptaría bien a la refactorización basada en búsqueda óptima de Pareto y también mencionó una serie de formas en las que la transformación de capacidad de prueba puede ser adecuada para la refactorización de capacidad de prueba.

Esta degradación conduce a consecuencias negativas, como un acoplamiento adicional entre objetos y una mayor dificultad para agregar nuevas funciones. Como resultado de este problema, el desarrollador a menudo tiene que reestructurar el programa antes de poder agregar nuevas funciones. Esto le cuesta tiempo al desarrollador, ya que el tiempo total de desarrollo de la funcionalidad se compensa con esta limpieza obligatoria del código. El corolario del adagio «No se puede administrar lo que no se mide» es «Lo que elijas medir controlará dónde te enfocas y qué mejoras». Se han propuesto métricas de software para medir muchos, muchos aspectos diferentes de un cuerpo existente de código fuente. Algunas de estas métricas, como las líneas de código y la proporción de comentarios, tienen un significado y un uso bastante obvios; la mayoría se explica menos por sí misma. Las siguientes son algunas de las métricas de software más importantes y útiles de este último tipo.

Software

¿Cómo defines buenas métricas?

Los métodos actuales de medición de la confiabilidad del software se pueden dividir en cuatro categorías: 1. Métricas del producto. Las métricas de producto son aquellas que se utilizan para construir los artefactos, es decir, documentos de especificación de requisitos, documentos de diseño del sistema, etc.
2. Métricas de gestión de proyectos.
3. Métricas de proceso.
4. Métricas de fallas y fallas.