Categories: All - reestructuración - transformaciones - estabilidad - mantenimiento

by Marlon Polanco 3 years ago

178

El mantenimiento del sistema

La ingeniería inversa permite reconstruir el proceso de creación de un producto a partir de ciertos componentes ya existentes. En el contexto del software, esta técnica es crucial para realizar transformaciones automáticas que pueden añadir, modificar o eliminar elementos del código o modelo de un sistema.

El mantenimiento del sistema

Transformaciones Manipulación, por medio de transformaciones automáticas ejecutadas por un computador, del código o modelo de un sistema para añadirle/modificarle/eliminarle elementos.

Reestructuración Modificación del software para hacerlo mas fácil de entender y cambiar o menos susceptible de incluir errores en cambios posteriores.

Reingeniería Examen y modificación de un sistema para reconstruirlo en una nueva forma.

Ingeniería Inversa Reconstruir el proceso de ingeniería de un producto a partir de ciertos artefactos de dicho producto.

Soluciones técnicas para el problema de mantenimiento

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)

El efecto iceberg No es lo mismo producir que mantener

Principales Retos Mantenimiento Software

Preventivo Modificación para detectar y corregir fallos latentes antes de que se conviertan en fallos operacionales.

Perfectivo Modificación para detectar y corregir fallos latentes antes de que se conviertan en carencias.

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

Correctivo Localiza y corrige defectos en un programa tras su entrega.

Tipos de mantenimiento software

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.

Efecto domino (ripple effect) 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.

Mantenibilidad Capacidad de un producto software de ser modificado. Estas modificaciones incluyen correcciones, mejoras, o adaptaciones a cambios en el entorno.

Se tiene las siguientes definiciones

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.

IEEE 1219 La modificación de un producto software después de su entrega al cliente o usuario para corregir defectos

Sus estandares

El mantenimiento del sistema