L’évolution du
logiciel est un processus par lequel un commercial programme informatique
nécessite la mise à jour continue, l'entretien et l'amélioration au fil du
temps pour que cela reste un produit viable. À cet égard, l'évolution du
logiciel est tirée par l'activité extérieure et des besoins des consommateurs
que le changement que d'autres logiciels et technologies avance autour d'elle.
Le facteur déterminant derrière l'évolution du logiciel, cependant, est souvent
un interne axé sur l'équipe d'ingénierie
qui a fabriqué le produit et l'entreprise qui dépend de son succès pour la
rentabilité. L'Imperial Collège de Londres, en Angleterre, d'abord promulgué
trois lois fondamentales de l'évolution du logiciel au début des années 1970,
qui ont depuis été étendu à un total de huit lois à partir de 2011. D'autres
tentatives ont également été faites pour quantifier le processus en utilisant
des modèles tels que le modèle linéaire et séquentiel Prototype modèle, mais le
paradigme qui semble cycle de vie de l'entropie du logiciel correspondent le
mieux est celle d'un ressemblant à l'évolution darwinienne pour les êtres
vivants.
Les facteurs de
moteurs fondamentaux des changements dans l'architecture logicielle ressemblent
les mêmes forces qui motivent les entreprises à mettre à niveau les machines
industrielles ou des procédures opérationnelles normalisées en fonction des
besoins de la société changent. En tant que logiciel est de plus en plus
utilisé, de nouveaux besoins ou de fonctions pour qu’ils deviennent apparents
qui doit être travaillé dans les versions ultérieures du produit. Tous les
logiciels sont également publiés des erreurs inconnues auparavant, de sorte que
les correctifs périodiques et des procédures de maintenance doivent être effectués
pour corriger les situations telles que les failles de sécurité qui pourraient
rendre une entreprise vulnérable à une attaque par le logiciel lui-même. Une
clé de l'évolution du logiciel est également le fait que de tels programmes
doivent être adaptés en plus de travailler sur différents types de matériel
informatique émergents et dans les différentes architectures de système
d'exploitation pour que le programme a un attrait plus large.
La réunion tous
ces besoins est cruciale pour déterminer si un programme de logiciel reste
viable, et, puisque les actifs logiciels sont un aspect crucial de l'économie
de l'information à partir de 2011, l'évolution du logiciel est devenue un aspect
fondamental de l'adaptation de l'entreprise et la croissance. Meir Lehman, un
chercheur en informatique à l'Imperial Collège de Londres, est crédité de la
création des lois de Lehman, qui a défini succinctement le processus
d'évolution de logiciels et développeurs guidées dans la réflexion prospective
de la visualisation du logiciel. Les lois de Lehman sont basées sur le principe
que le logiciel évolue commentaires sur ses performances augmentent et que sa
tendance inévitable est de plus en plus complexe.
Lehman a déclaré
que la nature de l'évolution du logiciel reflète les changements naturels tels
que la mutation chez la drosophile, la façon dont les villes s'étendent dans le
temps, et comment les structures militaires améliorent progressivement sur les systèmes d'armes. Les
trois premières lois du processus d'émuler ces tendances en détaillant continue
le changement, la complexité croissante, et ce qui est connu comme Grand
Evolution du programme. Poursuivre le changement se rapporte au fait que le programme
doit être adapté aux conditions d'affaires dans le monde réel en cours, et cela
reflète la complexité croissante que le programme doit répondre à une diversité
sans cesse croissante des besoins imprévus. Grand Evolution programme fait
référence à la nécessité pour la correction d'erreur et les nouvelles versions
du programme qui sont liés inexorablement aux exigences du marché.
Sur les cinq
dernières lois de l'évolution du logiciel, le numéro quatre est la stabilité
organisationnelle et se réfère au fait que la croissance d'un programme prend
une vie propre, indépendamment du niveau des ressources intentionnellement qui
lui sont consacrés, et le numéro cinq est la conservation de la connaissance
qui indique que la croissance progressive du programme est inévitable. Numéro
six dans les Lois Lehman huit est la croissance continue, ce qui est nécessaire
pour satisfaire la demande des consommateurs, et le numéro sept est une baisse
de qualité, qui met l'accent sur le fait que tous les logiciels éventuellement
face à des limites sur des fonctionnalités qui ne peut satisfaire. La loi
Lehman finale pour l'évolution du logiciel est le système de rétroaction
lui-même, qui rassemble toutes les forces qui influent sur la viabilité d'un
logiciel de conduire rapidement, il soit plus de succès ou de l'obsolescence
inévitable et la mort.