ScholarGate
Asistente

Mantenimiento de Software

El mantenimiento de software es la modificación de un producto de software después de su entrega para corregir fallos, adaptarlo a un entorno cambiante y mejorar su función, rendimiento o mantenibilidad.

Encontrar tema con PaperMindPróximamenteFind papers & topics
Tools & resources
Descargar diapositivas
Learn & explore
VídeoPróximamente

Definition

El mantenimiento de software es la totalidad de actividades requeridas para proporcionar un soporte rentable al software después de su entrega, incluyendo la corrección de defectos, la adaptación a nuevos entornos y la mejora de capacidades, preservando al mismo tiempo la integridad.

Scope

Este tema abarca las cuatro categorías de mantenimiento (correctivo, adaptativo, perfectivo, preventivo); el proceso de mantenimiento desde la solicitud de cambio hasta el análisis de impacto, la modificación, las pruebas y la liberación; la comprensión del programa y los desafíos de cambiar código desconocido; la mantenibilidad como atributo de calidad; y los estándares y métricas que rigen el trabajo de mantenimiento.

Core questions

  • ¿Cómo se clasifican y priorizan los cambios de mantenimiento?
  • ¿Qué pasos del proceso llevan una solicitud de cambio hasta una modificación liberada?
  • ¿Cómo se analiza el impacto de un cambio propuesto antes de realizarlo?
  • ¿Qué hace que el software sea mantenible y cómo se mide la mantenibilidad?

Key theories

Categorías de mantenimiento
El mantenimiento correctivo corrige fallos, el mantenimiento adaptativo se ajusta a los cambios ambientales, el mantenimiento perfectivo mejora o extiende la función y el rendimiento, y el mantenimiento preventivo mejora la mantenibilidad futura; las categorías no correctivas dominan el esfuerzo.
Análisis de impacto
Antes de implementar un cambio, el análisis de impacto identifica los componentes, interfaces y pruebas afectados, utilizando información de dependencia y trazabilidad para estimar el esfuerzo y los efectos en cascada, y para delimitar el riesgo.

Clinical relevance

Dado que el mantenimiento domina el costo total del software y la mayor parte de este es adaptativo y perfectivo en lugar de correctivo, el diseño para la mantenibilidad y el seguimiento de un proceso de mantenimiento disciplinado rigen directamente la economía a largo plazo de un sistema.

Evidence & guidelines

ISO/IEC 14764 define el proceso de mantenimiento y sus actividades, e ISO/IEC 25010 especifica subcaracterísticas de mantenibilidad como la modularidad, la modificabilidad y la capacidad de prueba.

History

Las encuestas de las décadas de 1970 y 1980 revelaron que el mantenimiento consume la mayor parte de los presupuestos de software y que el trabajo adaptativo y perfectivo supera a la corrección; esto redefinió el mantenimiento de una ocurrencia tardía a una fase central y gobernada por procesos, posteriormente estandarizada en ISO/IEC 14764.

Key figures

  • Meir M. Lehman
  • Bennet Lientz
  • Ian Sommerville

Related topics

Seminal works

  • iso14764
  • swebok2014
  • sommerville2015

Frequently asked questions

¿Qué tipo de mantenimiento consume la mayor parte del esfuerzo?
Los estudios encuentran consistentemente que el mantenimiento adaptativo y perfectivo —adaptar el software a nuevos entornos y mejorarlo— juntos representan la mayor parte del esfuerzo de mantenimiento, muy por encima de la corrección de errores.
¿Por qué es tan difícil cambiar código antiguo?
Los mantenedores deben primero comprender código que a menudo no escribieron, donde la justificación original y la documentación pueden faltar; comprender el sistema existente y los efectos en cascada de un cambio con frecuencia cuesta más que realizar el cambio en sí.

Methods for this concept

Related concepts