Wat is software -evolutie?
Software -evolutie is een proces waarbij een commercieel computerprogramma voortdurend bijwerken, onderhoud en verbetering in de loop van de tijd vereist om een levensvatbaar product te blijven. In dit opzicht wordt software -evolutie aangedreven door externe zakelijke en consumentenbehoeften die veranderen naarmate andere software en technologieën eromheen gaan. De drijvende factor achter software -evolutie is echter vaak een intern gericht op het technische team dat het product en het bedrijf produceerde dat afhankelijk is van het succes van de winstgevendheid. 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.
De basisdrijffactoren achter veranderingen in softwarearchitectuur lijken op dezelfde krachten die bedrijven motiveren om industriële machines of standaard operationele procedures te upgraden als maatschappelijke behoeften veranderen. Naarmate software in toenemende mate wordt gebruikt, worden nieuwe behoeften of functies voor het duidelijk die moeten worden uitgewerkt in latere releases van het product. Alle software wordt ook vrijgegeven met voorheen onbekende fouten, dus periodieke patches en onderhoudsprocedures moeten worden uitgevoerd om situaties zoals beveiligingsmazen te corrigeren die een bedrijf kwetsbaar kunnen maken om door de software zelf aan te vallen. Een sleutel tot software -evolutie is ook het feit dat dergelijke programma's in toenemende mate moeten worden aangepast om te werken aan verschillende soorten opkomende computerapparatuur en binnen verschillende architecturen van het besturingssysteem, zodat het programma een bredere aantrekkingskracht heeft.
Het voldoen aan al deze behoeften is cruciaal om te bepalen ofEen softwareprogramma blijft levensvatbaar en aangezien softwareactiva zo'n cruciaal aspect van de informatieeconomie zijn vanaf 2011, is software -evolutie een fundamenteel aspect van bedrijfsaanpassing en groei geworden. Meir Lehman, een computerwetenschapper aan het Imperial College of London, wordt gecrediteerd voor het creëren van Lehman's wetten, die bondig het proces van software -evolutie en begeleide ontwikkelaars definieerden in het vooruitdenken van softwarevisualisatie. De wetten van Lehman zijn gebaseerd op het uitgangspunt dat software evolueert naarmate de feedback over de prestaties toeneemt en dat de onvermijdelijke neiging is om steeds complexer te worden.
Lehman heeft verklaard dat de aard van software -evolutie natuurlijke veranderingen weerspiegelt, zoals mutatie in fruitvliegen, de manier waarop steden zich in de loop van de tijd uitbreiden en hoe militaire structuren incrementeel de wapensystemen verbeteren. De eerste drie wetten van het proces emuleren deze trends bij het detailleren van voortdurende verandering, toenemende complexiteit en wat bekend staat als grote program evolutie. Voortdurende verandering verwijst naar het feit dat het programma moet worden aangepast om te voldoen aan de huidige real-world bedrijfsomstandigheden, en dit weerspiegelt een toenemende complexiteit omdat het programma moet voldoen aan een steeds groeiende diversiteit van onverwachte behoeften. Grote programma -evolutie verwijst naar de noodzaak van foutcorrectie en nieuwe releases van het programma die onverbiddelijk zijn gebonden aan de eisen van de markt.
Van de vijf overgebleven wetten in software -evolutie, is nummer vier organisatorische stabiliteit en verwijst naar het feit dat de groei van een programma een eigen leven aanneemt, ongeacht het niveau van middelen die opzettelijk zijn gewijd, en nummer vijf is het behoud van bekendheid die stelt dat een incrementele groei van het programma onvermijdelijk is. Nummer zes in de acht Lehman -wetten is de groei voortgezet, wat nodig is om te voldoen aan de vraag van de consument, en nummer zeven neemt de kwaliteit af, wat benadrukt dat alle software uiteindelijk beperkt wordt van de functionaliteit die hetkan niet ontmoeten. De uiteindelijke Lehman -wet voor software -evolutie is het feedbacksysteem zelf, dat alle krachten verbindt die de levensvatbaarheid van een softwareprogramma beïnvloeden om het snel naar meer succes of onvermijdelijke veroudering en dood te brengen.
.