Wirkungsvolles Change- und Releasemanagement

Werbung
Wirkungsvolles Changeund Releasemanagement
Autor: Klaus Friemelt, TDS Deutschland AG & Co. oHG
DOAGNews Q1_2004
Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der
Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung,
der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, bei auch nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses
Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen
Bestimmungen des Urheberrechtes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils
geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den
Strafbestimmungen des Urheberrechtsgesetzes.
©2004
Integrierte Verwendung des PVCS Version Managers im Oracle-Umfeld
In vielen Oracle-Projekten wird der PVCS Version Manager der Firma Merant vornehmlich
dazu verwendet, die Versionierung der Programmquellen sicherzustellen und den konkurrierenden Zugriff der Entwickler darauf zu steuern. Das Potenzial dieses Werkzeugs wird
nicht immer ausgeschöpft. Oft übersehen die Verantwortlichen, dass der Version Manager
neben der grafischen Benutzeroberfläche auch über ein leistungsfähiges Kommandozeileninterface verfügt.
Das Change- und Releasemanagement beschränkt sich in vielen Projekten auf die
Verwaltung diverser Excellisten und das manuelle Auschecken aus dem Version Manager.
Dabei ermöglicht PVCS in Kombination mit einer kleinen datenbankgestützten Anwendung
ein komfortables Changemanagement und gewährleistet einen sicheren Auslieferungsprozess.
Der Artikel beschreibt im Folgenden, wie sich durch die Integration von PVCS Version
Manager mit einigen Forms-Masken ein wirkungsvolles Release- und Changemanagementsystem aufbauen lässt.
Datenbankseitige Abbildung des Change- und Releasemanagements
Die Abbildung zeigt ein vereinfachtes Datenmodell zur Abbildung des Entwicklungszyklus
einer Anwendung.
Eine Auslieferung kann ein Patch oder ein Hauptrelease sein. Sie hat als Kennzeichen ein
eindeutiges Label. Für ausstehende Änderungen gibt es einen definierten Redaktionsschluss. In einer Auslieferung sind unterschiedliche Anforderungen gebündelt, die sich
©2004
wiederum auf ein oder mehrere Module beziehen. Die Anforderung ist ihrerseits durch ein
Label eindeutig identifiziert.
PVCS Version Manager
Beim Version Manager sind folgende Funktionen wichtig:
•
•
•
•
•
Export der Archivinformationen in eine Oracle-Datenbank per VSQL-Kommando
Modulkennzeichnung und Modulidentifizierung anhand der Label
Eventtrigger, die auf bestimmte Ereignisse Programme und Batchskripte starten
automatisches Einfügen von Archivinformationen in eine ASCII-basierte Quelldatei
(„Keyword Expansion“)
Extraktion der Quellen per Kommandozeile aus dem Archiv
Die folgende Abbildung zeigt schematisch die Einbindung des PVCS Version Managers in
ein datenbankgestütztes Release- und Changemanagementsystem:
Im Bereich Releaseverwaltung werden die gültigen Label von Releases, Patches, ProblemReports und Change-Requests in der Datenbank hinterlegt.
©2004
Ein Eventtrigger prüft bei jedem Check-In-Vorgang direkt gegen die Datenbank, ob ein
erlaubtes Label an der aktuellen Quelle vergeben ist und bricht gegebenenfalls den CheckIn-Vorgang ab. Der Eventtrigger kann entweder mit Pro*C (C mit embedded SQL) oder mit
Java (Datenbankzugriff mit jdbc) realisiert werden.
Beim Check-In werden bei ASCII-Quellen – beispielsweise Packages oder Trigger – die Keywords durch Archivinformationen ersetzt. Binäre Quellen wie Oracle Forms Module (fmb)
rufen durch einen Eventtrigger die FormsAPI auf, um so das Modul mit den Archivinformationen zu versehen. Mit diesem Mechanismus ist sichergestellt, dass man später jedem
ausgelieferten Modul exakt die archivierte Version zuordnen kann.Des Weiteren sorgt der
Eventtrigger für den Export der Modulinformationen in die Datenbank mit dem VSQL-Kommando.
Im Bereich Skriptgenerator liegt eine Forms-Maske, die auf einem View im Schema der
VSQL-Tabellen basiert. Mit dieser Maske können alle Module angezeigt werden, die zu
einem bestimmten Release gehören: Diese sind durch entsprechende Label gekennzeichnet. Per Knopfdruck wird eine Steuerdatei mit den GET-Anweisungen für das Kommandozeileninterface erzeugt und gestartet.
Mit dieser Methode werden Module aus dem Archiv geholt. Binäre Quellen müssen noch
kompiliert werden, etwa per Host-Kommando aus Forms oder per Batch. Dann liegt das
fertige Release im Dateisystem zur Auslieferung vor.
Dieses Vorgehen lässt sich individuell an Projektbedürfnisse anpassen. Werden beispielsweise im Projekt Application-Mining Werkzeuge wie der Application Miner von CAST verwendet, kann der Eventtrigger beim Check-In per Kommandozeilenaufruf das Repository
direkt aktualisieren.
Forms-Dialoge
Im Folgenden werden Beispiele für Forms-Dialoge gezeigt, die auf dem beschriebenen
Daten-modell zum Releasemanagement aufsetzen.
©2004
In diesem Dialog werden die Auslieferungen verwaltet:
In der folgenden Maske kann in den Archivinformationen, die per VSQL-Schnittstellen in die
Datenbank exportiert wurden, gesucht werden. Weiterhin können die entsprechenden Module aus dem Archiv in den angegebenen Pfad extrahiert werden.
Diese Maske deckt das Change- und Problemmanagement ab. Hier werden zu den einzelnen Modulen Änderungswünsche oder Fehler erfasst, Entwickler als Bearbeiter zugewiesen
und der jeweilige Status der Bearbeitung eingetragen.
©2004
Wichtige Konfigurationsdialoge im PVCS Version Manager
Eventtrigger zum Schreiben der Archivinformation in die Oracle-Datenbank:
©2004
Im ConfigureProjectDatabase-Dialog des Version Managers werden unter dem Punkt „Event
Triggers“ zu den möglichen Aktionen die auszuführenden Programme oder Batchskripte
eingetragen:
Im ConfigureProjectDatabase-Dialog des Versin Managers werden unter „File Types“ die
Modularten angeben, für die Keyword-Expansion gestattet ist. Schlüsselwörter sind u.a.
$Log$, $Archive$, $Author$.
©2004
Fazit
Durch die Kombination aus Datenbankfunktionalität, des Kommandozeileninterface des
PVCS Version Managers und einiger einfacher Oracle Forms Masken, lässt sich ein
Releasemanagementsystem aufsetzten. Im Projektalltag ist das System teureren Lösungen
wie etwa Merants PVCS Dimensions ebenbürtig. Darüber hinaus bietet es den Vorteil,
jederzeit erweiterbar und für Anpassungen an projektspezifische Bedürfnisse offen zu sein.
Aber auch wenn man nicht alle der hier beschriebenen Möglichkeiten ausnutzt, führen schon
Teile davon zu einer spürbaren Verbesserung der Qualität im Software-Entwicklungsprozess.
Autor:
Dipl. Phys. Klaus Friemelt
Senior-Berater
TDS Deutschland AG & Co. oHG
[email protected]
©2004
Herunterladen