Mantenimiento del sofware
Mantenimiento del software
3ª edición (2000)
Facultad de Informática
desarrollar para mantener
El mantenimiento constituye la última fase del ciclo de vida del software Una vez finalizado el desarrollo, el producto entra en la fase de operación y mantenimiento El mantenimiento debe asegurar que el producto sigue satisfaciendo lasexpectativas del cliente Para facilitar el mantenimiento del producto es necesario un desarrollo de calidad
Necesidad del mantenimiento El cambio es inevitable en la vida del software. Por ello, debemos desarrollar mecanismos de evaluación, control e implementación de modificaciones.
Mantenimiento del software
2
contenidos
Tipos de mantenimiento Actividades del mantenimiento Costes delmantenimiento Esfuerzo del mantenimiento Problemas del mantenimiento Facilidad del mantenimiento Tareas de mantenimiento Efectos secundarios Mantenimiento de código ajeno Ingeniería inversa Reingeniería Referencias bibliográficas
Mantenimiento del software
3
tipos de mantenimiento
Mantenimiento correctivo Diagnosticar y corregir errores no localizados durante la prueba Mantenimientoadaptativo Modificar el software para que interaccione con el entorno cambiante Mantenimiento perfectivo Añadir nuevas funciones y modificar funciones existentes Mantenimiento preventivo Cambiar el software para facilitar el futuro mantenimiento
Mantenimiento del software
4
actividades del mantenimiento
Petición de mantenimiento Software Código
Configuración ¿?
Mantenimiento noestrucutrado
Mantenimiento estructurado
Evaluar diseño Planificar Modificar diseño
Evaluar código
¿?
Recodificar Recodificar
Revisar
Revisar
Probar y distribuir
Mantenimiento del software
5
costes del mantenimiento
Una oportunidad de desarrollo que se ha de posponer o que se pierde, debido a que los recursos que están disponibles deben dedicarse a tareas de mantenimientoInsatisfacción del cliente al no poder ser atendidas sus peticiones en un tiempo razonable Disminución de la calidad del software debido a los errores que introducen los cambios Retraso en el desarrollo por tener que disponer del personal para tareas del mantenimiento
El coste final es... una drástica reducción de la productividad que se produce cuando se inicia el mantenimiento de viejosprogramas
Mantenimiento del software
6
esfuerzo de mantenimiento
Se distribuye entre... Actividades productivas. Análisis, evaluación, modificación del diseño y codificación. Actividades menos productivas. Interpretación y compresión.
M=p+K·exp(c-f)
Modelo del esfuerzo de mantenimiento
Esfuerzo total (M) Esfuerzo productivo (p) Constante empírica (K) Medida de la complejidadatribuida a la falta de un buen diseño y documentación (c) Medida del grado de familiaridad con el software (f)
Mantenimiento del software
7
problemas del mantenimiento
Dificultad para seguir la evolución del software a través de varias versiones al no existir documentación sobre los cambios Dificultad para seguir el proceso por el que se construyó el software Dificultad para comprender unprograma ajeno Dificultad para contactar con los desarrolladores La documentación apropiada no existe No se prevé el cambio cuando se diseña El mantenimiento no se considera un trabajo atractivo
...todos tienen su origen en las deficiencias del desarrollo
Mantenimiento del software
8
facilidad de mantenimiento
Factores que afectan a la facilidad de mantenimiento
• Factores asociadoscon el método de desarrollo aplicado. • Factores relacionados con el entorno de desarrollo. (Kopetz, H.)
Evaluación de la facilidad de mantenimiento
• Se puede evaluar indirectamente considerando los atributos de la actividad de mantenimiento que se pueden medir. • Gilb (1979) proporciona un conjunto de métricas relacionadas con el esfuerzo empleado durante el mantenimiento:
Tiempo de...
Regístrate para leer el documento completo.