2015-08-14 10 views
13

Ich schaue mir die verschiedenen Architekturfunktionen von Visual Studio 2015 Enterprise Edition an. Alles sieht gut aus.VS2015 Enterprise Reverse Engineer Code zu UML

Allerdings habe ich Code, der alles bereit ist geschrieben und ich möchte Klassendiagramme daraus erstellen. NICHT der Standard Klassendiagramm in einem Projekt hinzufügen - sondern aus den UML-Klassendiagrammen. Ich habe dafür ein Modeling-Projekt erstellt.

Ich kann keinen Weg sehen, dies zu tun - ist das möglich? Kann ich vorhandenen Code in schöne Diagramme umwandeln?

Hier ist meine Lösung Ansicht:

Solution View

Hier ist die Klasse Diagram Designer:

Class Diagram Designer

ich von Mappen-Explorer in ein überlagertes Diagramm per Drag & Drop-Projekte können aber nichts mit Klassen. Hier ist ein ich früher gemacht:

Layered Diagram

ich ziehen und Drop-Klassen in der Codekarte von Mappen-Explorer. Es wäre schön, alle meine Modelle in einem Projekt zu haben. Ich hasse das alte Klassendiagramm, wo du es zu einem einzelnen Projekt hinzufügst.

Dies schien ein Merkmal in früheren Ultimate-Editionen zu sein. Die folgende URL hat jedoch keinen Link für das Jahr 2015 (nur bis 2013).

MSDN

UPDATE

installiert I 2013 Ultimative wir haben eine Lizenz für und in der Tat alle diese Funktionalität ist in dieser Version. Warum nicht 2015 Enterprise? Können wir erwarten, dass Microsoft dies nicht mehr unterstützt und es ausläuft? Oder gab es keine Zeit für 2015 und es wird in einem Update enthalten sein.

Antwort

10

TLDR; An diesem Punkt plant Visual Studio 2015+ nicht, das Reverse Engineering für das UML-Klassendiagramm oder das UML-Sequenzdiagramm zu unterstützen.

Visual Studio 2015 verwendet brandneue Compiler (Projekt Roslyn) für C# und VB, und viele Funktionen, die mit dem Code interagieren, mussten überarbeitet werden, um das neue Paradigma zu unterstützen.

Gleichzeitig zeigen unsere Telemetriedaten, dass Reverse Engineering nicht so häufig verwendet wird. Gespräche mit Kunden zeigen, dass viele Menschen zu schnelleren Veröffentlichungszyklen übergehen, was bedeutet, dass Diagramme zu schnell veraltet sind, um nützlich zu sein.

Als solche entschieden wir uns, in Klassendiagramme (nicht die UML) und in Code Map zu investieren. Beide unterstützen Reverse Engineering. Insbesondere wurde Code Map entwickelt, um viele Fehler zu beseitigen und die Leistung und Skalierbarkeit zu verbessern. Es ist die Technologie der Wahl für die Analyse von Architekturen. Here's ein Artikel, der einige Szenarien zeigt, in denen Code Map gut ist.

Das heißt, VS 2013 weiterhin diese Szenarien zu unterstützen, und Sie können es nebeneinander installieren. Sie können nach Funktionen auf UserVoice fragen - es gibt bereits eine request, um das Sequenzdiagramm Reverse Engineering zurückzuholen.

Wofür wollten Sie Reverse Engineer verwenden?

+2

Hey Bogdan. Ich glaube, dass Diagramme einen schönen Überblick über einen Fluss zwischen einem Ende einer Anwendung zu einem anderen geben. In meinem Fall wollte ich ein Sequenzdiagramm erstellen, um anzuzeigen, was aufgerufen wurde, um einige Objekte in der Datenbank zu speichern. Es gab eine Anzahl von Schichten in der Anwendung, die auf Diensten und Schnittstellen aufgebaut waren. Alles verwendete Dependency Injection (Unity), das alle Konfigurationszuordnungen im Code hatte. Hier war es schwer zu sehen, was was genannt wurde - besonders, wenn es neu für jemandes Code ist. Ich dachte, das Diagramm würde helfen. – Andez

+0

Wie bei Standard-Klassendiagrammen - ich persönlich finde, ein Klassendiagramm in einem einzigen Projekt ist nicht der richtige Weg. Ich bevorzuge die im Architektur (UML) Projekt. Es ermöglicht Ihnen, Klassen aus verschiedenen Projekten zu ziehen und das Gesamtbild zusammenzufügen. Ich denke nicht, dass Sie dies in den Standard-Projekt-Klassendiagramm-Projekten tun können. – Andez

+0

CodeMap ist jedoch ein großartiges Werkzeug. Wird sehen, wie es mit unserem Enterprise-Level-System ausrichtet. Danke für die Info – Andez