Ingeniería de Software | Evolución del software

Evolución de software es un término que se refiere al proceso de desarrollo de software inicialmente, luego actualizándolo oportunamente por varias razones, es decir, para agregar nuevas funciones o eliminar funcionalidades obsoletas, etc. El proceso de evolución incluye actividades fundamentales de análisis de cambios, planificación de versiones, sistema implementación y lanzamiento de un sistema a los clientes. 

Se accede al costo y el impacto de estos cambios para ver cuánto sistema se ve afectado por el cambio y cuánto podría costar implementar el cambio. Si se aceptan los cambios propuestos, se planea una nueva versión del sistema de software. Durante la planificación del lanzamiento, se consideran todos los cambios propuestos (reparación de fallas, adaptación y nueva funcionalidad). 

Luego se hace un diseño sobre qué cambios implementar en la próxima versión del sistema. El proceso de implementación de cambios es una iteración del proceso de desarrollo donde se diseñan, implementan y prueban las revisiones del sistema. 

La necesidad de la evolución del software : la evaluación del software es necesaria solo por las siguientes razones:

a) Cambio en los requisitos con el tiempo : con el paso del tiempo, las necesidades de la organización y el modus operandi de trabajo podrían cambiar sustancialmente, por lo que en este tiempo que cambia con frecuencia, las herramientas (software) que están utilizando deben cambiar para maximizar el rendimiento.

b) Cambio del entorno : A medida que el entorno de trabajo cambia, las cosas (herramientas) que nos permiten trabajar en ese entorno también cambian proporcionalmente. Lo mismo sucede en el mundo del software a medida que cambia el entorno de trabajo, las organizaciones necesitan reintroducir el software antiguo con características actualizadas y funcionalidad para adaptarse al nuevo entorno.

c) Errores y fallas : A medida que la antigüedad del software implementado dentro de una organización aumenta, su precisión o impecabilidad disminuyen y la eficiencia para soportar la creciente complejidad de la carga de trabajo también se degrada continuamente. Entonces, en ese caso, se vuelve necesario evitar el uso de software obsoleto y antiguo. Todos estos softwares obsoletos deben someterse a un proceso de evolución para volverse robustos de acuerdo con la complejidad de la carga de trabajo del entorno actual.  

d) Riesgos de seguridad : el uso de software desactualizado dentro de una organización puede llevarlo al borde de varios ataques cibernéticos basados ​​en software y podría exponer sus datos confidenciales asociados ilegalmente con el software que está en uso. Por lo tanto, se hace necesario evitar tales brechas de seguridad mediante la evaluación periódica de los parches/módulos de seguridad que se utilizan en el software. Si el software no es lo suficientemente robusto para soportar los ataques cibernéticos que ocurren actualmente, debe cambiarse (actualizarse).

e) Para tener nuevas funcionalidades y características : para aumentar el rendimiento y el procesamiento rápido de datos y otras funcionalidades, una organización necesita evolucionar continuamente el software a lo largo de su ciclo de vida para que las partes interesadas y los clientes del producto puedan trabajar de manera eficiente.

Leyes utilizadas para la evolución del software: 

  1. Ley del cambio continuo: 
    esta ley establece que cualquier sistema de software que represente alguna realidad del mundo real sufre cambios continuos o se vuelve progresivamente menos útil en ese entorno.
  2. Ley de complejidad creciente: 
    a medida que cambia un programa en evolución, su estructura se vuelve más compleja a menos que se hagan esfuerzos efectivos para evitar este fenómeno.
  3. Ley de conservación de la estabilidad de la organización: 
    Durante la vida útil de un programa, la tasa de desarrollo de ese programa es aproximadamente constante e independiente del recurso dedicado al desarrollo del sistema.
  4. Ley de conservación de la familiaridad: 
    Esta ley establece que durante la vida activa del programa, los cambios realizados en las sucesivas entregas son casi constantes.

Publicación traducida automáticamente

Artículo escrito por anonymous007 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *