Versionsführungs-Systeme im Natural-Umfeld

Versions-Umstellungen bedürfen der Kontrolle

13.03.1992

Damit Änderungen von Anwendungsprogrammen möglichst schnell und koordiniert realisiert werden können, bedienen sich Anwender sogenannter Versionsführungs-Systeme. Auch für Programme, die mit der 4GL Natural von der Software AG erstellt wurden, stehen verschiedene automatische Versionsführungssysteme zur Verfügung. Eggert Gotthard* stellt eine Checkliste zur Prüfung vorhandener Systeme zur Verfügung.

Unter einem Versionsführungs- und Managementsystem ist eine Kombination von Verfahren und Software zum Handling von Programmänderungen zu verstehen, beginnend mit den Änderungswünschen eines Endbenutzers und endend mit der Übernahme der geänderten Programme in die Produktionsumgebung. Es umfaßt Methoden zur Handhabung und zur Verfolgung von Änderungswünschen und -maßnahmen, der Übertragung neuer beziehungsweise geänderter Programmversionen und einem Reporting-Mechanismus.

Viele Anwender haben ihr eigenes Versionsführungs-System entwickelt. Oft wird typischerweise ein schriftliches Verfahren zur Handhabung von Benutzerwünschen und Übergabemaßnahmen verwendet. Endbenutzer reichen Änderungs- beziehungsweise Verbesserungsformulare bei einer entsprechenden Stelle ein. Es werden Prioritäten gesetzt und die entsprechenden Aufgaben zur Programmierung angewiesen.

Nach erfolgter Änderung füllen die Benutzer Formulare für die Programmübergabe aus. In einer Natural-Umgebung werden dann meist mit dem Natural-Utility "Sysmain" von der Software AG die geänderten Programme (Sourcen und/oder Objekte) in die Produktionsumgebung übertragen, und es erfolgt eine entsprechende Information des Verantwortlichen.

Manuelle Systeme haben ihre Schwachstellen

Wenn solche Regeln entsprechend befolgt und ausgeführt werden, läßt sich ein derartiges Verfahren zur Versionsführung von Natural-Programmen erfolgreich benutzen. Manuelle Systeme haben jedoch häufig ihre Schwachstellen und sind im Vergleich zu automatisierten Verfahren ineffizient und zeitaufwendig.

Bei dem typischen manuellen System, das wir soeben dargestellt haben, besteht die Schwäche in der Sysmain-Komponente. Derjenige, der ein Programm überträgt, hat auf Sysmain zuzugreifen und die entsprechenden Parameter einzugeben. Alle betreffenden Objekte sind manuell einzutragen (Qualifizierung/Teilqualifizierung möglich). Dabei kann es vorkommen, daß versehentlich falsche Parameter oder Programmnamen eingegeben oder einige Objekte vergessen werden.

Möglich ist auch, daß die Objekte nicht in der richtigen Bibliothek abgestellt oder gar in der falschen Richtung übertragen werden (zum Beispiel von Produktion nach Test anstatt umgekehrt).

Schlechte Prüfpfade bereiten Probleme

Weiterhin können bei manueller Übertragung zum Beispiel zugehörige Maps oder Copy-codes vergessen werden und somit einen erheblichen Folgeaufwand verursachen. Vor einer Übertragung wird möglicherweise keine Sicherungskopie erstellt, was später eine zeitaufwendige Suche nach alten Versionen zur Folge haben dürfte.

Hinzu kommt, daß manuelle Systeme im allgemeinen nur unzulängliche Prüfpfade zur Verfügung stellen. Das Verfolgen und die Berichterstattung anhand dieser Prüfpfade ist schwierig und zeitraubend. Wer die Historie der Änderungen eines bestimmten Programms bestimmen will, muß sich durch Stapel von alten Anforderungsformularen arbeiten und die Namen von sämtlichen geänderten Programmen sehr genau durchsuchen.

Je nach Ausmaß der jeweiligen Übertragungsaktivitäten kann solch ein Verfahren sehr viel Zeit in Anspruch nehmen. Da Sysmain keinen Prüfpfad automatisch erstellt, gibt es auch keine Möglichkeit, eine Gegenprobe zu den Papierformularen durchzuführen, mit der sichergestellt werden könnte, daß eine bestimmte Übertragung auch wirklich stattgefunden hat. Prüfungen dieser Art sind mit einem sehr großen Fehlerpotential behaftet.

Systemauswahl verlangt größte Sorgfalt

Geeignete automatisierte Versionsführungs-Systeme reduzieren die Fehlerhäufigkeit und den nötigen Arbeits- und Kostenaufwand zur Durchführung eines wirkungsvollen und effizienten Versionsmanagements erheblich. Ein Großteil der mit Änderungsmanagement verbundenen manuellen Prozesse kann übernommen werden.

Charakteristisch für solche Systeme ist, daß die Behandlung von Anforderungen, Autorisierungen, Programmübertragungen, automatische Sicherung und Prüfpfad-Funktionen integriert erfolgt.

Die Auswahl eines derartigen Systems ist mit großer Sorgfalt durchzuführen. Mit einem guten automatisierten System können die Betreuer erheblich entlastet werden, so daß das Personal Zeit gewinnt, um gegebenenfalls zusätzliche administrative Kontrollen einzurichten.

Die Auswahl eines ungeeigneten Systems für die Versionsführung von Natural-Programmen muß der Anwender dagegen unter Umständen teuer bezahlen. Ein nicht geeignetes System kann einer Systemumgebung unnötige Restriktionen auferlegen oder dazu zwingen, ein bestimmtes Konzept der Versionsführung zu befolgen, das den organisatorischen Bedürfnissen nicht entspricht. Es produziert unter Umständen inadäquate oder schwer zu verfolgende Prüfpfade oder berichte. In Extremfällen kann ein falsch ausgewähltes automatisiertes System sogar ineffizienter sein als ein manuelles Änderungsmanagement.

Anwender sollten sich die Zeit nehmen, ihren Bedarf zu definieren, bevor Sie sich auf die Suche nach einem automatisierten Änderungsmanagement-System für Natural begeben oder versuchen, selbst ein solches zu erstellen. Die vorhandene Umgebung und die verschiedenen Versionsführungs-Systeme sollten geprüft werden.

Ratsam ist, eine Checkliste zu erstellen, um eine Richtschnur für die Bewertung verfügbarer Produkte oder für die Entwicklung des eigenen Systems zu haben. Ein Natural-Versionsführungssystem ist nur dann brauchbar, wenn es Schnittstellen zu anderen Produkten der Software AG (zum Beispiel bei Predict die Nutzung von XREF, Processing Rules etc.) berücksichtigt.

*Eggert Gotthard ist Abteilungsleiter und DV-Berater bei der Krupp MaK Maschinenbau GmbH in Kiel.

Definition der Versionsführung

Als Versionsführung wird in diesem Fall die Fähigkeit bezeichnet, die Übertragung von Natural-Programmen unter Erzeugung von ordnungsgemäßen Protokollen systematisch kontrollieren zu können. Zum vollständigen Verständnis dieser Definition möchte ich zusätzlich die folgenden Schlüsselworte erläutern:

- Übertragung: Die Kopie von Natural-Programmen zwischen zwei Natural-Bibliotheken (Anwendungen).

- Natural-Programm: entweder im Source- oder im Objekt-Format: Programm, Subprogramm, Subroutine, Copycode, Helproutinen, Maps, Helpmaps, Global Data Areas, Local Data Areas, Parameter Data Areas und Processing Rules.

- Archiv: Sicherungskopie eines Natural-Programms, erstellt vor der Übertragung eines geänderten Programms.