Nachträgliche Software-Dokumentation

Logik von Legacy-Systemen verstehen

Programmiersprachen mit klingenden Namen wie PL/1, Cobol, C++, Java oder Abap sind teils über ein halbes Jahrhundert alt. Doch gerade bei Konzernen laufen noch viele der wichtigsten Software-Anwendungen auf solchen Systemen. Um schrittweise auf moderne Architekturen zu modernisieren, gilt es teils unbekannte Programmlogiken zu verstehen. Der Sysparency-Algorithmus hilft dabei.

Automatisierte Generierung der Eingabemaske (Bild: Sysparency GmbH)
Automatisierte Generierung der Eingabemaske (Bild: Sysparency GmbH)

Branchen, Prozess- und Lieferketten vernetzen sich zunehmend, sie digitalisieren und automatisieren und setzen künstlicher Intelligenz ein, um Entscheidungen abzusichern. Legacy-Systeme müssen in einem dynamischen Modernisierungsumfeld weiter funktionieren und dabei schrittweise Funktionalitäten an modernere Software-Systeme abgeben. Die Grundlage ist es, die bestehenden Software-Systeme mit ihren über Jahrzehnte entwickelten Funktionsweisen und Abhängigkeiten zu verstehen. Anwendungen und interne Funktionen müssen transparent und nachvollziehbar werden. Dazu muss ersichtlich sein, wie Daten und Informationen verarbeitet werden und wie Ergebnisse letztlich entstehen. Der Softwareanbieter Sysparency hat für diese Aufgabe einen Algorithmus entwickelt.

Haus oder Wolkenkratzer

Jedes Legacy-System ist individuell. Der Aufbau einer Software entspricht der Komplexität eines physischen Gebäudes. Diese kann variieren vom kleinen Einfamilienhaus bis zum Wolkenkratzer. Je nach Anwendungszweck und Umgebung unterscheidet sich die Architektur und der Aufbau dieser Gebäude signifikant. So lassen sich auch Software-Systeme verstehen. Darum ist eine individuell angepasste und doch automatisierte Dokumentation von großen Software-Systemen notwendig, gerade wenn sie älter ist und immer wieder ergänzt und modernisiert wurde.

Darstellung des Kontrollflusses der möglichen Wege der eingetragenen Daten (Bild: Sysparency GmbH)
Darstellung des Kontrollflusses der möglichen Wege der eingetragenen Daten (Bild: Sysparency GmbH)

Software als Modell darstellen

In den letzten zehn Jahren forschte das Software Competence Center Hagenberg gemeinsam mit der Firma Sysparency an einem Framework zur Analyse und automatisierten Generierung einer Dokumentation von historisch gewachsenen Legacy-Anwendungen. Das Ergebnis ist das Produkt Sysparency. Dessen Algorithmen verarbeiten unterschiedlichste Programmiersprachen und bauen daraus abstrakte digitale Modelle der Software-Anwendung. Aus unterschiedlichsten Perspektiven wird dieses Modell analysiert und die jeweiligen Informationen in der gewünschten Art und Weise als Dokumentation generiert. So hilft die Anwendung Softwareentwicklern bei der Einarbeitung in eine neue Legacy-Anwendung, dem Manager bei seinen Modernisierungsentscheidungen und den Fachbereichen beim Einarbeiten und Nachvollziehen der implementierten Logik. Das Ziel ist es, die Erfolgsaussichten von Digitalisierungsprojekten und IT-Modernisierungen zu erhöhen und dabei Zeit und Ressourcen zu sparen.

Programmlogik wird analysiert

Zunächst liest der Algorithmus den Quellcode des Systems. Der Algorithmus generiert die hierzu gehörende Eingabemaske. Anschließend wird ein Kontrollfluss-Diagramm der potenziellen Wege der eingetragenen Daten dargestellt. Die tabellarische Darstellung des Kontrollflusses wird anhand der Entscheidungslogik in Form von Bedingungen dargestellt, sodass herausgelesen werden kann, wann welche Masken aufgerufen werden. Anschließend werden die Datenbanken dargestellt, die im gesamten Code verwendet werden. Gleichzeitig kann daraus herausgelesen werden, wie die Art des Zugriffs erfolgt (lesend und/oder schreibend).

Einbindung von Prozessdesigns in die Dokumentation, um ein besseres Verständnis über die Prozesse zu erhalten. (Bild: Sysparency GmbH)
Einbindung von Prozessdesigns in die Dokumentation, um ein besseres Verständnis über die Prozesse zu erhalten. (Bild: Sysparency GmbH)

IT-Ressourcen eingespart

Durch die Einbindung von Prozessdesign in die Dokumentation, können nicht IT-versierte Mitarbeiter die Systemabläufe besser verstehen. Die Darstellung des Ist-Systems ist wichtig, wenn Software-Systeme abgelöst oder weiterentwickelt werden. Entwicklungsleiter stehen vor der Herausforderung, dass viele IT-Ressourcen in den Verständnisaufbau der Systeme fließen, gerade bei Neuankömmlingen in ihrer Einarbeitungszeit. Bei historisch gewachsenen Systemen und Millionen Codezeilen ist das Aufarbeiten gar unmöglich. Der neue Algorithmus spart Zeit und ermöglicht viele projekte erst, indem er Software-Systeme automatisiert darstellt. Insbesondere bei der Transformation auf SAP S/4Hana dürften viele Unternehmen vor der Herausforderung stehen, ihre über Jahre weiterentwickelte SAP-Anwendung transparent darzustellen. Auf diese Aufgabe ist der Algorithmus zugeschitten.

Lernfähiger Algorithmus

Grenzen sind dem Algorithmus gesetzt, wenn er eine individuelle Programmiersprache nicht beherrscht. Doch der Algorithmus lässt sich entsprechend weiterentwickeln, um die individuelle Aufgabe dennoch zu lösen. Die gängigsten Programmiersprachen sind aber bereits implementiert und decken somit die meisten Anwendungsfälle ab.





  • Innovationstreiber Thin[gk]athon: Kollaborative Intelligenz trifft auf Industrie-Expertise

    Der Thin[gk]athon, veranstaltet vom Smart Systems Hub, vereint kollaborative Intelligenz und Industrie-Expertise, um in einem dreitägigen Hackathon innovative Lösungsansätze für komplexe Fragestellungen…


  • Einflüsse auf die Produktionsplanung simulieren

    Wie lassen sich Aufträge und Ressourcen in Einklang bringen? In anspruchsvollen Szenarien geraten grobe Planungshilfen etwa im ERP-System bei der Beantwortung dieser…


  • Warum ein MES-Projekt Change Management braucht

    Verspätete Wareneingänge, Mitarbeiterausfälle, Störungen und Planänderungen können massiv auf die Produktion, Montage und Liefertermine einwirken. Automatische Planung löst nicht alle Probleme, reduziert…


  • Mit Strategie gegen Silos

    Hersteller investieren viel Zeit und Geld, um die Wertschöpfungskette kontinuierlich zu verbessern. Dabei entstehen oft Silo-Systeme, die isoliert voneinander arbeiten und wenig…


  • Datenpunkte in der Batteriezellfertigung setzen

    In der Batteriezellfertigung erzeugen heterogene Quellen enorme Datenmengen. Um die Produktion mit Digitaltechnik aufzurüsten, müssen die verschiedenen Datenquellen an die IT-Systeme in…