2012-11-12 2 views
13

Ich versuche, einen Weg zu finden, UML-Diagramme (Sequenzdiagramme, Klassendiagramm, usw.) von meiner C# -Code geschrieben in Visual Studio 2012.Wie kann ich UML-Diagramme aus in Visual Studio 2012 geschriebenem C# -Code in Visio 2010 generieren?

Ich sah einen Link auf http://office.microsoft.com/en-us/visio-help/about-reverse-engineering-code-to-the-uml-HP001208803.aspx, dass ich konnte mein Visual Studio-Projekt zu generieren bringen in Visio.

Aber der erste Teil, wo es heißt "In der Visual Studio-Umgebung wird Reverse Engineering von einem Befehl im Menü Projekt aktiviert." funktioniert nicht für mich, weil ich keine Reverse Engineering-Option im Menü Projekt finden kann.

Wie kann ich UML-Diagramme aus in Visual Studio 2012 geschriebenem C# -Code in Visio 2010 generieren?

Antwort

12

Microsoft betrachtet Visio nicht länger als Softwareentwicklungswerkzeug. Es gab eine Version namens "Visio for Enterprise Architects", die diese Integration mit Visual Studio hatte. Es war mit der höchsten Edition von Visual Studio verfügbar.

Ich glaube, es wurde zuletzt mit Visual Studio 2005 unterstützt, obwohl die 2003

von Visual Studio Ultimate jetzt verfügt über eine eigene integrierte in UML-Funktionen gewesen sein könnte, die auf Visio verlassen Sie sich nicht.

+0

Das ist bedauerlich, da die integrierten UML-Features kein C++ Reverse Engineering unterstützen. Ich habe jetzt das gleiche Problem wie xEnOn (aber mit C++ statt C#), und von dem, was Sie sagen, es klingt wie es ist nicht möglich, entweder VS2012 allein oder in Kombination mit Visio zu erreichen, was ich will? – JBentley

+0

Haben Sie Visual Studio 2012 Update 1 überprüft? Sie haben eine Reihe von C++ - Funktionen hinzugefügt, und vielleicht ist UML-Unterstützung für C++ einer von ihnen. –

+0

Ja, ich habe versucht Update 1. Noch keine C++ Unterstützung, leider. Ich mag viele andere C++ - Funktionen, die sie hinzugefügt haben (neue Artikelvorlagen, GPU-Unterstützung, Unit-Test-Framework usw.). – JBentley

0

Dies hängt davon ab, welche Version des Produkts Sie verwenden. Ich habe Visual Studio Professional 2012 und sehe diese Option nicht. Dies macht Sinn, wenn Sie sich die product features ansehen. Wenn Sie jedoch die product features of Visual Studio 2012 Ultimate betrachten, sehen Sie UML-Modellierung und verschiedene andere Visualisierungstools.

+0

Wahr, aber diese UML-Modellierungsfunktion ist nicht mit Visio verwandt, worum es bei der Frage ging. –

0

Visual Studio 2010 nicht-Ultimate-Version für diese UML-Generation mit Feature Pack zulässig, die noch nicht für Visual Studio 2012 entwickelt wurde. Wie Dominic erwähnte (er hat mich dazu geschlagen), sollte Visual Studio 2012 Ultimate dies jedoch zulassen.

+0

-1: Das Feature Pack hat nichts mit Visio zu tun –

5

Explosion aus der Vergangenheit. Es ist schon eine Weile her, dass ich etwas in UML zurückentwickelt habe, damit mein Wissen veraltet ist. In jedem Fall, soweit ich mich erinnere, ist Code-Reverse-Engineering mit Visio eine Visio-Funktion und keine Visual Studio-Funktion, einige Versionen von Visual Studio haben ihre eigenen Modellierungsfunktionen.

Um Visio Reverse Engineering verwenden Sie die Visio-UML Addin sicherstellen müssen installiert ist (es sollte in Professional und über Versionen von Visio zur Verfügung, kann aber nicht standardmäßig installiert werden.)

Here ‚sa ziemlich alt Schritt für Schritt für eine alte Version von Visio und Visual Studio. Ich glaube nicht, dass sich der Prozess so sehr geändert hat (obwohl sich die unterstützten Sprachen natürlich geändert haben)

In jedem Fall mochte ich Visio für UML (um ehrlich zu sein, ich mochte Visio nie.) Ich mochte Sparx System's Enterprise Architect für die Modellierung und ihr Reverse Engineering war ziemlich gut, als ich es auf .Net 2.0 verwendete. Ich weiß nicht, wie ihre aktuelle Version mit den neueren Funktionen zurechtkommt. Ich mag auch ihre "von Grund auf" -Modellumgebung besser.

Denken Sie daran, dass UML eine Modellierung und keine Programmiersprache sein soll. I.e. es soll das High-Level-Design vermitteln, damit die Gesamtarchitektur einer Lösung leichter verstanden werden kann; oder um wichtige dynamische Wechselwirkungen erneut zu modellieren, so dass die implementierten oder vorgeschlagenen Lösungen für das modellierte Problem leichter verstanden werden können.

Umgekehrte UML-Diagramme haben oft zu viele Informationen, um nützlich zu sein, und es ist in jedem Fall schwierig, die genaue Semantik einer bestimmten Sprache in UML zu übersetzen. Sie können besser Diagramme von Grund auf neu erstellen. Anders als bei Bereitstellungs- und Paketdiagrammen sollte es sich verstehen, dass UML-Diagramme eine Übersicht auf hoher Ebene oder eine spezifische dynamische Interaktionsdarstellung auf hoher Ebene repräsentieren, keine so entwickelte Darstellung.

0

Visual Studio Ultimate 2012 kann sehr schöne Sequenzdiagramme für C# -Code generieren, wenn Sie nur ein Mitglied (Methodenname) auswählen; und es scheitert ständig an meinem Platz, wenn ich das selbe für VB-Code tue.

Dies im Gegensatz zu Enterprise Architect von Sparx, das modernste CASE-Tool für UML und andere Modellierungen AFAIK.

Verwandte Themen