Software-Nachdokumentation

 

– Reverse Engineering und Reuse bestehender Anwendungssysteme –
Aus dem Inhalt des CC Seminars:
  • Gründe für Software Reverse Engineering
    Software-Ärchäologie; die Re-Begriffe wie Reuse, Recycling, Reverse und
    Reengineering; Gewinnung des Planes aus dem Produkt; Wiederge­winnung der
    Fachinhalte; Enthüllung der Implementierung; Wartungsunter­stützung;
    Voraussetzungen für Migration und Neuentwicklung; Bottom-Up- vs.
    Top-Down-Dokumentation; CARE vs. CASE.
  • Softwarewiedergewinnung
    das Reverse Engineering Modell; Design Recovery; Invertierte Funktions- und
    Datenmodellierung; zweistufige Rückübersetzung; Code zum Entwurf; Entwurf zum
    Konzept; Sichten auf die Software; Darstellungsmöglichkeiten.
  • Softwarewiederaufbereitung
    Recycling-Technologie; Extrahierung der Fachlichkeit aus dem Sourcecode; Ableitung
    der Daten und Programmstrukturen; Maskenwiederaufbereitung; Gewinnung einzelner
    Softwarebausteine für die Wiederverwendung in einem neuen System.
  • Softwarewiederverwendung
    Wirtschaftlichkeit der Wiederverwendung; Stufen der Wiederverwendung; Frameworks;
    Reusable Bausteinbibliotheken; Wiederverwendung be­stehender Softwarebausteine.
  • Prozedurale Nachdokumentation
    Statische Programmanalyse bei Assembler, COBOL, PL/I und Natural;
    Da­tenbankanalyse von VSAM, IDMS, IMS und ADABAS; Maskenanalyse von CICS-BMS,
    IMS-MFS, COBOL und Natural Maps; Ablaufanalyse der JCL-Prozeduren; Ablauf-,
    Aufbau- und Datenfluß-Dokumentation; Extrahierung der Geschäftsregeln.
  • Objektorientierte Nachdokumentation
    Statische Programmanalyse bei C++, Java, IDL und XML; Objekt-, Klassen- und
    Methodenableitung; Gewinnung der Assoziationen und Aggregationen aus dem Code;
    Generierung der UML-Diagramme aus dem Code; Analy­se der Windows- und
    Internetoberflächen; Ansätze zur objektorientierten Reverse Engineering.
  • Datenbanknachdokumentation
    Data Reverse Engineering; das ANSI-SPARC-Modell; Wiedergewinnung einer logischen
    Schicht; Wiedergewinnung einer konzeptionellen Schicht; Darstellung
    der Datenstrukturen; Entity/Relationship-Diagramme.
  • Fallbeispiel einer Systemnachdokumentation
    Nachbesserung der Kommentierung; maschinelle Analyse der Programme, Datenbanken,
    Schnittstellen, Oberflächen und Kontrollproze­duren; Aufbau einer relationaler Repository;
    Generierung graphischer Do­kumente; Ergänzung der Dokumentation.