arabera Castillo Artiaga Castillo Artiaga 3 years ago
229
El mantenimiento del sistema
Mantener y mejorar el software es crucial para asegurar su funcionalidad y adaptabilidad a lo largo del tiempo. Este proceso involucra la detección y corrección de fallos antes de que se conviertan en problemas operacionales graves.
Soluciones técnicas para el problema de mantenimiento
Transformaciones
Reestructuración
Reingeniería
Ingeniería Inversa
Usar técnicas para control de calidad, tanto sobre el producto como sobre el proceso.
Asignarle los recursos adecuados, tanto físicos y económicos como humanos.
Establecer procedimientos claramente definidos y estandarizados para el mantenimiento software.
Solución para el mantenimiento software
Degradación calidad del producto
Ausencia de documentación adecuada (decisiones de diseño).
Cambios ad-hoc, ausencia metodológica del cambio
Efectos domino y efecto iceberg.
Principales Problemas
Mantenimiento Sw
El sistema no tiene porque estar bien diseñado, programado, ni haber sido desarrollado siguiendo un proceso de ingeniería.
Reescribirlo entero no es factible.
Si la hay, esta en notación Benito & Manolo, que ya no trabajan en la empresa.
No hay documentación.
Desarrollado con tecnologías y técnicas "anticuadas".
Código heredado (legacy code)
Principales Retos Mantenimiento Software
Diferentes medidas de productividad
entre desarrollo y mantenimiento
No es lo mismo producir que mantener
El efecto iceberg.
Modificación para adaptarse un cambio en el entorno (ej. dolar, pantallas Táctiles).
Localiza y corrige defectos en un programa tras su entrega (ej. IVA al 15%, agujeros de seguridad). Puede ser urgente o no urgente.
Adaptativo
Correctivo
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).
Preventivo
Modificación para detectar y corregir fallos latentes antes de que se conviertan en carencias. Modificación para modificar o añadir nuevas funcionalidades
Perfectivo
Tipos de mantenimiento software
Capacidad de resistencia al efecto domino que tendrá un sistema software derivado de dicho diseño cuando es modificado.
Estabilidad de un diseño software
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.
Efecto domino
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.
Mantenibilidad
Definiciones
Estas actividades se realizan tanto antes de la
entrega del producto como después de la
entrega del mismo.
Conjunto de actividades destinadas a
proporcionar soporte económicamente rentable
para un determinado producto software.
ISO/IEC 14764
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.