Delta Software Technology

Wir

Werden Dienstleister mit der Pflege oder dem Refactoring von Bestandssystemen beauftragt oder werden diese komplett im Rahmen von Outsourcing-Projekten vergeben, so müssen immer wieder die gleichen Hürden genommen werden: Je älter die Systeme sind, desto schwieriger ist es, einen umfassenden Überblick über den Ist-Zustand zu erhalten. Die Anwendungen sind viele Jahre, häufig über Jahrzehnte gewachsen, und im Laufe dieser Zeit immer wieder an neue Anforderungen angepasst worden. Zu Beginn des Lifecycles noch streng befolgte Programmierstandards wurden in späteren Jahren immer mehr verwässert. Die ursprüngliche Architektur wurde immer wieder erweitert und modifiziert, so dass große und komplexe Systeme entstanden sind. Bei der Erstellung von Outsourcing-Angeboten und der Pflege solcher Systeme stellen sich unweigerlich immer wieder dieselben Fragen:

  • Wie groß ist der Aufwand?
  • Wo muss für die Software-Pflege eingegriffen werden?
  • Welche möglichen Nebenwirkungen sind zu erwarten?

Die vorhandene Dokumentation ist in der Regel für den Outsourcer nicht ausreichend. Zahlreiche Know-how-Träger aus jungen Jahren der Anwendungen haben die Projekte verlassen, deren gewachsenes Wissen über die Zusammenhänge ist verloren gegangen.

Wartungs- und Outsourcing-Projekte stehen also vor der gleichen Aufgabe: Wie kommen sie an verlässliche und aktuelle Informationen? Die „üblichen“ Quellen wie Compiler-Auswertungen, Verwendungsnachweise, statistische Analysen usw. helfen nur eingeschränkt weiter, da sie nur punktuelle Aussagen machen. Es fehlen Informationen über Zusammenhänge und die Anwendungslogik.

COBOL, PL/I und generierten Code analysieren

AMELIO Logic DiscoveryAMELIO Logic Discovery bietet für große und komplexe Anwendungssysteme, die mit COBOL, PL/I oder generativ mit Delta ADS entwickelt wurden, einen umfassenden Blick auf die Anwendungsstrukturen. Dazu werden aus den Implementierungsdetails Erkenntnisse über die Architektur, die Infrastruktur und vor allem die Anwendungslogik abgeleitet. Für Wartung und Refactoring von Bestandssystemen liefert AMELIO Logic Discovery die benötigten wesentlichen Aussagen über die Anwendungslogik, die Zusammenhänge und Abhängigkeiten.

Hier ein Ausschnitt der gebotenen Analysen:

Anwendungsarchitektur

  • Welche Programme und Unterprogramme formen die Anwendung?
  • Unter welchen Bedingungen werden Programmverzweigungen ausgeführt?

Hierbei werden sämtliche Ausführungsbedingungen bis zur Programmverzweigung ermittelt und zusammengeführt. Schnittstellen werden ermittelt und bewertet. Schnittstellenkonflikte werden erkannt und ausgewiesen.

Prozeduren und Composites

  • Ermittlung von Prozeduren und deren Zusammenfassung zu logischen Einheiten, zu sogenannten Composites
  • Für diese Prozeduren und Composites wird außerdem ermittelt, auf welche Daten sie verändernd bzw. nur lesend zugreifen.

Diese gewonnenen Informationen liefern elementar wichtige Aussagen über die funktionale Struktur der Anwendungen, und sind damit Voraussetzung für das Verständnis und vor allem für ein Refactoring.

Aufrufbedingungen für Programme und Prozeduren

Für alle Programme und Prozeduren werden ihre Aufrufbedingungen ermittelt. Dazu werden die Bedingungen vom Programmstart, über durchlaufende Zwischenschritte bis zum Aufruf selbst analysiert. Die Bedingungen werden zusammengefasst und in übersichtlichen Bedingungstabellen dargestellt.

I/O-Analysen

Welche Prozeduren greifen direkt oder indirekt, lesend oder modifizierend auf welche Tabellen oder Dateien zu?

Kostenfaktor: Überflüssiger Code und ungenutzte Datenstrukturen

Gerade Outsourcing- und Refactoring-Projekte leiden unter überflüssigem, ungenutztem Code, dessen Wartung bzw. Überarbeitung unnötig und kostentreibend ist. AMELIO Logic Discovery spürt diesen Code und derartige Datenstrukturen mit dedizierten Analysen auf:

  • Dead Code: Es werden Code-Blöcke (Paragraphen, Prozeduren, Composites) ermittelt, die nie oder nur aus nicht mehr genutzten Code aufgerufen werden oder deren Ausführungsbedingungen nie erfüllt werden können.
  • Dead Data: Für Datenelemente und -strukturen wird identifiziert, ob sie komplett genutzt werden, nur teilweise oder ob sie nie oder nur von totem Code verwendet werden.
  • Include-Analyse: Welche Felder, Strukturen und Code-Anteile aus Copybooks bzw. Includes werden wie oft verwendet? Und welche Anteile erzeugen ausschließlich Dead Code?

Mit diesen Informationen lassen sich Copybooks bzw. Includes bereinigen, verschlanken oder sogar ganz auflösen.

Für die Bereinigung der Anwendungen bieten wir mit AMELIO Modernization Platform eine Lösung für die sichere Durchführung der Änderungen. Sie entfernt den überflüssigen Code und die ungenutzten Datenstrukturen in den Programmen, Copybooks und Includes vollautomatisch.

Klare Sicht auf die Anwendungen

Sämtliche Analyseergebnisse werden in Modellen abgelegt, so dass sie als sprachneutrale Dokumentation und Vorgabe für Modernisierungen zur Verfügung stehen. Dieser modellbasierte Ansatz ermöglicht es, die vorhandenen Analysen um kundenspezifische Anpassungen zu ergänzen.

Schon nach kurzem Einsatz stellen Nutzer fest, dass sie sich durch den Einsatz von AMELIO Logic Discovery die bisherigen zeitaufwändigen und immer wiederkehrenden Analysen sparen können und einen viel besseren Überblick und genaueren Einblick in die Anwendungen erhalten. Die „handwerklichen“ technischen Analysen werden praktisch überflüssig, Dead Code-Informationen stehen unmittelbar und leicht zu handhaben zur Verfügung. Mit diesen Informationen lassen sich zuverlässigere Angebotsabschätzungen erzielen. Die Entwickler in Modernisierungs- oder Refactoring-Projekten können sich auf die eigentlichen Wartungs- und Modernisierungsaufgaben konzentrieren und somit effizienter arbeiten.

Was AMELIO Logic Discovery für Sie tun kann

Sind Ihnen die beschriebenen Hemmnisse für Outsourcing- und Refactoring-Projekte bekannt?

Gerne zeigen wir Ihnen die Leistungsfähigkeit von AMELIO Logic Discovery – am besten an Hand Ihrer Anwendungen. Bitte setzen Sie sich mit uns in Verbindung.