domingo, 16 de febrero de 2014

Leyes de Lehman

Introducción

Durante la evolución del software, podremos apreciar que se van presentando diversas problemáticas principalmente cuando se le hacen mejoras o reparaciones al sistema tanto internos (como cambios al código o al diseño, etc.), como externos (cambio de equipo de trabajo, en el proceso de negocios, etc.). Por esta razón debemos estar conscientes del proceso de evolución y nos apoyaremos estudiando las Leyes de Lehman.

Leyes de Lehman

La dinámica de evolución de los programas es el estudio de los cambios del sistema. La mayor parte del trabajo en esta área ha sido realizada por Lehman y Belady. A partir de estos estudios, propusieron un conjunto se leyes empíricas (Las leyes de Lehman) concernientes a los cambios y crecimiento de los sistemas tango grandes como chicos. Las cinco primeras leyes fueron las propuestas iniciales de Lehman; las leyes restantes fueron añadidas después de posteriores trabajos, dando como resultado lo siguiente:

  • Cambio continuado.

Un programa que se usa en un entorno real necesariamente debe cambiar o se volverá progresivamente menos útil en ese entorno.

  • Complejidad creciente.

A medida que un programa en evolución cambia, su estructura tiende a ser cada vez más compleja. Se deben dedicar recurso extras para preservar y simplificar la estructura.

  • Evolución prolongada del programa.

La evolución de los programas es un proceso autorregulativo. Los tributos de los sistemas, tales como tamaño, tiempo entre entregas y el número de errores documentados, son aproximadamente invariables para cada entrega del sistema.

Esto a su vez implica un aumento progresivo del esfuerzo de mantenimiento, a menos que se realice algún tipo de mantenimiento perfectivo a este respecto.

  • Estabilidad organizacional.

Es importante la buena comunicación entre cada integrante del equipo de desarrollo para lograr una eficiencia mutua que se verá reflejada a lo largo de la evolución del sistema.

  • Conservación de la familiaridad.

A medida que se realicen cambios, todos aquellos que estén asociados al sistema, deberán conocer dichos cambios y su impacto en el comportamiento y funcionalidad del mismo, para así seguirlo desarrollando eficientemente, por lo que es preferible realizar pequeños cambios a uno grande, sabiendo que dichos cambios traerán consigo, indudablemente, nuevos defectos.

  • Crecimiento continuado.

La funcionalidad ofrecida por los sistemas tiene que crecer continuamente para mantener la satisfacción de los usuarios. 

  • Decremento de la calidad.

La calidad de los sistemas comenzará a disminuir a menos que dichos sistemas se adapten a los cambios en su entorno de funcionamiento. 

  • Realimentación del sistema.

El proceso de evolución del sistema y los cambios desarrollados toman como base la realimentación por parte de los usuarios realizada en diferentes niveles y de forma iterativa, para así satisfacer las necesidades que se presentan constantemente.

Conclusión

Lehman dio un magnifico aporte a la Ingeniería de Software, puesto que sus leyes nos permiten controlar cambios y fallas inesperados en el software. Si las consideramos podremos crear un sistema con mayor calidad que efectivamente nos ayudará a tener un mejor producto para nuestro cliente, evaluando futuros problemas que se presenten al momento de dar mantenimiento o soporte.

Bibliografía

M.M, L. (1996). Laws of Software Evolution Revisited. London: Springer Verlag.
Sicilia, M. A. (24 de Noviembre de 2008). Leyes de la Evolución del Software. Recuperado el Febrero de 2013, de Connexions: http://cnx.org/content/m17406/latest/
Sommerville, I. (2005). Ingeniería del Software. Madrid: Pearson Eduacion.


 Descarga formato PDF

No hay comentarios:

Publicar un comentario