Was ist Software Evolution?

Softwareentwicklung ist ein Prozess, bei dem ein kommerzielles Computerprogramm im Laufe der Zeit ständig aktualisiert, gewartet und verbessert werden muss, damit es ein lebensfähiges Produkt bleibt. In dieser Hinsicht wird die Softwareentwicklung von externen Geschäfts- und Verbraucheranforderungen angetrieben, die sich im Zuge der Weiterentwicklung anderer Software und Technologien ändern. Der treibende Faktor für die Softwareentwicklung ist jedoch häufig ein interner, der sich auf das Entwicklungsteam konzentriert, das das Produkt hergestellt hat, und auf das Unternehmen, dessen Rentabilität von seinem Erfolg abhängt. Das Imperial College in London, England, hat in den frühen 1970er Jahren erstmals drei grundlegende Gesetze der Software-Evolution erlassen, die seitdem auf insgesamt acht Gesetze ab 2011 erweitert wurden. Es wurden auch andere Versuche unternommen, den Prozess mithilfe von Modellen wie z das lineare sequentielle Modell und das Prototypmodell, aber das Paradigma, das am besten zu den Lebenszyklen der Software-Entropie zu passen scheint, ist dasjenige, das der darwinistischen Evolution für Lebewesen ähnelt.

Die grundlegenden Antriebsfaktoren für Änderungen in der Softwarearchitektur ähneln denselben Kräften, die Unternehmen motivieren, Industriemaschinen oder Standardarbeitsanweisungen zu aktualisieren, wenn sich die gesellschaftlichen Anforderungen ändern. Mit der zunehmenden Verwendung von Software werden neue Anforderungen oder Funktionen offensichtlich, die in späteren Versionen des Produkts berücksichtigt werden müssen. Alle Software wird auch mit zuvor unbekannten Fehlern veröffentlicht. Daher müssen regelmäßige Patches und Wartungsverfahren durchgeführt werden, um Situationen wie Sicherheitslücken zu beheben, die ein Unternehmen anfällig für Angriffe über die Software selbst machen könnten. Ein Schlüssel zur Weiterentwicklung der Software ist auch die Tatsache, dass solche Programme zunehmend an verschiedene Arten von neu aufkommenden Computergeräten und innerhalb verschiedener Betriebssystemarchitekturen angepasst werden müssen, damit das Programm eine breitere Anziehungskraft hat.

Die Erfüllung all dieser Anforderungen ist entscheidend, um zu bestimmen, ob ein Softwareprogramm lebensfähig bleibt. Da Software-Assets ab 2011 ein so wichtiger Aspekt der Informationswirtschaft sind, ist die Software-Evolution zu einem grundlegenden Aspekt der Anpassung und des Wachstums von Unternehmen geworden. Meir Lehman, ein Informatiker am Imperial College of London, wird die Erstellung von Lehman-Gesetzen zugeschrieben, die den Prozess der Softwareentwicklung genau definierten und Entwickler beim Vorwärtsdenken bei der Visualisierung von Software anführten. Die Lehman-Gesetze basieren auf der Annahme, dass sich Software mit zunehmendem Feedback zur Leistung weiterentwickelt und die unvermeidliche Tendenz besteht, immer komplexer zu werden.

Laut Lehman spiegelt die Natur der Softwareentwicklung natürliche Veränderungen wider, wie Mutationen in Fruchtfliegen, die Art und Weise, wie Städte sich im Laufe der Zeit ausdehnen und wie militärische Strukturen die Waffensysteme schrittweise verbessern. Die ersten drei Gesetze des Prozesses bilden diese Trends nach, indem sie den kontinuierlichen Wandel, die zunehmende Komplexität und die so genannte "Large Program Evolution" beschreiben. Continuing Change bezieht sich auf die Tatsache, dass das Programm an die aktuellen Geschäftsbedingungen angepasst werden muss, und dies spiegelt die zunehmende Komplexität wider, da das Programm einer ständig wachsenden Vielfalt unerwarteter Bedürfnisse gerecht werden muss. Large Program Evolution verweist auf die Notwendigkeit einer Fehlerkorrektur und neuer Programmversionen, die untrennbar mit den Anforderungen des Marktes verbunden sind.

Von den fünf verbleibenden Gesetzen in der Software-Evolution ist das vierte die organisatorische Stabilität und bezieht sich auf die Tatsache, dass das Wachstum eines Programms unabhängig von der Menge der Ressourcen, die absichtlich dafür verwendet werden, ein Eigenleben annimmt, und das fünfte auf die Erhaltung der Vertrautheit das heißt, dass ein schrittweises Wachstum des Programms unvermeidlich ist. Nummer sechs in den acht Lehman-Gesetzen ist das kontinuierliche Wachstum, das zur Befriedigung der Verbrauchernachfrage erforderlich ist, und Nummer sieben ist die Abnahme der Qualität, was die Tatsache unterstreicht, dass jede Software irgendwann an Grenzen der Funktionalität stößt, die sie nicht mehr erfüllen kann. Das endgültige Lehman-Gesetz für die Software-Evolution ist das Feedback-System selbst, das alle Kräfte zusammenführt, die die Lebensfähigkeit eines Software-Programms beeinflussen, um es schnell zu größerem Erfolg oder unvermeidbarer Veralterung und zum Tod zu führen.

ANDERE SPRACHEN

War dieser Artikel hilfreich? Danke für die Rückmeldung Danke für die Rückmeldung

Wie können wir helfen? Wie können wir helfen?