Wenn man sich gewöhnt ist zuerst Klassen zu erstellen und dann ein Model haben möchte, dann kann man schon ein wenig in Verzweiflung versinken. Nun ist es aber mit den Tools:
- Visual Studio 2010 Ultimate
- Visual Studio 2010 Feature Pack
möglich bereits erstellten Code rückwärts zu modellieren. Damit wir das Ganze Schritt für Schritt durchführen können, ist dieser Betrag wie folgt unterteilt:
- Erstellung einer Dummy Lösung mit einem manuell erstellten Klassenmodell
- Erstellen eins ModellProjektes
Erstellung des Beispiel Projektes
Wir halten es ganz einfach und wählen in den Projektvorlagen eine Windows Class Library aus. Wir fügen folgende Klassen hinzu:
- Person
- Address
- Phone
- PhoneType
Schlussendlich sieht das Diagramm dann wie folgt aus:
Nun müssen wird das Build-Directory anpassen, dass kann in ein x-beliebiges Verzeichnis sein, aber nur für das Beispiel hier.
Als nächster Schritt erstellen wir uns ein Modell Projekt.
Das Modell Projekt
Nun wählen wir aus den Projektvorlagen, die Vorlage aus dem Bereich Modelling und erstellen uns eine leere Lösung. Danach fügen wir uns ein Klassendiagramm über den entsprechenden Menüpunkt der Solution hinzu.
Nun müssen wir dafür sorgen dass der Architektur Explorer ersichtlich ist. Ist dieser nicht auffindbar, kann man ihn wie folgt sichtbar machen:
- Auswahl Menu-Option Architektur
- Auswahl Fenster /Windows
- Selektion des Architektur Explorer
Der Architektur Explorer ist dann am unteren Rand von Visual Studio ersichtlich.
Damit wir nun auch das vorher erstellte Projekt importieren können gehen wir wie folgt vor:
- Option Select Files… wählen
- Im öffnenden Explorer Fenster zum Pfad hinnavigieren, welchen wir vorhing bei der Beispiel DLL als Output Verzeichnis angegeben haben such und die DLL auswählen.
Nachdem wir unsere DLL selektiert haben sieht der Architecture Explorer so aus:
Nun können wir beginnen die Klassen in ein Klassen Diagramm des Modelprojektes reinzuziehen und haben unser „Reverse Engineering“ erfolgreich durchgefüht.
Nun können wir die notwendigen Anpassungen, falls wir mit unserem Modell nicht ganz zufrieden sind, vornehmen und den Code wieder generieren lassen.
Fazit
Es stellt sich nun die Frage, waren meine Google Anfragen so unpräzise oder ist es so einfach dass man es nicht wirklich dokumentieren braucht? Nun ich hoffe trotz der Trivialität des Vorgangs, dem einen oder anderen ein wenig Zeit mit der Suche im Web erspart zu haben.
Für Anregungen und Kritik bin ich offen. Hat der Beitrag gefallen, so würde ich mich über einen Kick freuen.