Saltar al contenido

Los 4 tipos de mantenimiento de software

16/12/2020

Los cuatro tipos de mantenimiento de software

El enfoque se comparó con un enfoque diferente basado en reglas para la detección de defectos con cuatro programas Java de código abierto y se encontró que era más preciso con los defectos de diseño encontrados. Bakar y col. intentó esbozar un conjunto de pautas para seleccionar las mejores métricas para medir la capacidad de mantenimiento en software de código abierto.

¿Cuáles son las señales de que un proyecto de software está en problemas?

Aquí hay una docena de señales de advertencia tempranas de un posible fracaso de un proyecto de software.
Cambios en el mercado.
Programadores saltando del barco.
Las cosas simples tardan demasiado.
Modelo sin costo.
Los desarrolladores se rigen continuamente por un genio.
Los estándares del código dominan las discusiones.
Las métricas se ven demasiado bien.
Más elementos •

Al refactorizar un proyecto de software, al igual que con otras áreas de la ingeniería de software, es probable que haya numerosos objetivos en conflicto que abordar y optimizar. Se puede utilizar un algoritmo multiobjetivo para considerar los objetivos de forma independiente en lugar de tener que combinarlos en un objetivo general para mejorar. Existen numerosos EA disponibles que se utilizan para problemas multiobjetivos, compra venta automoviles conocidos como algoritmos evolutivos multiobjetivos. Otro problema es que cuando un MOEA genera una población de soluciones, la «mejor solución» depende de la interpretación del usuario. Mientras que un EA de objetivo único puede clasificar la población final de soluciones por un solo valor de aptitud, puede haber numerosas opciones posibles en la población de MOEA dependiendo de qué aptitud objetiva es más importante.

Los cuatro tipos de mantenimiento de software

  • Las revisiones relacionadas también se discuten y comparan con la encuesta después de que se realiza, describiendo las similitudes y diferencias entre ellas.
  • Las preguntas de investigación se abordan utilizando cada aspecto relevante del análisis.
  • Se ha sugerido que el mantenimiento automatizado del código podría posiblemente verse de manera similar a un compilador que realiza cambios en el código detrás de escena de los que un programador no necesita preocuparse.
  • Esta mayor abstracción del código puede ser el futuro del diseño de software, ya que los metamodelos se involucran más en el aspecto de codificación del ciclo de desarrollo del proyecto.
  • Luego, se analizan diferentes aspectos del conjunto de artículos de acuerdo con el conjunto de preguntas de investigación planteadas.
  • Otro aspecto importante de la investigación es la aplicabilidad de estas técnicas en un entorno empresarial.

Por otro lado, esto le da al usuario múltiples opciones dependiendo de su deseo o situación. Con el enfoque de HC, se elige un punto de partida aleatorio en la solución y el algoritmo comienza desde ese punto. Luego se realiza un cambio y se usa la función de aptitud para comparar las dos soluciones. El que tiene la “calidad” percibida más alta se convierte en la nueva solución óptima y el algoritmo continúa de esta manera. Con el tiempo, jardin-urbano.com la calidad de la solución mejora a medida que se descartan los cambios menos óptimos y se eligen mejores soluciones. Finalmente, se alcanza una solución óptima o subóptima con la misma funcionalidad pero con una mejor estructura. Esto se considera un algoritmo rápido en relación con las otras opciones metaheurísticas pero, al igual que con otros algoritmos de búsqueda local, tiene el riesgo de estar restringido a óptimos locales.

GrammaTech Awarded DARPA Research Contract for AI-Augmented Software Development – Business Wire

GrammaTech Awarded DARPA Research Contract for AI-Augmented Software Development.

Posted: Mon, 14 Dec 2020 14:01:00 GMT [source]

Se realizó un análisis para validar el modelo de calidad utilizando el paquete de métricas CK (Chidamber Vivanco y Pizzi utilizaron técnicas basadas en búsquedas para seleccionar las métricas de mantenibilidad más adecuadas de un grupo. Presentaron un GA paralelo para elegir entre 64 métricas de código fuente orientadas a objetos diferentes.

Hay dos tipos principales de algoritmos de búsqueda de HC que difieren en un aspecto. El HC de primer ascenso es la versión más simple del algoritmo, mientras que el HC de ascenso más empinado tiene un método de búsqueda un poco más sofisticado y es una opción superior por su calidad. HC es uno de los algoritmos de búsqueda más utilizados en SBSE y tiene similitudes con otras técnicas de búsqueda. Es posible que la técnica HC no produzca soluciones tan efectivas como otras, pero tiende a encontrar una solución adecuada de horoscoposdiarios.club manera más rápida y consistente (O’Keeffe El software siempre está evolucionando y nunca se termina mientras se usa; en parte para adaptarse al mundo siempre cambiante en el que vivimos. La evolución de su software puede estar motivada por una variedad de razones; para mantener el software en funcionamiento, actualizar a la última versión, mejorar las funciones o reelaborar el sistema para un futuro mantenimiento. No importa la motivación, el mantenimiento del software es vital para la evolución y el éxito del mismo.

En primer lugar, le pidieron a un arquitecto de software experimentado que clasificara los 366 componentes de un sistema de software en dificultad, del 1 al 5. Luego, se ejecutó el GA para el conjunto de métricas en secuencia y en paralelo, utilizando C para el GA y MPI para implementar el mejoras paralelas. Las métricas que se consideraron más eficientes incluyeron métricas de acoplamiento, métricas de comprensibilidad y métricas de complejidad. Además, el programa paralelo se ejecutó sustancialmente más rápido que la versión secuencial. 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.

¿Qué es el mantenimiento adaptativo?

Mantenimiento adaptativo: Modificación de un producto de software realizada después de la entrega para mantener un producto de software utilizable en un entorno modificado o cambiante. Mantenimiento perfecto: modificación de un producto de software después de la entrega para mejorar el rendimiento o la mantenibilidad.

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. Luego, los autores llevaron a cabo un estudio de caso para probar la eficacia de cada función y cada técnica de búsqueda en la refactorización del software.

software maintenance techniques

Se encontró que la función de reutilización no era adecuada para los requisitos de la refactorización basada en búsquedas debido a la introducción de una gran cantidad de clases sin características. Se encontró que las otras dos funciones de evaluación eran adecuadas, siendo la función de comprensibilidad la más eficaz. Se encontró que todas las técnicas de búsqueda producen mejoras de calidad con tiempos de ejecución manejables, con HC de ascenso más empinado que proporciona las mejoras más consistentes. SA produjo las mayores mejoras de calidad en algunos casos, mientras que la escalada en la primera ascensión generalmente produjo mejoras de calidad con el menor gasto computacional.

software maintenance techniques