UMLDiff (Diplomarbeit / Diploma Thesis 2002)

Martin Girschick (TU-Darmstadt, Fachbereich Informatik)

abstract: english and german

In meiner Diplomarbeit habe ich mich mit der Analyse von UML-Diagrammen beschäftigt. Ein Algorithmus zur Analyse von Sequenzdiagrammen und Klassendiagrammen wurde entwickelt. Dieser erkennt und analysiert die Unterschiede zwischen verschiedenen Versionen dieser Diagrammtypen. Eine weitere Visualisierungskomponente generiert eingefärbte Diagramme, die diese Unterschiede darstellen.

Hier ein Beispiel für ein eingefärbtes Klassendiagramm. Es wurden die beiden Diagramme cand_cld_base und cand_cld_variant verglichen.

Ein Beispiel für die Analyse von Sequenzdiagrammen befindet sich hier.

Die Diplomarbeit im PDF-Format kann hier heruntergeladen werden.

Zusammenfassung

In dieser Diplomarbeit werden Verfahren zur Analyse von UML-Klassendiagrammen und UML-Sequenzdiagrammen entwickelt. Ziel ist es, die Unterschiede zwischen verschiedenen Versionen dieser Diagramme zu erkennen und zu analysieren.

Sowohl in der Spezifikations- als auch in der Entwurfsphase und der eigentlichen Entwicklung werden Klassendiagramme eingesetzt und unterliegen dabei vielen Veränderungen. Im Rahmen dieser Arbeit wurde das Softwarepaket UMLDiffcld entwickelt, welches Unterschiede zwischen verschiedenen Versionen eines Klassendiagramms erkennt und mit einem eingefärbten Klassendiagramm visualisiert. Das dabei entwickelte Verfahren kann auch für andere Datenstrukturen angepaßt werden.

Sequenzdiagramme werden ebenfalls zur Spezifikation eingesetzt. An der Technischen Universität Darmstadt wurde ein Werkzeug entwickelt, welches Sequenzdiagramme dazu verwendet, um Tests zu spezifizieren. Das Sequenzdiagramm wird hierzu mit den Aufrufparametern und Rückgabewerten kombiniert. Damit ist es nun möglich, Testläufe durchzuführen. Während des Testlaufs wird aus den tatsächlich auftretenden Aufrufen und Parametern ein Sequenzdiagramm generiert. Durch Vergleich des spezifierenden mit dem generierten Diagramm kann nun der Testlauf untersucht werden. Hierzu wurde das Werkzeug UMLDiffsqd entwickelt. Es untersucht zwei Sequenzdiagramme und stellt die Unterschiede in Form eines eingefärbten Sequenzdiagramms dar. Dabei werden sowohl Unterschiede von Werten als auch strukturelle Unterschiede der Diagramme berücksichtigt.

Abstract

In this diploma thesis a method for the analysis of UML class diagrams and UML sequence diagrams is developed. The aim was to find and analyse differences between two versions of these diagrams.

During the specification and design of software products UML class diagrams are subject to frequent change. In this thesis a software package namend UMLDiffcld was designed which finds differences between two versions of a class diagram. These differences are visualized by means of colored class diagrams. The methods developed for this purpose can be adapted for the use with other data structures as well.

Sequence diagrams are used during specification, too. At the Technical University of Darmstadt a tool has been developed, which uses sequence diagrams to specify tests. The diagrams are combined with the values of the calls. With that it is possible to run automatic tests. During a test run a sequence diagram of the actual calls and values is recorded. By comparing the defining and the observed sequence diagram it is possible to check the test run for inconsistencies. This comparison is carried out by the tool UMLDiffsqd. It compares the two diagrams and visualizes the differences using a colored sequence diagram. Both, differences of values and structural differences, are recognized.


Letzte Aktualisierung: 01.11.2004