ScholarGate
Assistent

Softwarewartung und -evolution

Softwarewartung und -evolution befassen sich mit der Modifikation von Software nach der Auslieferung und der langfristigen Dynamik, durch die Systeme kontinuierlich geändert werden müssen, um nützlich zu bleiben.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

Softwarewartung ist die Modifikation eines Softwareprodukts nach der Auslieferung, um Fehler zu beheben, die Leistung zu verbessern oder es an eine geänderte Umgebung anzupassen, und Softwareevolution ist der umfassendere, fortlaufende Prozess, durch den sich Software im Laufe ihrer Lebensdauer als Reaktion auf sich ändernde Anforderungen und Umgebungen verändert.

Scope

Dieser Bereich umfasst die Kategorien der Wartung (korrektive, adaptive, perfektionierende, präventive); die empirischen Gesetze der Softwareevolution; Programmverständnis und Auswirkungsanalyse; Reengineering, Reverse Engineering und Migration von Altsystemen; die Akkumulation und das Management technischer Schulden; sowie die Prozesse und Standards, die die Wartung regeln, wie ISO/IEC 14764.

Sub-topics

Core questions

  • Welche Änderungskategorien umfasst die Wartung und wie unterscheiden sie sich?
  • Welche empirischen Gesetze bestimmen, wie sich Software im Laufe der Zeit entwickeln muss?
  • Wie werden Altsysteme verstanden, restrukturiert und migriert?
  • Wie akkumulieren sich technische Schulden und wie werden sie verwaltet?

Key theories

Kategorien der Softwarewartung
Die Wartung wird klassifiziert als korrektive (Fehlerbehebung), adaptive (Anpassung an Umgebungsänderungen), perfektionierende (Verbesserung von Funktion oder Leistung) und präventive (Verbesserung der Wartbarkeit), wobei adaptive und perfektionierende Arbeiten in der Praxis dominieren.
Lehmans Gesetze der Softwareevolution
Lehman stellte fest, dass aktiv genutzte Systeme sich kontinuierlich ändern müssen, um nicht zunehmend unbefriedigend zu werden, und dass ihre Komplexität mit der Evolution zunimmt, es sei denn, es wird Arbeit investiert, um sie zu reduzieren.

Clinical relevance

Die Wartung verbraucht in der Regel den Großteil der Gesamtkosten eines Systems über dessen Lebensdauer, daher sind das Verständnis der Evolutionsdynamik, die Kontrolle des Komplexitätswachstums und das Management technischer Schulden entscheidend für die langfristige Wirtschaftlichkeit und Lebensfähigkeit von Software.

Evidence & guidelines

ISO/IEC 14764 definiert den Softwarewartungsprozess, und der SWEBOK-Wissensbereich Softwarewartung bietet konsensbasierte Leitlinien zu Wartungskategorien, -aktivitäten und -techniken.

History

Die Erkenntnis, dass die Wartung die Softwarekosten dominiert, wuchs in den 1970er Jahren; Lehman und Belady formulierten die Gesetze der Softwareevolution aus empirischen Studien großer Systeme, und Reengineering- sowie Legacy-Modernisierungstechniken entwickelten sich, als langlebige Systeme alterten und technische Schulden zu einem anerkannten Problem wurden.

Debates

Altsysteme warten, reengineeren oder ersetzen
Die Entscheidung, ob ein alterndes System weiter gewartet, restrukturiert oder vollständig ersetzt werden soll, ist eine wiederkehrende strategische Debatte, die das Risiko und die Kosten eines Ersatzes gegen die steigenden Kosten und die Fragilität der fortgesetzten Wartung abwägt.

Key figures

  • Meir M. Lehman
  • Les Belady
  • Ian Sommerville

Related topics

Seminal works

  • lehman1980
  • iso14764
  • sommerville2015

Frequently asked questions

Ist Wartung nur Fehlerbehebung?
Nein. Die Fehlerbehebung (korrektive Wartung) ist nur eine Kategorie; der größte Teil des Wartungsaufwands ist adaptiv und perfektionierend – Anpassung der Software an neue Umgebungen und Hinzufügen oder Verbessern von Funktionen – was zusammen in typischen Systemen die korrektive Arbeit übersteigt.
Warum neigt die Softwarekomplexität dazu, im Laufe der Zeit zu wachsen?
Wie Lehman beobachtete, führen kontinuierliche Änderungen zur Erfüllung sich entwickelnder Bedürfnisse zu zusätzlichen Strukturen und Sonderfällen; wenn nicht bewusst Anstrengungen zur Restrukturierung und Reduzierung der Komplexität unternommen werden, wird das System zunehmend schwieriger zu ändern.

Methods for this concept

Related concepts