"La modificación de un producto software después de
haber sido entregado (a los usuarios o clientes) con el
fin de corregir los defectos, mejorar el rendimiento u
otros atributos, o adaptarlo a un cambio de entorno"
DEFINICIÓN
PRESSMAN [1998] dice que “la fase mantenimiento se centra
en el cambio que va asociado a la corrección de errores, a las
adaptaciones requeridas a medida que evoluciona el entorno
del software, y a cambios debidos a las mejoras producidas por
los requisitos cambiantes del cliente”.
En el estándar ISO 12207: “el Proceso de Mantenimiento
contiene las actividades y tareas realizadas por el
mantenedor, este proceso se activa cuando el producto
software sufre modificaciones en el código y la
documentación asociada, debido a un problema o a la
necesidad de mejora o adaptación. El mantenedor es la
organización que proporciona el servicio de mantenimiento”.
ESTANDARES QUE
DAN IMPORTANCIA AL
MANTENIMIENTO
CICLO DE VIDA
DEL SOFTWARE
IEEE 1074
ISO 12207
CALIDAD DEL
SOFTWARE
IEEE 1061
ISO 9126
MANTENIMIENTO DEL
SOFTWARE
IEEE 1219
ISO 14764
COSTOS DEL
MANTENIMIENTO
EL EFECTO ICEBERG:
Costos Intangibles
Un coste intangible del MS se encuentra en las oportunidades de desarrollo que se han
de posponer o que se pierden.
Insatisfacción del cliente cuando no se puede atender en un tiempo aceptable una
petición de reparación o modificación que parece razonable.
Los errores ocultos introducidos al cambiar el software durante el mantenimiento
reducen la calidad global del producto
Perjuicio en otros proyectos de desarrollo cuando la plantilla tiene que dejarlos, total o
parcialmente, para atender peticiones de mantenimiento
CAUSAS DEL ALTO
COSTO
Software creados con herramientas tecnológicamente desfasadas, Aunque estos
programas fuesen creados utilizando las mejores técnicas de diseño y codificación.
Estos programas han sufrido una o varias migraciones a nuevas plataformas o sistemas
operativos. Por lo que, a veces no son compatibles con éstas nuevas plataformas.
Y han experimentado múltiples modificaciones para mejorarlos y adaptarlos a las nuevas
necesidades de los usuarios.
Todos estos cambios se realizaron sin tener en cuenta la arquitectura general del
sistema (no se aplicaron técnicas de ingeniería inversa o reingeniería).
TIPOS DEL
MANTENIMIENTO
M. PERFECTIVO
M. CORRECTIVO
M. PREVENTIVO
M. ADAPTATIVO
FASES DEL
MATENIMIENTO
Identificación del Problema
Análisis
Implementación
Diseño
Pruebas de Aceptación
Pruebas del Sistema
Puesta en Producción
TAREAS DEL
MANTENIMIENTO
COMPRENSIÓN DEL
SOFTWARE Y DE LOS
CAMBIOS A REALIZAR