banner

goal Lernziel

In diesem Tutorial lernen Sie, wie Sie ein Anforderungsdokument von DOORS 9 nach DOORS Next Generation mittels DNGMig migrieren. DNGMig ist das Freeware Migrationswerkzeug von Individual Standard.

ideasBig Picture: Migration als ETL-Prozess

Die Grundidee hinter DNGMig ist, dass eine Migration immer auch eine Transformation mit sich bringt. Dabei setzen wir auf einen ETL-Prozess: Extract, Transform, Load. Die Philosophie von DNGMig ist, dass Daten weder in DOORS 9 noch in DOORS Next Generation vor- bzw. nachbereiten werden müssen.

buildings Vorbedingungen herstellen

Laden Sie DNGMig herunter. Exportieren Sie eine ReqIF- oder migiz Datei aus DOORS 9. Migiz ist eine ReqIF-Datei, die um MIME-Backlinks zu DOORS 9 erweitert ist. DNG-Artefakte sind dann nach dem Import mit den ursprünglichen DOORS-Objekten verlinkt. Unser Migrationswerkzeug untersützt sowohl ReqIF als auch migiz. Alternativ dazu können Sie auch die Tutorialdatei herunterladen.

report Begriffe

Da DNGMig auf ReqIF zurückgreift, verwenden wir in diesem Tutorial die ReqIF-Begriffswelt. Alle englischen Worte in diesem Tutorialtext entsprechen ReqIF-Konzepten. Die wichtigsten ReqIF-Konzepte sind Specifications (= Module), SpecObjects (= Objekte/Artefakt), SpecType (= Typen von Modulen und Objekten/Artefakten).

report Hauptansichten

Der Migrator besteht aus den drei Hauptansichten Specifications, SpecTypes und Attribute- & DatatypeDefinitions. Auf der rechten Seite des Tools wird die Liste der Migrationskommandos angezeigt.

In dieser Ansicht sehen Sie die Specifications aus der ReqIF-Datei.

main_specifications

 

 

Hier sehen Sie die SpecificationTypes und sowie die SpecObjectTypes, inkl. Zuweisung von Attributen und Datentypen.

main_spectypes

In diesem Bereich sehen Sie die Attribut- und Datentypdefinitionen.

main_attrdatatypedef

Der Kommandobereich zeigt alle verfügbaren Migrationskommandos. Ein Migrationskommando bündelt eine oder mehere Transformationsschritte. Ziel ist es, ein DOORS 9 ReqIF-Datei derart zu transformieren, so dass sie optimal in DNG importiert werden kann. Optimal heißt beispielsweise, dass die modernen Features von DNG ausgenutzt werden. Optimal heißt auch, dass die ReqIF-Dateien bereits im passend zu Ihrer modernisierten RE-Methodik in DNG ankommen. Dabei müssen Sie Ihre Daten weder in DOORS 9 noch in DNG vor- bzw. nachbereiten.

main_attrdatatypedef

report Transformieren mittels Migrationskommandos durchführen

Klicken Sie im Kommandobereich auf das Ordner-Icon und klicken Sie „Open …“. Wählen Sie eine reqif, reqifz oder migiz-Datei aus. Gegebenenfalls weist Sie das Tool darauf hin, dass die Datei erst vorbereitet werden muss. In diesem Fall überschreibt DNGMig automatisch die ReqIF-Datei (bzw. reqifz, migiz).

clean_command

Nach dem Öffnen sehen Sie in der linken Spalte eine Baumansicht, der die Ordner und Specifications der ReqIF-Datei anzeigt. In dieser Baumansicht können Sie die Ordnerstruktur verwalten und Specifications verschieben.

extended-migration

In DOORS 9 werden Objekte erst gelöscht und später bereinigt. Dieser Mechanimus entspricht dem Papierkorb in Windows. DOORS 9 exportiert diese Objekte in die ReqIF-Datei. Nach dem Import in DNG werden diese gelöschten Objekte jedoch wieder im Modul angezeigt.

Das Kommando „Remove deleted SpecObjects“ entfernt die Objekte aus der ReqIF-Datei. Alternativ können Sie auch das Kommando „Extract deleted SpecObjects into new Specification(s)“ ausführen. Dieser fügt die gelöschten Objekte in ein neue Module ein.

cmd_harmonize_2

Ein wesentlicher Unterschied zwischen DOORS 9 und DNG ist, dass DOORS 9 modulorientiert und DNG artefaktorientiert ist (siehe Youtube-Tutorial). Modulorientierung bedeutet, dass DOORS 9 Objekte nur innerhalb eines Moduls existieren können. Artefaktorientierung bedeutet, dass DNG Artefakte freie Datenbankelemente sind, die mehreren Module zugewiesen werden können.

Aus Typdefinitionssicht bedeutet das, dass in der Modulorientierung Typdefinitionen im Kontext des Moduls gelten. Artefaktorientierung Typdefinitionen im Kontext des Projektbereichs gelten. Dies führt beispielsweise dazu, dass in DOORS 9 die Objekte in jedem Modul ein eigenes Prio-Attribute (Duplikat) besitzen – während in DNG alle Artefakte (in mehreren Modulen) dasselbe Prio-Attribut besitzen.

Das Kommando „Set SAME-AS URI“ setzt für alle Typdefinitionen mit gleichem Namen eine URI (1). Dabei können Inkonsistenzen auftreten – beispielsweise, wenn Enumerationen nicht die gleichen Werte haben (2). Mit dem Kommando „Harmonize EnumValues“ werden Enum-Inkonsistenzen automatisch behoben (3). Sobald in den beiden „Inconsistent …“-Listen keine Einträge mehr vorhanden sind, sind alle Inkonsistenzen aufgelöst.

image2017-1-24-8_44_30

In DOORS 9 haben Objekte keine expliziten Objekttypen. Als Workaround hat sich etabliert, die Typen implizit über eine Enumeration-Attribut festzulegen. Beispielsweise ist häufig ein Typ „Objekttyp“ mit den Werten „Überschrift“, „Information“ und „Anforderung“ anzutreffen.

Das Kommando „Extract spec object type(s)“ erzeugt auf der Grundlage eines Attributs „Objekttyp“ explizite Objekttypen und weist den entsprechenden SpecObjects die neuen Typen zu.

cmd_harmonize_2

In DOORS 9 sind Module oft monolithisch – sie haben ziemlich oft mehrere 100 Seiten. Ein Faktor dafür ist die Modulorientierung von DOORS 9. DNG bietet wegen der Artefaktorientierung die Möglichkeit, monolithische Module in kleinere Einheiten aufzuteilen. Klicken Sie im Kommandobereich auf „Extract bricks“ um monolithische Module aufzutrennen.

Wählen Sie im Wizard zunächst die Specification aus, die sie auftrennen möchten. Wählen Sie nachfolgend die Kapitel aus, die Sie extrahieren möchten (z.B. alle Unterkapitel des Kapitels „Funktionen“). Geben Sie im nächsten Schritt den Typ an, den die neuen Specifications haben sollen (z.B. „Funktion“). Im nächsten Schritt können Sie den Ordner angeben, in den die Bricks gespeichert werden (z.B. „2_Bausteine“). Abschließend müssen Sie noch einen Ordner angeben, in den die SpecObjects der Bricks verschoben werden (z.B. „1_Einzelartefakte“). Klicken Sie auf „Finish“.

Das Kommando hat die Bricks extrahiert und mir der Ursprungsstelle verlinkt. Die generelle Idee ist, dass Lastenhefte durch das Brick-Konzept Klammern für wiederverwendete Bricks sind.

cmd_extract-bricks

Neben den vorgestellten Kommandos gibt es noch weitere interessante Transformationen, die Sie bei der Migration von DOORS 9 nach DOORS Next Generation unterstützen. DNGMig bietet Ihnen jederzeit die Möglichkeit, einen Report zu generieren. Dieser dokumentiert alle bislang durchgeführten Transformationen.

Speichern Sie abschließend die ReqIF-Datei (bzw. ReqIFZ, migiz) und importieren Sie sie in DNG.

report