El mantenimiento del sistema - Parte 2

 


Anteriormente, en el blog llamado "El mantenimiento del sistema" nos enfocamos en el tema del mantenimiento del software(sistema); e decir, cuando el software ya esta funcionando en producción y surgen ciertos hallazgos (bugs), mejoras o nuevos procesos solicitados por el usuario.

Se creo un mapa conceptual en donde se describen los puntos mas importantes sobre el mantenimiento del software (sistema).

Despues, contestamos una serie de preguntas sobre las soluciones técnicas para el problema de mantenimiento del software.

Para esta ocasión, compartiremos 5 aspectos claves del libro "Capítulo 09 del libro de Ingeniería de Software un enfoque práctico, séptima edición de Roger Pressman, relacionado con el mantenimiento y  la reingeniería".

Aspecto (1) - El mantenimiento de software

Se refiere cuando el software se libera a los usuarios finales y, en cuestión de días, los reportes de errores de filtran de vuelta hacia la organización de ingeniería de software. Se pueden dar varios aspectos, entre esos se tienen:

  • Pueden haber usuarios que soliciten mas cambios que no se habían considerado.
  • Un grupo corporativo, que no quería saber nada del software cuando se libero, ahora reconoce que puede ofrecerle beneficios inesperados.

Uno se enfrenta con una creciente lista de correcciones de errores, peticiones de adaptación y mejoras categóricas que deben planearse, calendarizarse y, a final de cuenta, lograrse.

Una razón del problema del mantenimiento del software es la movilidad del personal. Es probable que el equipo (o la persona) de software que hizo el trabajo original ya no esté más por ahí. Y además, pueda ser que ya no quede alguien que tenga algún conocimiento directo del sistema heredado.

Aspecto (2) - Soportabilidad del software

Se refiere a la finalidad de dar soporte efectivo al software(sistema), de grado industrial, su organización (o su encargado) deben poder realizar las correcciones, adaptaciones y mejoras que son parte de la actividad de mantenimiento. Ademas, se deben considerar el soporte al usuario final y a las actividades de reingeniería durante el ciclo de vida completo del software.

La soportabilidad del software, además se refiere a la capacidad de dar soporte a un sistema de software durante toda la vida del producto. Para satisfacer cualquier necesidad o requisito, pero tambien provisión de equipo, infraestructura de soporte, software adicional, instalaciones, mano de obra o cualquier otro recurso requerido para mantener el software operativo y capaz de satisfacer su función. Ademas, deben abordarse como parte del modelo (o especificación) de requisitos y considerarse conforme el diseño evoluciona y comienza la construcción.

Aspecto (3) - Reingeniería de software

Se refiere a un escenario común que se da en la vida real. Una aplicación que atendió las necesidades empresariales de una empresa durante muchos años, dando beneficios a la empresa, y el proveedor de software o el equipo de desarrollo de la empresa; le hicieron varios cambios, adaptaciones o mejoras a los procesos; llega un punto en que es necesarios la reingeniería.

Ya que la aplicación es inestable. Todavía funciona, pero cada vez que se intenta hacer un cambio, ocurren inesperados y serios efectos colaterales. 

Aspecto (4) Reestructuración

Se refiere a la reestructuración de software que modifica el código fuente y/o los dato con la intención de hacerlos sensibles a cambios futuros. En general, la reestructuración no modifica la arquitectura global del programa. Ademas, tiende a enfocarse sobre detalles de diseño de módulos individuales y sobre estructuras de datos locales definidas dentro de módulos.

Tambien, ocurre cuando la arquitectura básica de una aplicación es sólida, aun cuando el interior técnico necesite trabajarse. Se puede dar la reestructuración de código y de datos.

Aspectos (5) Analisis de reingeniería de software

Dentro de estas actividades, destacan en análisis de inventarios y la reestructuración de documentos.

En relación al análisis de inventarios, se refiere a que toda organización de software debe tener un inventario de todas las aplicaciones que tienen. En el cual, contengan la información que ofrezca una descripción detallada de la aplicación activa. Es importante observar que el inventario debe revisarse con regularidad.

En el caso de la reestructuración de documentos, se refiere a que la documentación débil es el distintivo de muchos sistemas heredados. Pero, ¿Qué puede hacer con ella?, ¿Cuáles son sus opciones?

  • La creación de documentos consume demasiado tiempo.
  • La documentación debe actualizarse, pero su organización tiene recursos limitados.
  • El sistema tiene importancia empresarial y debe volver a documentarse por completo.
Por el momento esto seria todo; sin embargo, esperen más aportes sobre "el mantenimiento del sistema", seguiré publicando más blogs.


Saludos.

Comentarios