Meir M. Lehman y László Bélády nos presentan las leyes de la Evolución del software:
László Bélády |
Ley I : Cambio continuo o continuidad de cambio.
Cuando un programa es utilizado en un entorno real, este siempre estará destinado a cambiar. Será menos utilizado en dicho entorno. (Tan pronto como un programa este creado, ya está desfasado.) Las razones que conducen esta afirmación son la evolución, crecimiento tecnológico en tiempo real.
Ley II : Complejidad creciente o incremento de complejidad.
Cuando los cambios transforman los programas, la estructura de este se hace progresivamente más compleja (salvo si se logra un esfuerzo activo para evitarlo). Esto significa que al realizar cambios, la estructura se hace más compleja cuando los programadores no pueden o no usan técnicas de ingeniería de software.
Ley III : Autorregulación o evolución del programa.
Es un proceso autorregulado. La medida de determinadas propiedades (tamaño, tiempo entre versiones y número de errores) revelan estadísticamente determinadas tendencias e invariantes.
Ley IV : Conservación de estabilidad organizacional.
A lo largo de un tiempo de vida de un programa, la carga que supera el desarrollo de dicho programa es aproximadamente constante e independiente de los recursos dedicados.
Ley V : Conservación de la familiaridad.
A medida que un sistema evoluciona todos los involucrados, tales como: los desarrolladores, personal de ventas, y usuarios, deben
conocer el total de su contenido y su comportamiento para lograr un desarrollo satisfactorio.
Ley VI : Crecimiento continuo.
Esta ley contiene un símil aspecto al que refleja la primera ley. A esto debe incrementarse el contenido funcional de un programa para mantener la satisfacción del usuario durante un ciclo de vida. (Los requisitos que se habían descartado volvieron a aparecer como necesidad.)
Explicados con otras palabras:
un desarrollo exagerado disminuye la familiaridad de los involucrados con el sistema. Por tanto, este incremento promedio debe permanecer continuo para mantener la satisfacción de los
usuarios.
Ley VII : Calidad decreciente.
Esta comenzará a disminuir a menos que dichos sistemas se adapten a los cambios de su entorno de funcionamiento. (Tiene que ver con los cambios en los criterios del usuario.)
Ley VIII : Retroalimentación del sistema.
Son incorporados los sistemas de retroalimentación multibucle y multiagente. Estos deben ser tratados como tal para mejorar de manera signifactiva un producto.
Multiagente : Es un sistema distribuido en el cual los nodos o elementos son estructuras de inteligencia artificial, donde la conducta combinada de dichos elementos producen un resultado en conjunto inteligente.
Multibucle : Multibucle o ciclos múltiples, consiste en tener, de manera constante, una retroalimentación de los resultados obtenidos y así poder ir mejorándolos.
Meir M. Lehman |
Referencias bibliográficas Pressman R. (2010). Ingeniería del software, séptima edición. Mexico: Mc Graw Hill Educación. Estándar IEEE 1219. Estándar IEEE/ISO 12207.
No hay comentarios:
Publicar un comentario