
Luego, estos resultados se compararon con otros EA para ver cómo escalaban en comparación con NSGA-III. El enfoque NSGA-III mejoró a medida que aumentó la cantidad de objetivos utilizados, mientras que los otros algoritmos no se escalaron también. Los otros MOEA eran comparables cuando la cantidad de objetivos utilizados en la búsqueda era menor, pero a medida que aumentaba la cantidad de objetivos utilizados, los resultados se volvían menos competitivos con NSGA-III. La técnica de búsqueda también se comparó con otras dos técnicas que utilizaban una suma ponderada de métricas para medir el software.
Capacidad de mantenimiento del software: qué significa crear software que se pueda mantener
- El campo obtendría información valiosa con la investigación de las opiniones de los desarrolladores sobre la calidad del software y sobre cómo se maneja actualmente la deuda técnica en el entorno empresarial.
- O’Keeffe y Ó Cinnéide continuaron investigando en el área de SBSE relacionada con el mantenimiento de software mediante el desarrollo de una herramienta llamada Dearthóir.
- La herramienta utilizó dos refactorizaciones, «pullUpMethod» y «pushDownMethod» para modificar la estructura jerárquica del programa de destino.
- La mayor parte de las investigaciones anteriores se han aplicado a programas orientados a objetos y, como tal, la mayoría de las funciones de aptitud tienen como objetivo mejorar los comportamientos orientados a objetos como la cohesión o la flexibilidad.
SBSE se puede aplicar al mantenimiento de software aplicando refactorizaciones al código para reducir la deuda técnica. Utilizando un algoritmo basado en búsquedas, el desarrollador comienza con el programa original como base para mejorar. La medida de mejora del programa es un aspecto incierto y puede ser subjetivo, por lo que puede realizarse de diversas formas. El desarrollador necesita idear una heurística, hacerbafles.info o más probablemente un conjunto de heurísticas para informar cómo se debe mejorar la estructura del programa. A menudo, estas mejoras se basan en los principios básicos del diseño orientado a objetos, donde el software se ha escrito en un lenguaje orientado a objetos. Luego, el desarrollador debe idear una serie de cambios que se pueden realizar en el software para refactorizarlo a fin de aplicar la heurística.
Airbnb Stock Has a Future, but Don’t Get in at These Elevated Prices – InvestorPlace
Airbnb Stock Has a Future, but Don’t Get in at These Elevated Prices.
Posted: Mon, 04 Jan 2021 12:12:21 GMT [source]
Refactorización en la búsqueda
Una acción de refactorización modifica la estructura del código sin cambiar la funcionalidad externa del programa. Cuando las refactorizaciones se aplican al software, pueden mejorar o deteriorar la calidad, pero independientemente, actúan como herramientas utilizadas para modificar la solución. Usando la métrica o las métricas para dar un valor de aptitud general, la función de aptitud de la técnica basada en la búsqueda mide la calidad de la solución de software y genera un valor numérico para representarla. En la solución, las refactorizaciones se aplican al azar y luego se mide el programa para comparar la calidad con el valor medido previamente. Si la nueva solución se mejora de acuerdo con las métricas de software aplicadas, esta se convierte en la nueva solución con la que comparar. Este enfoque se sigue durante una serie de iteraciones, lo que hace que la solución de software mejore gradualmente en calidad hasta que se alcanza un punto final y se genera una solución óptima. El punto final puede desencadenarse por varias condiciones, como el número de iteraciones ejecutadas o la cantidad de tiempo transcurrido.
Nanox and USARAD Introduce Radiology AI Second Opinion Program – GlobeNewswire
Nanox and USARAD Introduce Radiology AI Second Opinion Program.
Posted: Tue, 05 Jan 2021 14:59:00 GMT [source]
Para analizar la efectividad del enfoque y las compensaciones involucradas en asegurar la solidez, el enfoque NSGA-II se comparó con un conjunto de otras técnicas. En cuanto al rendimiento, se comparó con un algoritmo de enjambre de partículas multiobjetivo y se descubrió que supera o no tiene una diferencia significativa en el rendimiento en todos los proyectos excepto en uno. Se sugiere que, dado que este era el proyecto más pequeño, el algoritmo de enjambre de partículas puede ser más adecuado para proyectos más pequeños y restrictivos. También se comparó con una GA monoobjetivo y dos enfoques monoobjetivo que utilizan una combinación ponderada de métricas. Se encontró que aunque la técnica solo superó a los enfoques monoobjetivos en el 11% de los casos, los superó en las métricas de robustez en todos los casos, mostrando que si bien sacrificaba algo de calidad, el enfoque NSGA-II llegó a soluciones más robustas. SBSE se ha utilizado para automatizar este proceso, lo que reduce el tiempo necesario para reestructurar un programa.
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. 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. Además, las métricas del lasaromaterapias.com 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. 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.
Métricas de mantenimiento esenciales que debe realizar un seguimiento
¿Cuáles son las métricas para el desarrollo de software?
¿Cuál es otra palabra para métrica? Benchmarkstandardbarometeryardstickbarcriterionmeasuremarkgradetouchstone127 filas más
El número de objetivos se redujo a ocho y se cambió para representar los atributos de calidad de la suite QMOOD, así como otras funciones métricas agregadas. Utilizaron NSGA-II en seis programas Java de código abierto diferentes de diferentes tamaños y dominios para crear una población de soluciones que utilizaban la robustez y la calidad del software en la medición de la aptitud. Para medir la robustez, utilizaron fórmulas para aproximar la gravedad del olor y la importancia de los olores del código fijo, así como para medir la cantidad de olores del código fijo. También utilizaron una serie de medidas de rendimiento multiobjetivo para compararlas con otros algoritmos multiobjetivo.
RQ5 preguntó «¿Qué enfoques de refactorización se utilizaron en la literatura?» Aislamos tres métodos principales para utilizar la refactorización basada en búsquedas para mejorar el mantenimiento del software. Los defectos de diseño se pueden encontrar primero en el código y luego eliminarse, o el software se puede refactorizar por adelantado para mejorar ciertas métricas de software o conjuntos de métricas. Utilizaron el algoritmo para eliminar los olores de código detectados en siete programas Java de código abierto a través de un conjunto de refactorizaciones. Probaron el algoritmo usando diferentes cantidades de objetivos para medir la escalabilidad del enfoque a un conjunto de problemas de múltiples objetivos y muchos objetivos.