Visual Studio 2012で記述されたC#コードからUML図(シーケンス図、クラス図など)を生成する方法を見つけようとしています。
http://office.Microsoft.com/en-us/visio-help/about-reverse-engineering-code-to-the-uml-HP001208803.aspx にリンクが表示されましたVisual StudioプロジェクトをVisioに取り込みます。
しかし、その最初の部分は、「Visual Studio環境では、リバースエンジニアリングは[プロジェクト]メニューのコマンドからアクティブになります。」 [プロジェクト]メニューにリバースエンジニアリングオプションが見つからないため、機能しません。
Visual Studio 2012で記述されたC#コードからVisio 2010にUML図を生成するにはどうすればよいですか?
マイクロソフトは、Visioをソフトウェアエンジニアリングツールとは見なしなくなりました。 Visual Studioとの統合を備えた「Visio for Enterprise Architects」というバージョンがありました。 Visual Studioの最上位エディションで利用可能でした。
それは2003年だったかもしれませんが、Visual Studio 2005で最後にサポートされたと思います。
Visual Studio Ultimateに、Visioに依存しない独自の組み込みUML機能が追加されました。
過去からの爆風。 UMLに何かをリバースエンジニアリングして久しいので、私の知識は古くなっているかもしれません。いずれにせよ、私が覚えている限り、Visioを使用したコードリバースエンジニアリングは、Visual Studioの機能ではなく、Visioの機能です。
Visioリバースエンジニアリングを使用するには、Visio UMLアドインがインストールされていることを確認する必要があります(Professional以上のバージョンのVisioで使用できるはずですが、デフォルトではインストールされていない場合があります)。
ここ は、古いバージョンのVisioとVisual Studioのプロセスを少し古いものにしたものです。プロセスはそれほど変わっていないと思います(もちろん、サポートされる言語は変わっています)。
いずれの場合も、Visio for UMLは好きではありませんでした(実際、Visioは好きではなかったと言われています。)モデリングでは Sparx Systemのエンタープライズアーキテクト が好きでした。 2.0。彼らの現在のバージョンが新しい機能にどのように対応しているかはわかりません。また、「一から」のモデリング環境の方が好きです。
最後に、UMLはプログラミング言語ではなくモデリングであることに注意してください。つまりソリューションの全体的なアーキテクチャをより簡単に理解できるように、高レベルの設計を伝えることを目的としています。また、主要な動的相互作用をモデル化するため、モデル化された問題に対して実装または提案されたソリューションをより簡単に理解できます。
リバースエンジニアリングされたUML図は、情報が多すぎて役に立たないことが多く、特定の言語の正確なセマンティクスをUMLに変換するのは困難です。最初から図を作成した方がよい場合があります。展開図とパッケージ図以外に、UML図は、開発されたままの表現ではなく、高レベルの概要または特定の高レベルの動的相互作用表現を表すことを理解する必要があります。
Visual Studio Ultimate 2012では、メンバー(メソッド名)を選択するだけで、C#コードの非常に素晴らしいシーケンス図を生成できます。 VBコードで同じことを行うと、私の場所で常に失敗します。
これはSparxのEnterprise Architectとは対照的です。これは、UMLおよびその他のモデリングAFAIK向けの最も先進的なCASEツールです。
これは、使用している製品のバージョンによって異なります。 Visual Studio Professional 2012を使用していますが、このオプションが表示されません。 product features を見ると、これは理にかなっています。ただし、 Visual Studio 2012 Ultimateの製品機能 を見ると、UMLモデリングやその他のさまざまな視覚化ツールが表示されます。
Visual Studio 2012用に開発されていない Feature Pack を使用することにより、このUML生成にVisual Studio 2010の非アルティメットバージョンが許可されました。ドミニクが述べたように(彼は私を打ち負かしました)、 Visual Studio 2012 Ultimate でもこれは可能です。