如何从Visual Studio 2012中编写的C#代码生成UML图表到Visio 2010?

Car*_*ven 13 c# uml visio reverse-engineering visual-studio-2012

我试图找到一种方法来从我在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#代码生成UML图表到Visio 2010?

Joh*_*ers 12

Microsoft不再将Visio视为软件工程工具.有一个称为"Visio for Enterprise Architects"的版本,它与Visual Studio集成.它与Visual Studio的最高版本一起提供.

我相信它最后一次支持Visual Studio 2005,尽管可能是2003年.

Visual Studio Ultimate现在有自己的内置UML功能,不依赖于Visio.


Eli*_*nti 5

从过去爆炸.已经有一段时间了,因为我已经将任何东西反转为UML,所以我的知识可能已经过时了.无论如何,据我所知,使用Visio的代码逆向工程是Visio功能而不是Visual Studio功能,认为某些版本的Visual Studio具有自己的建模功能.

为了使用Visio逆向工程,您需要确保安装了Visio UML插件(它应该在专业版和以上版本的Visio中可用,但默认情况下可能不会安装.)

对于旧版本的Visio和Visual Studio,是一个相当古老的过程.我不认为这个过程发生了太大变化(尽管显然支持的语言发生了变化.)

在任何情况下我都不喜欢Visio for UML(事实上,我从不喜欢Visio.)我更喜欢Sparx System的Enterprise Architect进行建模,当我在.Net 2.0上使用它时,它们的逆向工程非常好.我不知道他们当前版本如何应对新功能.我也喜欢他们的"从头开始"建模环境更好.

最后请记住,UML应该是一种建模而不是一种编程语言.即它旨在传达高级设计,以便更容易理解解决方案的整体架构; 或者再次建模关键动态交互,因此可以更容易地理解已建模或提出的建模问题的解决方案.

反向工程UML图通常有太多信息使它们无用,并且在任何情况下都难以将特定语言的精确语义转换为UML.您可能最好从头开始创建图表.除了部署和包图之外,应该理解UML图表示高级概述或特定高级动态交互表示,而不是开发表示.