7. Introducción
✤ Durante su ciclo de vida, el software se ve presionado a cambiar. Estas
presiones son las consecuencias inevitables de la naturaleza del software y
el constante cambio en el medio ambiente en el que se usa.
✤ Una forma de reducir este impacto es de diseñar, desarrollar y mantener un
sistema que facilite el cambio y reduzca el impacto de cambios individuales.
✤ Estos esfuerzos se encuentran englobados en el mantenimiento de
software.
7
8. 7.1 Aspectos Generales
✤ El mantenimiento de software es la modificación de un producto
de software después de su entrega, con el objetivo de corregir
fallas, mejorar su ejecución u otros atributos. Un error común es
pensar que es sólo corregir defectos.
8
9. Cambios
✤ Cambios adaptativos - para volver el software más acorde con condiciones
diferentes
✤ Cambios correctivos - para quitar defectos
✤ Cambios perfectivos - para mejorar el software
✤ Cambios preventivos - para detener el deterioro
9
10. Ventajas
✤ Reducir costos de mantenimiento
✤ Desarrollo de un diseño modular
✤ Extender la vida del sistema
✤ Diferir el reemplazo del sistema
✤ Reutilizar módulos o componentes
10
11. Mantenimiento Óptimo
Maximiza ganancias y minimiza costos
Los costos dependen de la disponibilidad y capacidad de manutención del
sistema para determinar los parámetros a minimizar.
Ejemplos de parámetros:
✤ costo de fallo, costo de downtime, costo de mantenimiento correctivo,
preventivo y reemplazo del sistema
11
12. Costo de Mantenimiento
✤ Reportes sugieren que el costo de
mantenimiento es alto, aproximadamente
el 67% de el total del ciclo de desarrollo
✤ En promedio, es aproximadamente del
50%. ¿Por qué?
12
http://www.tutorialspoint.com/software_engineering/software_maintenance_overview.htm
13. Actividades de Mantenimiento
✤ Identificación y rastreo
✤ Análisis
✤ Diseño
✤ Implementación
✤ Pruebas del sistema
✤ Pruebas de Aceptación
✤ Entrega
✤ Administración del Mantenimiento 13
14. Distribución de las Actividades de
Mantenimiento
http://www.slideshare.net/rajeevsharan/software-maintenance-9841842
15. Problemas de Mantenimiento
✤ Es el programa de alguien más
✤ El desarrollador no está disponible
✤ La documentación no existe
✤ No fue diseñado con el cambio en mente
✤ El mantenimento no es una actividad primordial