Software-Evolution

 

– Wartung und Weiterentwicklung bestehender Anwendungssysteme –
Aus dem Inhalt des CC Seminars:
  • Das Wesen der Softwarewartung
    Das Verhältnis der Wartung zur Entwicklung; was ist Wartung; korrektive, adaptive,
    perfektive und enhansive Wartung; Wartungsverfahren und -techniken;
    Wartungsmetriken; Wartungswerkzeuge.
  • Software Maintenance Prozesse
    IEEE Lebenszyklusmodell; paralleles Wartungsverfahren; Normierung der
    Softwarewartung; NBS-Pub. 500; ANSI/IEEE Norm 1219; ISO-Norm 12207;
    Wartungszyklen; Wartungsaufgaben; Maintenance Workflow
  • Wartungstechniken
    Ausgangspunkt der Wartungsauftrag; Error Reports und Change Requests; Initiierung
    eines Wartungsprojektes; Impact Analyse der Konzep­te, Entwürfe, Programme und
    Daten; Program Comprehension; zweckge­bundene Nachdokumentation; parallele
    Fortschreibung; Regressionstesten; Wartungsrevision.
  • Wartungsmessung
    Wartungsmetriken; Komplexitäts- und Qualitätsmessung; Oman’s Wart­barkeitsindex;
    McCabe’s zyklomatisches Komplexitätsmaß; Chapin’s Q-Komplexitätsmaß; Henry’s
    Schnittstellenmaß; Halstead’s Sprachkomplexität; Messung der Modul-, Daten- und
    Schnittstellenkomplexität; Schlüsse aus der Wartbarkeitsmessung.
  • Prozedurale Programmwartung
    Top/Down-, Bottom/Up- und parallele Änderungsverfahren; Konzeptfort­schreibung nach
    Structured Analysis; Entwurfsanpassung nach Structured Design; prozedurale
    Codeänderung mit strukturierten Programmen; An­passung der Testfälle; Abstimmung
    der semanitischen Ebenen; Abgleich der Konzepte, Entwürfe, Programme und
    Testfälle.
  • Objektorientierte Softwarewartung
    Top/Down-, Bottom/Up- und parallele Änderungsverfahren; Konzeptfort­schreibung nach OO-Analysis;
    Anpassung des Objektmodells; Änderung der Klassen, Methoden und Schnittstellen; Auswirkung
    der Vererbung und Polymorphie; warum die Wartung von OO-Programmen aufwendiger ist;
    Anpassung der Testfälle; Abstimmung der semanitischen Ebenen; Abgleich des Konzepts
    mit dem Objekt- und dem Klassenmodell.
  • Regressionstesten
    Fehlerquellen in der Wartung; Fehlerverhütung und -diagnose; Nachweis der funktionalen Äquivalenz;
    Abgleich der Versionen; Daten- und Pfadab­gleich; Abgleich der Ausführungsprofile; Ableitung der
    Testfälle aus dem alten Code.
  • Softwarenachdokumentation
    Ansätze zur Programmdokumentation; automatische Nachdokumen-tation; Modulablaufbeschreibung;
    Programmaufbaubeschreibung; Aufrufsbäume; Datenfluß- und Klassendiagramme; Geschäftsregel;
    Schnittstellenspezifika­tion; Beispiel aus der Praxis.
  • Offloading Software Maintenance
    Das Rationale für Maintenance-Offloading; Kosten und Nutzen des Offloa­dings; warum PC-Arbeitsplätze
    effektiver sind; warum es unverständlich ist, daß viele Anwenderbetriebe ihre Altprogramme immer noch
    auf dem Host pflegen; die Befreiung der Programmierer von den Fesseln des Main-frames; die Verbindung
    der offline-verteilten Softwarewartung mit der Online-Systemproduktion.