El mantenimiento del sistema

Proceso de Mantenimiento de Software

Estándares

IEEE 1219

La modificación de un producto software
después de su entrega al cliente o usuario
para corregir defectos, para mejorar el rendimiento u otras propiedades deseables.

ISO/IEC 14764

Conjunto de actividades destinadas a
proporcionar soporte económicamente rentable
para un determinado producto software.

Estas actividades se realizan tanto antes de la
entrega del producto como después de la
entrega del mismo.

Definiciones

Mantenibilidad

Capacidad de un producto software de ser modificado. Estas modificaciones incluyen correcciones, mejoras, o adaptaciones a cambios en el entorno, los requisitos o las especificaciones funcionales.

Efecto domino

Un determinado cambio en un producto software se dice que genera un efecto domino cuando a consecuencia del cambio debemos realizar cambios adicionales en el sistema.

Estabilidad de un diseño software

Capacidad de resistencia al efecto domino que tendrá un sistema software derivado de dicho diseño cuando es modificado.

Tipos de mantenimiento software

Perfectivo

Modificación para detectar y corregir fallos latentes antes de que se conviertan en carencias. Modificación para modificar o añadir nuevas funcionalidades

Preventivo

Modificación para detectar y corregir fallos latentes antes de que se conviertan en fallos operacionales. Mejorar las propiedades del software. (Ej. recodificar para aplicar patrones de diseño).

Correctivo

Adaptativo

Localiza y corrige defectos en un programa tras su entrega (ej. IVA al 15%, agujeros de seguridad). Puede ser urgente o no urgente.

Modificación para adaptarse un cambio en el entorno (ej. dolar, pantallas Táctiles).

Principales Retos Mantenimiento Software

El efecto iceberg.

No es lo mismo producir que mantener

Diferentes medidas de productividad
entre desarrollo y mantenimiento

Código heredado (legacy code)

Desarrollado con tecnologías y técnicas "anticuadas".

No hay documentación.

Si la hay, esta en notación Benito & Manolo, que ya no trabajan en la empresa.

Reescribirlo entero no es factible.

El sistema no tiene porque estar bien diseñado, programado, ni haber sido desarrollado siguiendo un proceso de ingeniería.

Principales Problemas
Mantenimiento Sw

Efectos domino y efecto iceberg.

Cambios ad-hoc, ausencia metodológica del cambio

Ausencia de documentación adecuada (decisiones de diseño).

Degradación calidad del producto

Solución para el mantenimiento software

Establecer procedimientos claramente definidos y estandarizados para el mantenimiento software.

Asignarle los recursos adecuados, tanto físicos y económicos como humanos.

Usar técnicas para control de calidad, tanto sobre el producto como sobre el proceso.

Soluciones técnicas para el problema de mantenimiento

Ingeniería Inversa

Reingeniería

Reestructuración

Transformaciones

Hier klicken, um ihre Nap zu zentrieren.
Hier klicken, um ihre Nap zu zentrieren.