1.2.- El papel evolutivo del software
El software es el producto derivado del proceso de desarrollo, según la
ingeniería de software. Este producto es intrínsecamente evolutivo durante su
ciclo de vida, el software evoluciona, en general, generando versiones cada vez
más completas, complejas, mejoradas, optimizadas en algún aspecto, adecuadas a
nuevas plataformas. Cuando un sistema deja de evolucionar, eventualmente
cumplirá con su ciclo de vida, entrara en obsolescencia e inevitablemente tarde
o temprano será reemplazado por un producto nuevo. El software evoluciona
sencillamente porque debe de adaptar los cambios del entorno, sean funcionales
(exigencias de usuarios). La dinámica de la evolución del software es el
estudio de los cambios de sistema. La mayor contribución en esta área fue
realizada por meir m. Lehman comenzando en los años 70 y 80. Su trabajo
continúo en la década de 1990 con Leman y otros investigadores de relevancia en
la realimentación en los procesos de la evolución. A partir de estos estudios
propusieron un conjunto de leyes son invariantes y ampliamente aplicables.
Cambio continuo:
Programa que se usa en un entorno real necesariamente menos útil de 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 recursos extras para preservar y
simplificar la estructura.
Evolución prolongada
del sistema:
La evolución de los programas es un proceso autorregulativo. Los
atributos de los sistemas, tales como tamaño, tiempo entre entregas y la cantidad
de errores y documentados son aproximadamente invariantes para cada entrega del
sistema.
Estabilidad
organizacional:
Durante el tiempo de vida de un programa su velocidad de desarrollo es
aproximadamente constante e independiente de los recursos dedicados al
desarrollo del sistema.
Crecimiento continuado: la funcionalidad ofrecida por los sistemas
tiene que crecer continuamente para,
tener la satisfacción de los usuarios.
Realimentación del
sistema:
Los procesos de evolución incorporan sistemas de realimentación,
multiagente y multibucle y estos deben ser tratados como sistemas de
realimentación para lograr una mejora significativa del producto.
No hay comentarios:
Publicar un comentario