O que é evolução do software?
A evolução do software é um processo pelo qual um programa de computador comercial requer atualização, manutenção e melhoria contínuas ao longo do tempo para que ele permaneça um produto viável. A esse respeito, a evolução do software é impulsionada por negócios externos e as necessidades do consumidor que mudam à medida que outros software e tecnologias avançam em torno dele. O fator determinante por trás da evolução do software, no entanto, é frequentemente interno focado na equipe de engenharia que produzia o produto e a empresa que depende do seu sucesso para a lucratividade. 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.
Os fatores motivos básicos por trás das mudanças na arquitetura de software se assemelham às mesmas forças que motivam as empresas a atualizar máquinas industriais ou procedimentos operacionais padrão à medida que as necessidades da sociedade mudam. Como o software é cada vez mais usado, novas necessidades ou funções se tornam aparentes que devem ser trabalhadas em lançamentos posteriores do produto. Todo o software também é lançado com erros anteriormente desconhecidos; portanto, patches periódicos e procedimentos de manutenção devem ser realizados para corrigir situações como brechas de segurança que podem tornar uma empresa vulnerável a ataques através do próprio software. Uma chave para a evolução do software também é o fato de que esses programas devem ser cada vez mais adaptados para trabalhar em diferentes tipos de equipamentos emergentes de computador e em várias arquiteturas de sistemas operacionais, para que o programa tenha um apelo mais amplo.
atender a todas essas necessidades é crucial para determinar seUm programa de software permanece viável e, como os ativos de software são um aspecto tão crucial da economia da informação a partir de 2011, a evolução do software se tornou um aspecto fundamental da adaptação e crescimento dos negócios. Meir Lehman, cientista da computação do Imperial College of London, é creditado com a criação de leis do Lehman, que definiram sucintamente o processo de evolução do software e desenvolvedores guiados no objetivo de visualização de software. As leis do Lehman são baseadas na premissa de que o software evolui à medida que o feedback sobre seu desempenho aumenta e que sua tendência inevitável é se tornar cada vez mais complexa.
Lehman afirmou que a natureza da evolução do software reflete mudanças naturais, como mutação nas moscas da fruta, a maneira como as cidades se expandem com o tempo e como as estruturas militares melhoram incrementalmente os sistemas de armas. As três primeiras leis do processo imitam essas tendências para detalhando a mudança contínua, aumentando a complexidade e o que é conhecido como grande profissionalEvolução de Gram. A mudança contínua refere-se ao fato de que o programa deve ser adaptado para atender às condições comerciais atuais do mundo real, e isso reflete a crescente complexidade, pois o programa deve atender a uma diversidade cada vez maior de necessidades inesperadas. Grande evolução do programa refere -se à necessidade de correção de erros e novos lançamentos do programa que estão ligados inexoravelmente às demandas do mercado.
Das cinco leis restantes na evolução do software, o número quatro é a estabilidade organizacional e refere -se ao fato de que o crescimento de um programa assume a vida própria, independentemente do nível de recursos intencionalmente dedicados a ele, e o número cinco é a conservação da familiaridade que afirma que o crescimento incremental do programa é inevitável. O número seis nas oito leis do Lehman está continuando o crescimento, o que é necessário para satisfazer a demanda do consumidor, e o número sete está em declínio, o que enfatiza o fato de que todo o software acaba sendo limites para a funcionalidade que elenão pode se encontrar. A lei final do Lehman para a evolução do software é o próprio sistema de feedback, que une todas as forças que afetam a viabilidade de um programa de software para conduzi -lo rapidamente a maior sucesso ou obsolescência e morte inevitáveis.