Upload
isaak-neiss
View
106
Download
0
Embed Size (px)
Citation preview
Wartung & Support
Vortrag zum Seminar IT-Consulting
Im Sommersemester 2002
von Andrea Rudzuck
28.06.2002
© Andrea Rudzuck 2
Wartung und Support - Inhalt
Wartung im Lebenszyklus einer Software Begriff: Wartung Probleme der Softwarewartung Lösungsansätze durch Vorgehensmodelle Das Wartungsmodell Ablösung von Altsystemen Wartungsalternativen Zusammenfassung
© Andrea Rudzuck 3
Wartung als Teil des Software-Lebenszyklus‘
Systems Engineering
Software-Anforderungsanalyse/
-definition
Software-Entwurf
Implementierung
Test
Betrieb & Wartung
Der Anteil der Wartung beträgt ca. 2/3 der gesamten Kosten eines Softwareprodukts
Wartung
Entwicklung
[Der Software-Eisberg]
© Andrea Rudzuck 4
Begriff: Wartung
Maschinenwartung vs. Softwarewartung
Präventive Wartung zur Vorbeugung von Ausfällen.
Software unterliegt als Abbild betrieblicher Realitäten dem ständigen Anpassungszwang an betriebliche Änderungen.
Erhalt der Funktionsfähigkeit
Präventive Wartung ist unrealistisch.
Eine Maschine ist statisch und kann als Endprodukt nicht durch Wartung verän-dert werden.
Maschinenwartung verursacht Ausfallzeiten in der Nutzungsdauer.
Ein Softwareprodukt kann während seiner Wartung weiterverwendet werden.
© Andrea Rudzuck 5
Software-Wartung
korrigierend
Ca. 20% der Software-Wartung besteht aus Fehlerbehebung
Rund 25% der Software-Wartung macht die Anpassung der Funktionalitäten an veränderte betriebliche Anforderungen aus.
anpassend
Sonstiges
Dokumentation
Funktions-erweiterungen
Optimierung
perfektionierend
Etwa 52% aller Wartungsakti-vitäten dienen der Weiterent-wicklung des bestehenden Systems.
• Bug Fixes• Debugging
• Änderung der Datenformate• Änderung der Hard- und Systemsoftware
• Erweiterungen• Weiterführung der Dokumentation• Verbesserung der Effektivität
© Andrea Rudzuck 6
Probleme der Softwarewartung
Quick & Dirty-Programmierung Zu wartende Programme sind alt und unstrukturiert
Nicht modularer Aufbau Fehlende Dokumentation Alt-Software ist in einer veralteten Programmiersprache geschrieben Die ursprünglichen Entwickler sind nicht mehr greifbar Einsatz wenig erfahrenen Personals Nichtbeachtung von Programmierstandards Monolithische Architekturen/Systeme Fehler bei der Codierung Entstehung neuer Fehler bei Fehlerbehebung Wartung ist immer zeitkritisch Wartung ist schlecht planbar
Gründe
© Andrea Rudzuck 7
Wartungspersonal
Junge Absolventen müssen alte Systeme warten
Profilierung durch Wartungstätigkeiten ist unmöglich
Einschränkung der Kreativität durch rein reproduktive Wartungsarbeiten
Arbeitsfrustration durch „fremde“ Programme
Flache Lernkurve der Wartungspersonen
Fehlende Motivation
© Andrea Rudzuck 8
Entstehung von Fehlern
Eine Hauptquelle für Mängel und Fehler ist die Planung. Nach Boehm steigen die Kosten für die Entdeckung und Behebung eines Fehlers exponentiell mit der Dauer zwischen dem Zeitpunkt des Entstehens und dem Zeitpunkt der Entdeckung des Fehlers.
relativeFehlerbehebungskosten
Analyse Entwurf Implemen-tierung
Test Betrieb
0,3
1
3
30
100
[Boeh00]
Konsequenzen Konventionalstrafen (für zu späte,
unkorrekte Software) Kosten für Fehlersuche und Behebung Schaden für das Unternehmens-Image Rechtliche Konsequenzen, z. B.
Schadenersatz
© Andrea Rudzuck 9
Problematik der Softwareentwicklung
Quelle: Prof. Amberg, FAU Erlangen-Nürnberg
© Andrea Rudzuck 10
Vorgehensmodelle
Jackson-Diagramme1975
Strukto-gramme1973
PAP1966
Pseudo-Code
ET1957
RegelnZustands-automat
Petri-Netze1962
OO-Diagramme1990
ER1976
Jackson-Diagramme1975
DataDictionary1979
Datenfluss-Diagramm1966
Funktions-baum
FunktionaleHierarchie
Informa-tiosfluss
Daten-strukturen
Entitäten &Beziehungen
Klassen & Strukturen
Kontroll-Strukturen
EndlicherAutomat
Neben-läufigkeit
Funktionale Sicht Datenorientierte Sicht Objekt-Orientierte
Sicht
Algorith-mische Sicht
Regel-basierte Sicht
Zustandsorientierte Sicht
Modellierungstechniken
Code & Fix Modell PhasenmodellWasserfallmodell
Problemanalyse
Spezifikation
Entwurf
Implementierung
Test
Betrieb & Wartung
Wasserfallmodell Evolutionäres Modell Transformationales Modell
Iteratives
Iteratives Wasserfallmodell
Spiralmodell (Boehm)
Spiralmodell
© Andrea Rudzuck 11
Wartungs-Management
Wartungsmodell
Qualitätssicherung
Programmierung
1. Erstellen des Änderungsauftrags2. Analyse der
Wartungsanforderungen3. Überarbeitung der Spezifikation4. Realisierung5. Test6. Integration7. Einführung
Change Request Formular Datum: Seite/von Aufwand SW-Name Anderungs-Nr. Ersteller Anderungsobjekt Start-Soll Ist-Soll Zwischentermin Ende-Soll Verzögerungsgründe Team/Mitarbeiter Testergebnis Abnahme
Testablauf Erstellen eines Testkonzeptes Erstellen des Testplans Erstellen der Testdaten Modultest Programmtest Integrationstest Testdokumentation Abnahme/Fehlerreport
Wartungs-Manager
Wartungs-anforderung
des Endbenutzers
Wartungsmodell
© Andrea Rudzuck 12
Ablösung von Altsystemen
Gründe Hersteller der Software stellt Weiterentwicklung und Wartung oder Support ein Rechnerplattform: Wartung läuft aus
CodeEntwurfs-
spezifikationAnforderungs-spezifikation
Forward-Engineering
Forward-Engineering
Forward Engineering
Reverse-Engineering
Reverse-Engineering
Reverse Engineering
Design-Recovery
Design-Recovery
Design Recovery
Reengineering Reengineering
Reengineering
Restructuring Restructuring RedocumentationRestructuring
Restructuring
Redocumentation
Migrations-Möglichkeiten Kapselung Konversion
© Andrea Rudzuck 13
Dokumentation
Dokumentation muss aufgabengerecht sein. inhaltsgerecht sein. Informationen über das Produkt enthalten. die technische Entwicklung beschreiben. die Systementwicklungsgeschichte nachvollziehbar machen.
Ein Software-Repository dient dem Wissensmanagement.
© Andrea Rudzuck 14
Wartungsalternativen
Outsourcing Betriebswirtschaftliche Standardsoftware Application Service Providing (ASP) Open Source Software
© Andrea Rudzuck 15
Zusammenfassung
Software Wartung ist der Prozess der Veränderung existierender Software unter Beibehaltung der ursprünglich angestrebten Funktionalität (Boehm, SE Economics, 54).
Software Wartung ist planvolles ingenieurmäßiges Vorgehen analog zur organisierten Entwicklung von Anwendungssoftware mittels Entwicklungstools.
Das Wissen über eine Software sollte in einer zentralen Datenbank abgelegt und so verfügbar gemacht werden. Die dadurch mögliche Wiederverwendbarkeit von Softwarekomponenten liefert einen wertvollen Beitrag zur Qualität und Effizienz der Softwareentwicklung und Wartung.
Die schnelle Entwicklung und Veränderung im Bereich der Vorgehensmodelle stellt eine neue Problematik dar, weil Entwickler gezwungen sind, ständig neue Vorgehenstechniken zu erlernen.
© Andrea Rudzuck 16
Literatur
Software-Wartung Lehner, F.: Nutzung und Wartung von Software, München 1989 8. Software-Evolution: 8.1 Wartung und Pflege von Software
www.inf.tu-dresden.de/ST2/ST/lv_WS98-99/ st2/vorlesung/st2k8.pdf Probleme der Softwarewartung
Klassische Fehler in der Software-Entwicklung www.cefe.de/ergebnisse/klassische-fehler.html
Von Software und deren (Un-)Qualität www.hanser.de/leseprobe/2001/3-446-21367-8.pdf
Vorgehensmodelle Business Engineering – 8.11: Vorgehensmodelle
www.wi3.uni-erlangen.de/lehre/lv/ws2001/BE/ SW-Engineering slides9_2.pdf
www8.informatik.uni-erlangen.de/IMMD8/Lectures/WEB/vorlesung/WS2000-2001/10012001/slides9_2.pdf Sanierung von Altsystemen
Software-Wartung und Reengineering www.ba-stuttgart.de/wirtschaft/w-inf/schwille/artikel_wartung_re.html
Metriken für die Wiederverwendbarkeit bestehender Software-Systeme pi.informatik.uni-siegen.de/stt/18_4/18_4_tb_sneed.html
Technologie der Software-Entwicklung – Stand und Tendenzen www.informatik.uni-halle.de/lehre/se/se3.html
Einführung in die Softwaretechnik – 10. Dokumentation www-i3.informatik.rwth-aachen.de/teaching/0102/swt/skript/kap10.pdf
Wartungsalternativen Typische Regelungsschwerpunkte beim Outsourcing
www.bartsch-partner.de/personen/mb/texte/19930516_1_outsourcing.de.html ASP: Nie mehr Software-Probleme
http://www.wiwo.de/wiwowwwangebot/fn/ww/bt/0/SFN/buildww/SH/0/DEPOT/0/CN/cn_artikel/ID/62631!108188/fm/0/fl/0/oa_id/0/strucitemid/PAGE_62631/docid/108188/index.html
Chance für den Mittelstand durch ASP http://www.aboutit.de/view.php?ziel=/00/10/01.html
Splitter, Ausgabe 1/01, S. 8, Open Source Software: Finanzen http://www.lit.berlin.de/BVC/splitter/pdf/sp1-2001.pdf
Sicherheit durch Open Source?/! http://www-rnks.informatik.tu-cottbus.de/de/materials/ss2001psSicherheit/file6.pdf