Forward/Reverse Engineering

Forward/Reverse Engineering

Code Engineering Set editieren

F├╝r Forward und Reverse Engineering muss in MagicDraw das Sprach-spezifische Code Engineering Set im Projekt eingef├╝gt werden. 

Man f├╝gt ein Code Engineering Set ein, indem man den Knoten Code engineering set im Containment-Baum ausw├Ąhlt und dann ├╝ber die rechte Maustaste New/C++/ANSI ausw├Ąhlt. Dadurch ist die Sprache im Projekt bekannt. F├╝r C++ gibt es 3 verschiedene Code Engineering Sets in MagicDraw:

  • ANSI C++, ANSI Standard, geeignet f├╝r Forward oder Reverse Engineering
  • CLI, MS Visual Studio, geeignet f├╝r Forward oder Reverse Engineering
  • Managed.

 Zur Konfiguration des CodeEngineeringSets selektiert man es und w├Ąhlt Edit.

 Man w├Ąhlt das Arbeitsverzeichnis, in das der Code generiert werden soll. Im linken Frame kann man unter Add Files Quellcodedateien f├╝r das Reverse Engineering angeben. Unter Add Data form Model kann man Klassen des Modells angeben f├╝r die im Forward Engineering Quellcode generiert werden soll.

├ťber die Funktion Generate wird die Forward Code Generierung gestartet. Im folgenden Dialog k├Ânnen noch Optionen angegeben werden.

 

Das Reverse Code Engineering startet man ├╝ber die Funktion Reverse.  Die Reverse Engineering Funktion tr├Ągt in der deutschen Version den sehr deutschen  Namen Umkehren.

 

Quick Reverse Engineering

F├╝r einmaliges Reverse Engineering gibt es die Quick Reverse Funktion. Sie wird gestartet ├╝ber Tools/QuickReverse/QuickReverseC++/ANSI

 

 

Man gibt das Verzeichnis in dem der Code steht an, w├Ąhlt die Dateien, die importiert werden sollen und klickt OK.

Hier w├Ąhlt man Associations, damit die Assoziationen beim Reverse Engineering automatisch aus den Variablen erzeugt werden. Change model according to code aktualisiert das Model entsprechend des importierten Quellcodes. ├ťber Create new class diagramm teilt man ihm mit, dass die Klassen in einem neuen Klassendiagramm dargestellt werden sollen.

Im letzten Dialog w├Ąhlt man ein Paket, das das Klassendiagramm enthalten soll und gibt den Diagrammnamen an.