Softwarekonfigurations-Management (SKM) ist ein wichtiger Bestandteil moderner Softwareentwicklungsprozesse. Ein Vorteil des Einsatzes von SKM-Werkzeugen ist die Möglichkeit Versionen zu erzeugen, Unterschiede festzustellen und Produkte zu veröffentlichen, die eine Konfiguration von bestimmten Dokumenten darstellen. Es ist eine große Anzahl von SKM-Systemen und Konzepten verfügbar, jedoch arbeiten die meisten von ihnen (einschl. CVS, RCS oder SCCS) fast ausschließlich auf Textdateien. Deshalb ist der Einsatz von SCM-Werkzeugen in den späten Phasen der Softwareentwicklung, insbesondere bei der Programmierung und Wartung, etabliert und gängige Praxis. SKM hat in den frühen Phasen (z.B. Analyse und Entwurf) noch nicht diese Bedeutung erlangt. Existierende SKM-Systeme sind weniger gut geeignet, um Dokumente der frühen Phasen zu versionieren, Unterschiede zu bestimmen oder um diese zu visualisieren. Der Grund hierfür liegt darin, daß es sich bei diesen Dokumenten üblicherweise nicht um Text, sondern um Diagramme handelt, die Bestandteil von Modellierungssprachen
sind, wie z. B. UML.
Der erste Teil dieser Arbeit beschäftigt sich mit der Aufgabenstellung der Versionierung von Diagrammen. Das vorgeschlagene Versionierungskonzept basiert auf dem Einsatz eines Objektmanagement-Systems (OMS) und der Nutzung einer OMS-orientierten Werkzeugarchitektur. Die Werkzeugtransaktionen des OMS sind die Basis für das vorgestellte Versionierungskonzept. Alle modifizierten Objekte werden automatisch innerhalb der Werkzeugtransaktionen versioniert. Einzelne Objektversionen faßt eine Konfiguration zusammen, die eine Dokumentversion repräsentiert. Entwurfstransaktionen dienen zur Verwaltung der Dokumentversionen.
Dieses Versionierungskonzept erlaubt eine andere Form der Gruppenarbeit im Vergleich zu der Nutzung von z.B. CVS oder RCS. Alle Entwickler arbeiten auf denselben Daten. Änderungen sind sofort für alle Entwickler sichtbar, die an der selben Version arbeiten. Die Konsistenz wird durch Transaktionssperren auf Objektversionen sichergestellt.
Der zweite Teil dieser Arbeit beschäftigt sich mit der Visualisierung der Differenzen zwischen zwei Diagrammen im Fall der kooperativen Arbeit. Die Berechnung der Unterschiede zwischen den Versionen stützt sich auf die eindeutigen Objektidentifizierer ab, die durch das OMS vergeben werden. Das vorgeschlagene Visualisierungskonzept ist nur abhängig von der verwendeten Modellierungssprache, jedoch nicht vom verwendeten Versionsverwaltungs-System. Zur Visualisierung wird ein so genanntes Vereinigungsdiagramm verwendet, welches die gemeinsamen Elemente der beiden zu vergleichenden Diagramme und die spezifischen Diagrammelemente enthält. Diese werden hierin farbig hervorgehoben.
Das Versionierungskonzept und die Visualisierung sind prototypisch im OMS H-PCTE
und in der Werkzeugsammlung PISET implementiert. PISET bietet Editoren für UML
Kollaborations-, Objekt-, Anwendungsfall-, Klassen- und Zustandsdiagramme. Die Visualisierung für Klassendiagramme ist ebenfalls im CASE-Werkzeug FUJABA implementiert.