Projekte oder Prozesse miteinander vergleichen
Viele unserer Kunden führen Änderungen an ihren in-STEP BLUE Prozessvorlagen sehr systematisch und inkrementell durch. Dennoch kommt es häufiger vor, dass für ein spezielles Projekt Anpassungen an den Kategorien oder den Zustandsautomaten durchgeführt werden, die nicht unmittelbar wieder in die Prozessdefinition einfließen. Was aber, wenn man zu einem späteren Zeitpunkt die Unterschiede zwischen diesem speziellen Projekt und der Prozessdefinition wissen will? Genau vor dieser Herausforderung stand ich kürzlich bei einem Kunden und ich möchte Ihnen heute iSCompare vorstellen: ein kleines Tool, mit dem ein systematischer Vergleich von Kategorien und Zustandsautomaten möglich wird.
Projekte wie auch Prozesse können in in-STEP BLUE mittels des Menüpunkts Projekt und dem Befehl Exportieren in eine XML-Struktur exportiert werden. Es wird entsprechend eine xml_project- bzw. eine xml_process-Dateiangelegt. Das Format dieser Dateien erlaubt noch keinen direkten Vergleich. Mittels iSCompare können die XML-Dateien aber so umstrukturiert werden, dass ein Vergleich mittels bekannter Diff-Tools möglich wird.
Die Benutzung des Tools ist denkbar einfach: Man ruft iSCompare in der Kommandozeile jeweils mit den zu vergleichenden XML-Dateien auf. Hier im Beispiel mit einer Projektvorlage als xml_process-Datei und der xml_project-Datei eines Projektes SpeziellesProjekt:
Für meine Projektvorlage und mein SpeziellesProjekt wird jeweils eine umstrukturierte Datei für Categories und für StateMachines erstellt. Die Categories-Dateien dienen dem Vergleich der Kategorien, die StateMachines-Dateien dem Vergleich von Zustandsautomaten. Diese Dateien können jetzt mit Hilfe eines Diff-Tools miteinander verglichen werden. Es können dafür beliebige Diff-Tools verwendet werden – ich nutze die Vergleichsfunktion, die direkt im Editor Notepad++ integriert ist.
Zuerst möchte ich die Kategorien von Projektvorlage und SpeziellesProjekt miteinander vergleichen. Dazu lade ich die Dateien Projektvorlage-Categories.xml und SpeziellesProjekt-Categories.xml in Notepad++ und währe aus dem Menü Erweiterungen den Befehl Compare. Es öffnet sich die Diff-Sicht zwischen beiden Dateien.
In einer solchen Diff-Sicht werden die Zeilen beider Dateien miteinander verglichen. Veränderte Zeilen werden durch ein Ausrufezeichen kenntlich gemacht, neu hinzugefügte Zeilen durch ein grünes Plus-Zeichen. Gelösche Zeilen werden durch ein rotes Minus-Zeichen ersichtlich. Man erkennt die Category-Elemente, einschließlich möglicher Subelemente, sowie die dazugehörigen Properties mit allen in in-STEP BLUE einstellbaren Parametern.
Schauen wir uns die Veränderungen einmal im Detail an:
Das Property Dringlichkeit der Category CHANGE REQUEST ist vom Typ Enumeration (Aufzählungstyp). Die Aufzählungselemente der Enumeration werden durch die PropertyValues („0 – niedrig“ bis „3 – kritisch“) beschrieben und in der Reihenfolge dargestellt, wie sie in in-Step konfiguriert wurden. An den Ausrufezeichen ist zu erkennen, dass sich die Aufzählungen für „0 – niedrig“ und „1 – mittel“ geändert haben. Der Vergleich mit dem Original (siehe Abbildung 3) zeigt, dass zwischen Projektvorlage und SpeziellenProjekt der Default-Wert von „1 – mittel“ auf „0 – niedrig“ gewechselt hat.
Zeile 89 ist grau hinterlegt und leer. Der Vergleich zur Prozessvorlage zeigt, dass das Property Erstellt am gelöscht wurde.
Bei der dargestellten Property Kategorie von CHANGE REQUEST hat sich das erste Aufzählungselement geändert und ein neues – viertes – ist hinzugekommen. Der Vergleich mit dem Original zeigt, dass an der ersten Position die Kundenanforderung als Aufzählung hinzugefügt und auch als Default -Wert festgelegt wurde. Der Fehler – im Original noch an erster Position – ist auf Position 4 verschoben worden.
Ebenfalls in Abbildung 2 ist erkennbar, dass die Kategorie GLOSSAREINTRAG mit den Properties Beschreibung und Referenz ganz neu eingefügt wurde. In ähnlicher Art und Weise funktioniert der Vergleich für die StateMachines (Zustandsautomaten).
Es werden alle Zustandsautomaten mit ihren Zuständen sowie den möglichen Transitionen einschließlich der Bedingungen (Guards) und Aktionen (Actions) aufgelistet. Somit lassen sich alle Veränderungen an Zustandsautomaten nachvollziehen – selbst, wenn es nur der Wechsel eines Icons (Bitmap) ist. Beispielsweise wurde in SpeziellesProjekt beim Zustand “abgenommen” des Zustandsautomaten “… für Anforderung” eine Eingangs-Aktion für das Senden einer Nachricht eingefügt.
Durch die hierarchische Darstellung auf Basis von XML-Elementen bekommt man eine schnelle und flexible Lösung, um Teile eines in-STEP BLUE Projektes wie Kategorien oder Zustandsautomaten miteinander zu vergleichen. Die meisten Editoren und Diff-Tools erlauben außerdem, bestimmte XML-Knoten auf- bzw. zuzuklappen, wodurch man die Detailstufe auf das gewünschte Maß anpassen kann.
isCompare können Sie natürlich auch für Ihre Projekte nutzen – sprechen Sie doch einfach unseren Support unter +49 30 467086-20 an. Wie immer freue ich mich auf Ihr Feedback.
Diskutieren Sie mit.