Como punto de partida, para abordar la evolución del software es necesario tener muy
presente como es el ciclo de vida del software en sí. Todo sistema desarrollado, tiene una
vida útil, pero el inicio de su ciclo de vida no es necesariamente cuando se empieza a crear,
sino cuando principalmente es puesto en marcha, pues durante su tiempo de servicio, pasa por
diferentes etapas de modificación y control, hasta que finalmente pasa a ser un bien
completamente obsoleto.
Actualmente, debido a la globalización y al constante cambio de las diferentes
organizaciones, la transformación de los sistemas pasa a ser uno de los puntos claves para
llevar a cabo todo lo que se necesita, pues dichas empresas, son totalmente dependientes del
software. Según (Somerville, 2015) las organizaciones gastan miles de millones de dólares
anualmente en modificaciones, mantenimiento y desarrollo de software, pues como hemos
podido evidenciar, el software es un activo al cual se le debe seguir invirtiendo para
mantenerlo. Diferentes posturas acerca de esta discusión nos llevan a la misma hipótesis, la
manutención de los diferentes sistemas para distintas organizaciones puede y es mucho más
costoso que su desarrollo en sí, pues las nuevas demandas y necesidades de los clientes, crean
la necesidad de ir estableciendo mejoras, las cuales pasan a ser mucho más costosas teniendo
un sistema ya en ejecución.
Un factor muy puntual e importante en la evolución del software es la continuidad y
discontinuidad de los aparatos tecnológicos sobre los cuales se establecen los sistemas. Un
ejemplo muy visible son los teléfonos celulares, pues el avance y capacidades de estos en las
últimas dos décadas han sido impresionante, así como la demanda y dependencia cada vez
mayor de los usuarios, pues afirma (Aoyama, 2001) los sistemas de software, especialmente
los de dispositivos móviles, se encuentran sometidos a una gran e implacable presión de
cambio, pues esto se reconoce bajo la afirmación “Si se usa un sistema de software, es
necesario evolucionar con sus requisitos y entornos informáticos”. Actualmente muchos de
los sistemas que usamos a diarios presentan cambios continuos (que requieren cambios de
muy bajo nivel) y permiten el crecimiento de sistemas basados en ideas que satisfacen las
necesidades de los usuarios, pero a su vez, genera un proceso evolutivo más acelerado y
controlado. En su contraparte, podemos evidenciar cambios discontinuos, en donde vemos
desaparecer sistemas enteros debido a que pasan a ser obsoletos y reemplazados por algunos
más novedosos, eficientes y eficaces.
Podemos seguir encontrando diversos factores que determinan y son influyentes en la
evolución consecutiva del software, pero como muchos investigadores de la materia,
llegaremos a conseguir y recrear nuevas hipótesis, pues el desarrollo de software es una tarea
que demanda tiempo y recursos, así como a su vez factores de aplicación, estructuración y
diseño. (Leman, 2001) Nos afirma que existe una relación entre el software y el mundo real,
y que toda aplicación en este, puede ser llevada a cabo bajo un modelo de dominio y una
implementación obtenida bajo un modelo de abstracción.
Finalmente, esta podría ser la razón principal, del porque el mundo del desarrollo de
software es tan grande, y porque los factores que implican su acelerada renovación son
demasiados, pero gracias a esto, hoy en día es posible satisfacer muchas de las necesidades
que requiere el ser humano para su continuado desarrollo y surgimiento.
Referencias
Aoyama, M. (2001). Evolución de software continua y discontinua: Aspectos de la evolución del
software en múltiples líneas de productos. ACM, 87-90.
Leman, M. M. (2001). Evolución en software y áreas relacionadas. ACM, 1-16.
Somerville, I. (2015). Ingenieria de Software. Madrid, España: Pearson.
Comentarios
Publicar un comentario