Mantenimiento del programa

Program maintenance es el proceso de modificar un software o programa después de la entrega para lograr cualquiera de estos resultados:

  • Corrige los errores
  • Mejorar el rendimiento
  • Agregar funcionalidades
  • Eliminar porciones obsoletas

A pesar de la percepción común de que se requiere mantenimiento para corregir errores que surgen después de que el software se activa, en realidad la mayor parte del trabajo de mantenimiento implica agregar capacidades menores o mayores a los módulos existentes. Por ejemplo, se agregan algunos datos nuevos a un informe, se agrega un nuevo campo a los formularios de entrada, se modifica el código para incorporar cambios en las leyes gubernamentales, etc.

Tipos de mantenimiento

Las actividades de mantenimiento se pueden clasificar en cuatro encabezados:

  • Corrective maintenance- Aquí se corrigen los errores que surgen después de la implementación in situ. Los errores pueden ser señalados por los propios usuarios.

  • Preventive maintenance - Las modificaciones realizadas para evitar errores en el futuro se denominan mantenimiento preventivo.

  • Adaptive maintenance- Los cambios en el entorno de trabajo a veces requieren modificaciones en el software. A esto se le llama mantenimiento adaptativo. Por ejemplo, si la política de educación del gobierno cambia, los cambios correspondientes deben realizarse en el módulo de procesamiento de resultados de los estudiantes del software de gestión escolar.

  • Perfective maintenance- Los cambios realizados en el software existente para incorporar nuevos requisitos del cliente se denominan mantenimiento perfectivo. El objetivo aquí es estar siempre actualizado con la última tecnología.

Herramientas de mantenimiento

Los desarrolladores y programadores de software utilizan muchas herramientas para ayudarles en el mantenimiento del software. Éstos son algunos de los más utilizados:

  • Program slicer - selecciona una parte del programa que se vería afectada por el cambio

  • Data flow analyzer - rastrea todos los posibles flujos de datos en el software

  • Dynamic analyzer - rastrea la ruta de ejecución del programa

  • Static analyzer - permite la visualización general y el resumen del programa

  • Dependency analyzer - ayuda a comprender y analizar la interdependencia de diferentes partes del programa