PVCS, Clear Case, Harvest und Continuus im Vergleich, Teil 1

Im Test: Tools für die Organisation der Software-Entwicklung im Team

04.09.1998

Intersolvs PVCS 6.0 ist ein modulares System, das aus den Komponenten "PVCS Version Manager" (VM), "PVCS Configuration Builder" (CB), "PVCS Tracker" und dem "PVCS Process Manager" besteht.

Intersolvs Versions-Manager gilt als Klassiker und ist nach wie vor Marktführer, was die weltweiten Installationen betrifft. Für den plattformübergreifenden Einsatz war das Tool lange Zeit das einzige verfügbare Produkt. In den vergangenen Jahren ist jedoch die Anzahl der Plattformen drastisch zurückgegangen und die Zahl der sie unterstützenden KM-Tools deutlich gestiegen.

PVCS VM kommt ganz ohne Datenbank aus und speichert Metadaten zusammen mit den Datei-Inhalten in sogenannten Archiven. Client-Server-Technik wird trotz einiger Ankündigungen bislang nicht eingesetzt. Zum zentralen Ablegen der Archive benötigen die User ein gemeinsames Laufwerk im lokalen Netz. Der Installationsaufwand des Tools ist dadurch zwar sehr gering, der Nachteil dabei ist allerdings das hohe Sicherheitsrisiko, da jeder Benutzer unter Umgehung des Tools direkt auf die Archive zugreifen und diese im Extremfall sogar löschen kann.

Ein Zugeständnis an den Anwenderwunsch nach Client-Server-Architektur ist die Integra- tion eines Browser-Interface. Wird ausschließlich dieses benutzt, lassen sich direkte Zugriffe auf den Datei-Server unterbinden. Eine solche Disziplin ist firmenweit nicht umsetzbar, da auch der PVCS Configuration Builder und alle Kommandozeilenprogramme direkt auf die Archive zugreifen. Mit der Version 6.1 von PVCS soll dieser Mangel behoben sein. Dann wird der Archivzugriff über eine Server-Komponente geregelt.

PVCS VM verfügt über vier Zugriffsarten: eine grafische Oberfläche, Einzelprogramme auf Kommandozeile, dem Browser-Interface sowie einer C-Programmier-Schnittstelle. Abgedeckt wird die gesamte Funktionsvielfalt der Versionsverwaltung, wobei sich Prozesse nur in sehr einfacher Form durch Promotionsmodelle realisieren lassen.

Mehr bietet in dieser Richtung die Komponente PVCS Configuration Builder. PVCS CB wird für die automatische reproduzierbare Erstellung von Ergebnisdateien (etwa .exe-Dateien) benötigt. CB-Skripte können noch weit mehr - leider alles nur auf Kommandozeilenebene und ohne komfortable Werkzeuge.

PVCS Tracker dient dem Änderungs-Management. Eine Anbindung an PVCS VM ist allerdings nur rudimentär vorhanden. Für den Einsatz ohne allzu starren KM-Prozeß reicht sie jedoch.

Der PVCS Process Manager wurde ursprünglich für den militärischen Bereich unter VMS entwickelt, dann nach Unix portiert und ist derzeit Server-seitig unter VMS, Unix und Windows NT erhältlich; auf der Client-Seite kommt zu diesen Plattformen noch ein Web-Client. Die Metadaten stehen komplett in einer Oracle-Datenbank, die Dateien selbst befinden sich auf Betriebssystem-Ebene. Das System integriert alle Bereiche des Konfigurations-Managements. Die interne Architektur ist klar und logisch aufgebaut. Es existieren vier Objekttypen:

- Items: die zu verwaltenden Elemente auf unterster Ebene,

- Dokumente des Änderungswesens,

- Design Parts: logische Zusammenfassung von Items sowie

- Baselines: Bezugskonfigurationen.

Ein Produkt, oft auch als Projekt bezeichnet, besteht aus einer Hierarchie von Design Parts, welche die zu verwaltenden Elemente zu logischen Einheiten zusammenfassen. Das System wird mit einem Basis-Prozeßmodell geliefert, das interaktiv an die unternehmensspezifischen Prozesse angepaßt werden kann. Die Mächtigkeit des Systems zeigt sich in den vielen vorhandenen "Freiheitsgraden". Beispielsweise kann jeder Item-Typ einen eigenen Lebenszyklus erhalten. Dies ist sinnvoll, da zum Beispiel ein Anforderungsdokument andere Stufen durchlaufen muß als ein C-Programm. Bei aller Flexibilität bleibt der Process Manager überschaubar.

Neben den Server-Prozessen besteht PVCS Process Manager aus drei Programmen auf Client-Seite: dem "Pro- cess Modeller", der eigentlichen Client-Software und dem "Data Migration Wizard". Hinzu kommt noch ein Microsoft NMAKE-kompatibles Make-Tool, das automatisch Items aus- checkt und die Ergebnisse wieder zurückstellt. Der Data Migration Wizard importiert bestehende Dateien aus dem Filesystem oder aus PVCS-VM-Archiven. Alle administrativen Aufgaben, wie zum Beispiel die Defintion der Item-Typen, die Zuordnung zu den Lebenszyklen oder deren Modifikation, erfolgen innerhalb des Process Modellers. Was derzeit noch fehlt, ist eine grafische Darstellung der Prozesse.

Trotz des gewaltigen Funktionsumfangs von PVCS ist das System sehr flexibel. Beispielsweise sind während der Entwicklung des allerersten Releases Änderungen auch ohne Änderungsanforderungen vornehmbar. Mit einem Schalter ist es aber auch möglich, Eingriffe nur noch zusammen mit einer Änderungsanforderung zuzulassen. Diese Anforderungen können aber Kunden über einen Web-Browser eingeben. Danach werden sie einem Design Part und den betroffenen Items zugewiesen.

Die Liste der in Änderungsdokumenten abzufragenden Felder ist natürlich modifizier- und erweiterbar, aber leider nicht so komfortabel und durch Drag and drop wie bei der Clear-Case-Komponente "Clear Quest". Parallelentwicklung ist durch lokale Replikation problemlos, verteilte Projekte lassen sich derzeit nur durch Ex- und Import-Funktionalität abgleichen. Noch im September soll auch die Remote-Replikation möglich sein.

Clear Case 3.2 von Rational

Clear Case von Rational Software basiert auf einer Client-Server-Architektur, wobei als eingebettete Server-Datenbank der "Raima Database Manager", früher als "Dbvista" bekannt, zum Einsatz kommt. Dort werden sämtliche Metadaten abgelegt, die Dokumente selbst sind in Dateien als Deltas gespeichert.

Clear Case verwendet ein sogenanntes "virtuelles File-System", bei dem der Anwender die Dateien nicht mehr durch Check-out lokal speichern muß, um auf alle relevanten Dateien Zugriff zu haben. Dank dieses Filesystems verwenden die Anwender ein gemeinsames Netzlaufwerk mit spezieller Technik. So läßt sich eine Datei nur speichern, wenn sie vorher zur Bearbeitung ausgecheckt wurde. Durch Namenserweiterungen (etwa "Datei1.c\main\ entwicklung\5") ist der Zugriff auf eine bestimmte Version direkt möglich, in diesem Fall auf Version 5 des Zweigs "Entwicklung".

Die notwendigen Befehle lassen sich durch ein erweitertes Kontextmenü des Datei-Managers von Windows NT aufrufen. Leider gibt es das virtuelle File-System nur unter NT. Unter Windows 95 und Windows 3.11 braucht der Anwender daher die Clientsoftware "Clear Case Attache". Im Unix-Umfeld ist Clear Case schon länger etabliert.

Den Anwendern können unterschiedliche virtuelle Arbeitsbereiche durch Views zur Verfügung gestellt werden. Abhängig von den Regeln des Views ergeben sich bestimmte Versionen: So sieht etwa ein Entwickler andere Versionen als die Qualitätssicherung, obwohl alle Beteiligten dieselbe Datei verwenden.

Ein Spezialfall sind Snapshot Views, die Kopien einer bestimmten Version lokal halten. Sie eignen sich zur Arbeit außerhalb des Büros. Verbindet der Entwickler das Notebook später wieder mit dem Netzwerk, werden die Änderungen berücksichtigt.

Clear Case selbst deckt den Funktionsumfang des Versions- und Konfigurations-Managements ab. Das Build-Management wird durch ein eigenes Make (Omake unter Windows NT) hervorragend erfüllt. Omake ist ein Standard-Make-kompatibles Tool, welches zusammen mit Clear Case selbst die Zahl der notwendigen Compile- und Linkvorgänge auf ein Minimum reduziert. Gemeinsam verwendete Ergebnisse wie DLLs werden nur einmal gebildet und automatisch allen anderen Benutzern in der entsprechenden Version übergeben. Gerade bei Projekten mit vielen gemeinsam verwendeten Komponenten läßt sich hier enorm Zeit und auch Plattenplatz einsparen. Für das Änderungs-Management kommt unter Windows Clear Quest und unter Unix "Clear DDTS" zum Einsatz. Sogenannte Lebenszustände (Promotionsstufen) kann Clear Case abbilden.

Der Zusatz "Clear Guide" übernimmt die Steuerung des Software-Entwicklungsprozesses durch die Zerlegung der Tätigkeiten in Einzelaktivitäten. Clear Guide steuert auch die Übergänge zwischen den einzelnen Lebenszuständen und funktioniert nicht ohne Clear Case. In Clear Quest werden Problem-Reports und Änderungsanforderungen erfaßt und in Clear Guide zu Aktivitäten "gewandelt". Diese lösen schließlich Änderungen an Dokumenten und Quellcode aus, die wiederum mit Clear Case verwaltet werden.

Die Installation der Komponenten erscheint zunächst einfach. Leider sind jedoch einige Einstellungen und Einträge auf Betriebssystem-Ebene manuell vorzunehmen. Manchmal ist auch der Anruf bei der Hotline vonnöten.

Ist der firmenweite KM-Prozeß eingerichtet, geht es an die Änderungen, die etwa durch eine Fehlermeldung veranlaßt werden. Die Verwaltung solcher Manipulationen übernimmt Clear Quest, zu dem auch ein Design-Modul gehört. Dort werden die Änderungsformulare an die Gegebenheiten im Unternehmen angepaßt. Workflow- und Validierungsfunktionalität kann durch programmierbare Hooks eingebaut werden. Diese werden in Basic programmiert; für Datenbankaktivitäten wird jedoch SQL verwendet. Der Gestaltungsprozeß ähnelt dem interaktiven Verfahren in der Microsoft-Entwicklungsumgebung "Visual Studio". Ist der Änderungsauftrag erfaßt, so wird dieser nach Review und Priorisierung einer neuen (oder bestehenden) Aktivität in Clear Guide terminiert und den Bearbeitern zugeordnet.

Sitzen die Entwickler an mehreren Standorten, so kommt das Zusatzprodukt "Clear Case Multi- site" zum Einsatz. Multisite repliziert die Repositories zu vorgegebenen Zeitpunkten, wobei nur die Unterschiede übertragen werden. Pro Standort wird ein Branch definiert und dadurch die Parallelentwicklung mit späterer Code-Zusammenführung realisierbar. Der Zusammenschluß von Branches geschieht mit Hilfe des "Merge Managers". Die Code-Zusammenführung selbst läuft halbautomatisch ab. Nur Konflikte sind manuell aufzulösen. Konfigurationen werden durch Versions-Label eingefroren und sind jederzeit wieder herstellbar. Integration gängiger Entwicklungs-Tools ist möglich.

Alles in allem überzeugt Clear Case durch seine Benutzerschnittstelle unter Windows NT sowie dadurch, daß es die Entwicklertätigkeiten kaum durch organisatorische Anforderungen stört. Auch die Teamunterstützung funktioniert gut. Der Schwerpunkt der Software liegt beim Versions-Management.

Im Unterschied zu CCC/Harvest und Continuus (siehe nächste Ausgabe) wird weitere Funktionalität durch Zusatzprodukte eingekauft. Volle Integration ist noch nicht gegeben, jedoch auch nicht unbedingt das Ziel eines modularen Ansatzes.