Software-Wartung
Software-Wartung ist die Modifikation eines Softwareprodukts nach der Auslieferung, um Fehler zu beheben, es an eine sich ändernde Umgebung anzupassen und seine Funktion, Leistung oder Wartbarkeit zu verbessern.
Definition
Software-Wartung ist die Gesamtheit der Aktivitäten, die erforderlich sind, um Software nach der Auslieferung kostengünstig zu unterstützen, einschließlich der Behebung von Defekten, der Anpassung an neue Umgebungen und der Verbesserung von Fähigkeiten unter Wahrung der Integrität.
Scope
Dieses Thema behandelt die vier Wartungskategorien (korrektive, adaptive, perfektionierende, präventive); den Wartungsprozess von der Änderungsanforderung über die Auswirkungsanalyse, Modifikation, Testung und Freigabe; das Programmverständnis und die Herausforderungen bei der Änderung unbekannten Codes; Wartbarkeit als Qualitätsattribut; sowie die Standards und Metriken, die die Wartungsarbeit regeln.
Core questions
- Wie werden Wartungsänderungen klassifiziert und priorisiert?
- Welche Prozessschritte führen eine Änderungsanforderung zu einer freigegebenen Modifikation?
- Wie wird die Auswirkung einer vorgeschlagenen Änderung analysiert, bevor sie vorgenommen wird?
- Was macht Software wartbar, und wie wird Wartbarkeit gemessen?
Key theories
- Wartungskategorien
- Korrektive Wartung behebt Fehler, adaptive Wartung passt sich an Umgebungsänderungen an, perfektionierende Wartung verbessert oder erweitert Funktionen und Leistung, und präventive Wartung verbessert die zukünftige Wartbarkeit; nicht-korrektive Kategorien dominieren den Aufwand.
- Auswirkungsanalyse
- Bevor eine Änderung implementiert wird, identifiziert die Auswirkungsanalyse die betroffenen Komponenten, Schnittstellen und Tests unter Verwendung von Abhängigkeitsinformationen und Rückverfolgbarkeit, um den Aufwand und die Folgewirkungen abzuschätzen und das Risiko zu begrenzen.
Clinical relevance
Da die Wartung den Großteil der gesamten Softwarekosten ausmacht und der größte Teil davon adaptiver und perfektionierender statt korrigierender Natur ist, bestimmen die Gestaltung für Wartbarkeit und die Einhaltung eines disziplinierten Wartungsprozesses direkt die langfristige Wirtschaftlichkeit eines Systems.
Evidence & guidelines
ISO/IEC 14764 definiert den Wartungsprozess und seine Aktivitäten, und ISO/IEC 25010 spezifiziert Untermerkmale der Wartbarkeit wie Modularität, Modifizierbarkeit und Testbarkeit.
History
Studien in den 1970er und 1980er Jahren zeigten, dass die Wartung den Großteil der Softwarebudgets beansprucht und dass adaptive und perfektionierende Arbeiten die korrektive Fehlerbehebung überwiegen; dies wandelte die Wartung von einem nachträglichen Gedanken zu einer zentralen, prozessgesteuerten Phase, die später in ISO/IEC 14764 standardisiert wurde.
Key figures
- Meir M. Lehman
- Bennet Lientz
- Ian Sommerville
Related topics
Seminal works
- iso14764
- swebok2014
- sommerville2015
Frequently asked questions
- Welche Art von Wartung erfordert den größten Aufwand?
- Studien zeigen durchweg, dass adaptive und perfektionierende Wartung – die Anpassung von Software an neue Umgebungen und deren Verbesserung – zusammen den Großteil des Wartungsaufwands ausmachen, weit über der korrektiven Fehlerbehebung.
- Warum ist die Änderung von altem Code so schwierig?
- Wartungspersonal muss oft Code verstehen, den es nicht selbst geschrieben hat, wobei die ursprüngliche Begründung und Dokumentation fehlen können; das Verständnis des bestehenden Systems und der Folgewirkungen einer Änderung kostet häufig mehr als die eigentliche Durchführung der Änderung.