Softwarewartung: Typen, Techniken & Management
Classified in Informatik
Written at on Deutsch with a size of 4,9 KB.
Arten der Softwarewartung
Perfektive Wartung
Maßnahmen zur Verbesserung der internen Aspekte der Softwarequalität, wie z.B.:
- Code-Umstrukturierung
- Klarere Systemdefinition
- Optimierung von Leistung und Effizienz
Evolutionäre Wartung
Ergänzungen, Änderungen und Löschungen, die in einem Softwareprodukt notwendig sind, um es an veränderte Benutzeranforderungen anzupassen.
Adaptive Wartung
Anpassungen an Veränderungen in der Systemumgebung, z.B.:
- Hardware-Konfiguration
- Softwarebasis
- Datenbank-Manager
- Kommunikation
Korrektive Wartung
Behebung von Fehlern im Softwareprodukt.
Technische Unterstützung in der Softwarewartung
Innerhalb des Software-Engineerings gibt es Techniken, um die Wartung zu optimieren und die Lebenszykluskosten zu senken.
1. Reverse Engineering
Analyse eines Systems, um seine Bestandteile und deren Beziehungen zu erkennen und Systemdarstellungen in anderer Form oder auf höherer Abstraktionsebene zu erstellen.
2. Reengineering
Modifikation eines Softwareprodukts oder bestimmter Komponenten durch Analyse des bestehenden Systems und Reverse Engineering. Direkte Engineering-Tools werden für den Wiederaufbau verwendet, um die Wartbarkeit, Wiederverwendbarkeit, Verständlichkeit und Evolution zu verbessern.
3. Restrukturierung
Änderung der Darstellung eines Softwareprodukts auf der gleichen Abstraktionsebene.
Ziele der Wartungstechniken
Bereitstellung von Verfahren zum Wiederaufbau der Software, entweder durch Neuprogrammierung, Neugestaltung oder Überarbeitung einiger Produktfunktionen.
- Direktes Engineering: Traditionelle Softwareentwicklung.
- Reverse Engineering: Analyse eines Systems, um Zusammenhänge und Komponenten zu erkennen und Darstellungen in anderer Form oder höherer Abstraktionsebene zu erstellen.
- Reengineering: Untersuchung und Veränderung eines Systems zur Rekonstruktion in neuer Form und anschließende Implementierung.
- Restrukturierung: Änderung der Software, um sie verständlicher und änderbarer zu machen.
- Remodularisierung: Änderung des modularen Aufbaus eines Systems nach den Prinzipien des strukturierten Designs.
- Analyse der Wartbarkeit: Konzentration auf relativ wenige Systemmodule.
- Anzeige: Längster Prozess zum Verständnis der Software.
- Messung und Analyse: Untersuchung bestimmter Eigenschaften von Programmen.
Analyse der Wartungsfälle
Bei der Wahl der Wartungsart sollten folgende Punkte berücksichtigt werden:
- Wartungskosten
- Verlorene Entwicklungsmöglichkeiten
- Kundenunzufriedenheit bei nicht zeitnaher Bearbeitung von Anfragen
- Versteckte Fehler, die durch Änderungen während der Wartung die Produktqualität mindern
- Auswirkungen auf andere Projekte, wenn Ressourcen für Wartungsanfragen abgezogen werden
Schwierigkeiten bei der Wartung
Technische und praktische Vorschläge für EV-Metriken
- Kosten-Nutzen-Analyse
- Use Case
- Katalogisierung
- Klassendiagramm, Funktionale Dekomposition
- Datenflussdiagramm
- Objektinteraktionsdiagramm
- Diagrammdarstellung
- Auswirkungsmatrix
- Erweitertes Entity-Relationship-Modell
- Planung
- Präsentations-Workshops
Managementprozesse und Change Management
Schlüsselprozesse für die Entstehung und Entwicklung des Systems. Sie ermöglichen die Steuerung verschiedener Versionen und Änderungen während des Lebenszyklus.
Wichtige Aktivitäten im Change Management
- Einführung von Änderungsanträgen
- Registrierung der Anträge und Berichterstattung über deren Status
- Bereitstellung eines Audit-Logs der Änderungen
- Bereitstellung von Input für das Projektmanagement
- Auswirkungsanalyse zur Bestimmung des Umfangs der Änderungen
Wichtige Aktivitäten der Folgenabschätzung
- Bewertung von Änderungsanträgen in Bezug auf bestehende Systeme, andere Systeme, Hardware, Datenstrukturen usw.
- Entwicklung einer vorläufigen Ressourcenschätzung
- Dokumentation des Umfangs der Änderungen und Aktualisierung der Anträge
Wartungsmanagement
Softwarewartung
Alle Aktivitäten, die erforderlich sind, um finanzielle Unterstützung für das System zu leisten. Diese Aktivitäten werden sowohl vor als auch nach der Auslieferung durchgeführt.
Aktivitäten vor der Auslieferung
Planung für Aktivitäten nach der Auslieferung, Support und Logistik.
Aktivitäten nach der Auslieferung
Softwaremodifikation, Benutzerschulung und Betrieb eines Helpdesks.