<< Chapter < Page Chapter >> Page >
Factores que influyen en la Mantenibilidad del Software.

El IEEE

Institute of Electrical and Electronics Engineers. (1990) IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries. New York, NY.IEEE Std. 610.12 (1990) Standard Glossary of Software Engineering Terminology. IEEE Computer Society Press, Los Alamitos, CA.
(19990) define mantenibilidad como: “La facilidad con la que un sistema o componente software puede ser modificado para corregir fallos, mejorar su funcionamiento u otros atributos o adaptarse a cambios en el entorno”.

Esta definición está directamente conectada con la definición del IEEE para mantenimiento del software: “es el proceso de modificar un componente o sistema software después de su entrega para corregir fallos, mejorar su funcionamiento u otros atributos o adaptarlo a cambios en el entorno”.

En consecuencia, la mantenibilidad es una característica de calidad del software relacionada con la facilidad de mantenimiento, que nosotros consideraremos como una actividad de mantenimiento.

A mayor mantenibilidad, menores costes de mantenimiento (y viceversa).

La mantenibilidad debe establecerse como objetivo tanto en las fases iniciales del ciclo de vida, para reducir las posteriores necesidades de mantenimiento, como durante las fases de mantenimiento, para reducir los efectos laterales y otros inconvenientes ocultos (y seguir así reduciendo las futuras necesidades de mantenimiento).

Existen unos pocos factores que afectan directamente a la mantenibilidad, de forma que si alguno de ellos no se satisface adecuadamente, ésta se resiente. Los tres más significativos son:

  • Proceso de desarrollo: la mantenibilidad debe formar parte integral del proceso de desarrollo del software. Las técnicas utilizadas deben ser lo menos intrusivas posible con el software existente. Los problemas que surgen en muchas organizaciones de mantenimiento son de doble naturaleza: mejorar la mantenibilidad y convencer a los responsables de que la mayor ganancia se obtendrá únicamente cuando la mantenibilidad esté incorporada intrínsecamente en los productos software.
  • Documentación: En múltiples ocasiones, ni la documentación ni las especificaciones de diseño están disponibles, y por tanto, los costes del mantenimiento se incrementan debido al tiempo requerido para que un mantenedor entienda el diseño del software antes de poder ponerse a modificarlo. Las decisiones sobre la documentación que debe desarrollarse son muy importantes cuando la responsabilidad del mantenimiento de un sistema se va a transferir a una organización nueva.
  • Comprensión de Programas: La causa básica de la mayor parte de los altos costes del MS es la presencia de obstáculos a la comprensión humana de los programas y sistemas existentes. Estos obstáculos surgen de tres fuentes principales:
    • La información disponible es incomprensible, incorrecta o insuficiente.
    • La complejidad del software, de la naturaleza de la aplicación o de ambos.
    • La confusión, mala interpretación o olvidos sobre el programa o sistema.

Dependiendo de cómo se haya construido el software se puede aumentar la mantenibilidad. Los generadores de código, por lo general, no producen un código claro ni fácil de comprender, por lo que el mantenimiento del software así generado es peor. Por otro lado, las técnicas de programación estructurada, la aplicación de metodologías de ingeniería del software y el seguimiento de estándares, permiten la obtención de sistemas o componentes software con menos necesidades de mantenimiento, y en el caso de que se produzcan, mucho más fáciles de llevar a cabo.

Más concretamente, se han identificado los factores específicos que influyen en la mantenibilidad:

  • Falta de cuidado en las fases de diseño, codificación o prueba.
  • Pobre configuración del producto software.
  • Adecuada cualificación del equipo de desarrolladores del software.
  • Estructura del software fácil de comprender.
  • Facilidad de uso del sistema.
  • Empleo de lenguajes de programación y sistemas operativos estandarizados.
  • Estructura estandarizada de la documentación.
  • Documentación disponible de los casos de prueba.
  • Incorporación en el sistema de facilidades de depuración.
  • Disponibilidad del equipo (computador y periféricos) adecuado para realizar el mantenimiento.
  • Disponibilidad de la persona o grupo que desarrolló originalmente el software.
  • Planificación del mantenimiento.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Métricas del mantenimiento de software. OpenStax CNX. Jan 09, 2009 Download for free at http://cnx.org/content/col10583/1.9
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Métricas del mantenimiento de software' conversation and receive update notifications?

Ask