<< Chapter < Page Chapter >> Page >
Se describe brevemente el concepto de mantenimiento del software, y la importancia de las actividades de mantenimiento en la Ingeniería del Software.

La definición posiblemente más utilizada de la Ingeniería del Software es la siguiente (IEEE, 1990)

IEEE (1998) IEEE Std. 1219-1998, Standard for Software Maintenance, IEEE Computer Society Press, Los Alamitos, CA, 1998.
:“La aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, la operación y el mantenimiento del software; esto es, la aplicación de la ingeniería al software.”

En la propia definición aparece el mantenimiento como una de las actividades de la Ingeniería del Software. Ahora bien¿en quése diferencia el mantenimiento de otras actividades de la Ingeniería del Software?–concretamente,¿en quése diferencia de lo que se suele denominar“desarrollo”?. Para clarificar esta delimitación, hay que buscar un criterio que separe unas actividades de las otras.

Como primera aproximación, podemos decir que las actividades de mantenimiento del software son actividades de Ingeniería del Software orientadas a la modificación o cambio del mismo (por diferentes motivos, que se verán más adelante). El cambio tiene como característica fundamental el hecho de que primero se necesita una comprensión del objeto que se ha de cambiar, para poder hacer efectiva la modificación. Esto hace que la comprensión del software como actividad humana, sea un elemento esencial en la Ingeniería del Software. Es decir, es conveniente que el software tenga una estructura y una documentación asociada que facilite su comprensión.

La importancia del mantenimiento es de carácter económico–como toda actividad de Ingeniería.

En un sistema que es fácilmente mantenible, se puede implementar un cambio con un menor esfuerzo que en un sistema que es menos mantenible.

Esto nos lleva a pensar que puede resultar rentable el hacer el software más mantenible. Claro está, esto solo seráasísi los cambios son frecuentes en el software.

Todo software evoluciona para adaptarse a las necesidades de sus usuarios.

La combinación de los dos enunciados nos indica que es importante prever la mantenibilidad (es decir, la“facilidad de mantenimiento”), aún antes de la entrega del producto.

El estado de la prÁCtica del mantenimiento del software

Diferentes estudios han resaltado que el esfuerzo consumido en mantenimiento del software es en proporción al tiempo de desarrollo, muy elevado, con cifras entre el 50% y el 80% dependiendo de los estudios. En cualquier caso, es claro que el mantenimiento es una actividad que consume muchos recursos. Las actividades de mantenimiento incluyen entre otros, los siguientes elementos:

  • Es necesario comprender el software y comprender los cambios que se deben realizar.
  • Es necesario modificar el software y actualizar la documentación.
  • Es necesario volver a realizar las pruebas del software (prueba de regresión), además de probar específicamente las partes añadidas.

Además de esos costes directos, hay costes ocultos que son de gran importancia, como:

  • oportunidades de desarrollo que se han de posponer o que se pierden, debido a que los recursos disponibles están dedicados a las tareas de mantenimiento.
  • Insatisfacción del cliente cuando no se puede atender en un tiempo aceptable una petición de reparación o modificación que parece razonable.
  • Los errores ocultos introducidos al cambiar el software durante el mantenimiento reducen la calidad global del producto.
  • Perjuicio en otros proyectos de desarrollo cuando la plantilla tiene que dejarlos, total o parcialmente, para atender peticiones de mantenimiento.

En 1970 ya se había popularizado el término“Crisis del Software”para referir a la situación que acabamos de describir. Los síntomas de esta crisis han estado repercutiendo desde entonces en la industria de desarrollo de software y todavía se sienten sus efectos. Para resolver el problema surgióunárea de la informática que recibe el nombre de Ingeniería del Software.

Una de las principales causas de esta situación ha sido la poca importancia que se le ha dado al proceso de Mantenimiento del Software

El mantenimiento del software como un caso especial de mantenimiento

El software no se deteriora con el uso ni con el paso del tiempo, a diferencia de los materiales mecánicos que son producto de otras actividades de ingeniería. Mejor dicho, no sufre de un deterioro físico. No obstante, se suele considerar que el software tiene un deterioro en su estructura, cuando a lo largo del tiempo se van incluyendo más y más cambios que hacen que su estructura interna sea cada vez más difícil de entender. En ocasiones se ha denominado a este fenómeno como“erosión del diseño”.

Esta idea del deterioro de la estructura da lugar a la idea relacionada de la mantenibilidad. La mantenibilidad es una propiedad del diseño del software relativa a su facilidad de mantenimiento. Esto lleva a que en ocasiones se introduzcan cambios en el software sólo para hacerlo más mantenible, lo cual rara vez se encuentra en otras ramas de la ingeniería.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Conceptos del mantenimiento del software. OpenStax CNX. Nov 24, 2008 Download for free at http://cnx.org/content/col10567/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Conceptos del mantenimiento del software' conversation and receive update notifications?

Ask