¿Qué es la evolución del software?
La evolución del software es un proceso mediante el cual un programa de computadora comercial requiere actualización continua, mantenimiento y mejora con el tiempo para que siga siendo un producto viable. A este respecto, la evolución del software está impulsada por las necesidades externas de negocios y consumidores que cambian a medida que otros software y tecnologías avanzan a su alrededor. Sin embargo, el factor impulsor detrás de la evolución del software es a menudo un interno centrado en el equipo de ingeniería que produjo el producto y la compañía que depende de su éxito por la rentabilidad. The Imperial College of London, England, first promulgated three fundamental laws of software evolution in the early 1970s, which have since been expanded to a total of eight laws as of 2011. Other attempts have also been made to quantify the process utilizing models such as the Linear Sequential Model and Prototype Model, but the paradigm that seems to best fit software entropy life cycles is that of one resembling Darwinian evolution for living things.
Los factores impulsores básicos detrás de los cambios en la arquitectura de software se parecen a las mismas fuerzas que motivan a las empresas a actualizar la maquinaria industrial o los procedimientos operativos estándar que las necesidades sociales cambian. A medida que el software se usa cada vez más, las nuevas necesidades o funciones se vuelven evidentes que deben trabajar en versiones posteriores del producto. Todo el software también se libera con errores previamente desconocidos, por lo que se deben llevar a cabo parches periódicos y procedimientos de mantenimiento para corregir situaciones como lagunas de seguridad que podrían hacer que una empresa sea vulnerable para atacar a través del software en sí. Una clave para la evolución del software también es el hecho de que dichos programas deben adaptarse cada vez más para trabajar en diferentes tipos de equipos informáticos emergentes y dentro de varias arquitecturas del sistema operativo para que el programa tenga un atractivo más amplio.
satisfacer todas estas necesidades es crucial para determinar siUn programa de software sigue siendo viable y, dado que los activos de software son un aspecto tan crucial de la economía de la información a partir de 2011, la evolución del software se ha convertido en un aspecto fundamental de la adaptación y el crecimiento del negocio. Meir Lehman, un científico informático del Imperial College of London, se le atribuye la creación de las leyes de Lehman, que definieron sucintamente el proceso de evolución del software y los desarrolladores guiados por la visualización de software. Las leyes de Lehman se basan en la premisa de que el software evoluciona a medida que aumenta la retroalimentación sobre su rendimiento y que su tendencia inevitable es volverse cada vez más compleja.
Lehman ha declarado que la naturaleza de la evolución del software refleja los cambios naturales como la mutación en las moscas de la fruta, la forma en que las ciudades se expanden con el tiempo y cómo las estructuras militares mejoran incrementalmente los sistemas de armas. Las primeras tres leyes del proceso emulan estas tendencias al detallar el cambio continuo, el aumento de la complejidad y lo que se conoce como gran profesionalEvolución de Gram. El cambio continuo se refiere al hecho de que el programa debe adaptarse para satisfacer las condiciones comerciales actuales del mundo real, y esto refleja la creciente complejidad ya que el programa debe satisfacer una diversidad cada vez mayor de necesidades inesperadas. La evolución del programa grande se refiere a la necesidad de la corrección de errores y los nuevos lanzamientos del programa que están vinculados inexorablemente a las demandas del mercado.
De las cinco leyes restantes en la evolución del software, el número cuatro es la estabilidad organizacional y se refiere al hecho de que el crecimiento de un programa adquiere una vida propia, independientemente del nivel de recursos intencionalmente dedicados a él, y el número cinco es la conservación de la familiaridad que establece que el crecimiento incremental del programa es inevitable. El número seis en las ocho leyes de Lehman es un crecimiento continuo, que es necesario para satisfacer la demanda del consumidor, y el número siete está disminuyendo la calidad, lo que enfatiza el hecho de que todo el software eventualmente enfrenta límites en la funcionalidad de que TIno puedo cumplir. La ley final de Lehman para la evolución del software es el sistema de retroalimentación en sí, que une todas las fuerzas que afectan la viabilidad de un programa de software para llevarlo rápidamente a un mayor éxito o una obsolescencia inevitable y la muerte.
.