Foro iCD's Blog

Comprenda mejor la tecnología informática

Mantenimiento producto software


Introducción

Cualquier esfuerzo de la Ingeniería de Software, cuando termina con éxito, acaba por producir un determinado producto software, orientado a satisfacer ciertos requisitos previamente establecidos. El mantenimiento en este contexto se entiende de manera general como las actividades de cambio de ese producto. Ahora bien, el cambio se puede entender de diferentes maneras. Comenzando por lo básico, la definición de “Mantenimiento del Software” del estándar IEEE 1219 es: “El mantenimiento del software es la modificación de un producto software después de la entrega para corregir fallos, para mejorar el rendimiento u otros atributos, o para adaptar el producto a un entorno dinámico”.

Esta definición implica que las actividades de mantenimiento de un producto comienzan en el tiempo sólo después de que el producto se ha entregado, es decir, después de que el producto está en operación. Esta aceptación es buena para un producto tangible como puede ser un automóvil, pero cuando se trata de un producto software sólo es aceptable, en ocasiones, si se complementa y se considera que algunas actividades de mantenimiento pueden comenzar antes de la entrega del producto. Se puede considerar que ciertas actividades de mantenimiento comienzan antes de la entrega. Algunas de estas actividades son la planificación de las actividades posteriores a la entrega, así como toda actividad orientada a facilitar el mantenimiento, como la revisión de la documentación. No obstante, estas pueden considerarse actividades de preparación para el mantenimiento, más que de mantenimiento en sí.

Por ejemplo, Pigoski (1) resalta que hay una necesidad de comenzar a considerar el mantenimiento software desde el mismo momento en que comienza el desarrollo:
El mantenimiento del software es la totalidad de las actividades necesarias para proporcionar soporte económico (cost-effective) al sistema software. Estas actividades se desarrollan tanto antes como después de la entrega. Las actividades previas a la entrega incluyen la planificación de las operaciones posteriores a la entrega, planificación del soporte y determinación de la logística. Las actividades posteriores a la entrega incluyen la modificación del software, la formación de usuarios, y la operación de un help desk.

Como se ve, hay una diferenciación en las diferentes definiciones entre actividades pre- y post- entrega de un software. Para clarificar los conceptos, en este artículo se diferenciará entre:

1.- Actividades de mantenimiento propiamente dichas (posteriores a la entrega).

2.- Actividades de preparación para el mantenimiento.

El criterio para diferenciarlo de otras actividades es el hecho de la entrega del producto software. Se debe tener en cuenta que en ocasiones esa entrega es un acto formal dentro de un contrato, pero en muchas otras es una simple decisión de disponibilidad pública de un grupo de desarrollo. Por ejemplo, en los proyectos de fuente abierta, desarrollados de manera voluntaria, el qué es una entrega lo determinan los propios desarrolladores cuando piensan que la funcionalidad implementada ha llegado a un determinado nivel.

La guía SWEBOK (2) considera que el mantenimiento software ocurre durante todo el ciclo de vida, y coincide en su definición con la de Pigoski antes mencionada.

Es importante resaltar que el concepto de mantenimiento del software difiere de la concepción de mantenimiento en otras disciplinas de ingeniería. Esto es debido a que el software no se “deteriora” con el uso, es decir no se desgasta. En la ingeniería mecánica, el mantenimiento consiste en las acciones de reparación necesarias para que la máquina o sistema mecánico siga funcionando. En la Ingeniería de Software, el mantenimiento tiene un significado más amplio, cubriendo su adaptación a necesidades, preferencias y gustos del mercado.

(1) 1997 – Pigoski, T. M. (1997) Practical Software Maintenance – Best Practices for Managing Your Software Investment. John Wiley & Sons, New York, NY.

(2) www.swebok.org

27 May 2011 - Posted by | Ciencias de la Computación, Economía tecnología informática, Informática, Ingeniería Informática, Ingeniero Informático, Profesion Informático, Software

No hay comentarios aún.

Deja un comentario