<< Chapter < Page | Chapter >> Page > |
La definición posiblemente más utilizada de la Ingeniería del Software es la siguiente (IEEE, 1990)
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.
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:
Además de esos costes directos, hay costes ocultos que son de gran importancia, como:
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 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.
Notification Switch
Would you like to follow the 'Conceptos del mantenimiento del software' conversation and receive update notifications?