Evolución y Mantenimiento del Software

Qué es la evolución del software

Todas las actividades de programación que se orientan a generar una nueva versión de un software a partir de una versión anterior operativa. M.Lehman

La aplicación de las actividades y procesos de mantenimiento del software que generan una nueva versión operativa de un software, con una funcionalidad de usuario o propiedades cambiadas, a partir de una versión anterior junto con los procesos y actividades de garantía de calidad y con la gestión de esos procesos. Chapin

Importancia del mantenimiento

En empresas 95% de los recursos está dedicados al mantenimiento, los sistemas granders y complejos tienen un largo período de vida. Hay que realizar cambios en el software para corregir errores y para implementar nuevos requisitos que surgen. Se conoce como Barrera de Mantenimiento.

Cuestiones asociadas al coste

Predicción del mantenimiento

Proceso Evolutivo

En la actualidad, la diferencia entre desarrollo y mantenimiento es irrelevante. La tendencia actual es ver el desarrollo y el mantenimiento dentro de un proceso único continuo y evolutivo. Se conoce al ciclo de vida del software de forma completa y continua.

Procesos de evolución

Procesos de volución surge de distintas peticiones de cambio:

Los procesos de identificación de cambios y evolución del sistema son cíclicos y continúan durante toda la vida del sistema.

Gestión de Configuraciones

Seguimiento para asegurar de versinoes correctas en cada entrega

Mantenimiento y su clasificación

Actuaciones comunes

Tipos de mantenimiento

Mantenimiento perfectivo

mejorar o añadir nuevas funcinoalidades

Mantenimiento adaptativo

mejorar o añadir nuevas funcinoalidadesadaptar el sistema a los cambios

Mantenimiento correctivo

corregir defectos en el hardware o en el software

Mantenimiento preventivo

facilitar el mantenimiento futuro

Métricas de predicción del mantenimiento

Sistemas socio-técnicos

Las sistemas que incluyen software son de dos tipos:

Características de los sistemas socio

Estrategias de evolución de un sistema heredado

Evaluación de los sistemas heredados

Perspectiva técnica y de negocio

Según la calildad y el valor decidimos la acción que hacemos

Evaluar el valor de negocio

Evaluar la perspectiva técnica

Tanto la aplicación en si mismo y el entorno del mismo

Factores utilizados en la evaluación de la Aplicación

Compresión, Documentación, Rendimiento, Lenguaje de programación, Gestión de configuración, Datos de prueba, Habilidades del personal

Factores utilizados en la evaluación del Entorno

Estabilidad de proveedor, Tasas de fallos de ejecución, Edad, Rendimiento de sistema, Coste de mantenimiento, Interporabilidad