【发布时间】:2010-12-15 10:14:02
【问题描述】:
如果有用于逆向工程我的 C# 应用程序的好工具,你能告诉我吗?我需要我编写的软件的 UML 类图,我不想自己画这些图。我已经测试过 StarUML,但它不起作用,因为我使用了泛型。
如果有一些建议会很棒。
您好, 马丁
【问题讨论】:
标签: c# uml reverse-engineering modeling
如果有用于逆向工程我的 C# 应用程序的好工具,你能告诉我吗?我需要我编写的软件的 UML 类图,我不想自己画这些图。我已经测试过 StarUML,但它不起作用,因为我使用了泛型。
如果有一些建议会很棒。
您好, 马丁
【问题讨论】:
标签: c# uml reverse-engineering modeling
巧合的是,一位同事与一些 MS 人员就 Visual Studio 2010 团队基础服务器进行了一次会议。他们告诉他,它能够对您的程序集进行逆向工程并生成 UML 图。快速浏览 MSDN (link text) 似乎部分证实了这一点。它没有说 UML,但它确认可以派生架构图,并且可以在编译时验证您的代码。但它显然还没有上市,而且我相信它的价格会很高。
【讨论】:
【讨论】:
Sparx enterprise architect 很好。我在工作中使用它。
【讨论】:
ILSpy 看起来很像 Reflector。
http://wiki.sharpdevelop.net/ILSpy.ashx
我用过很多次,非常好用。
还有dotPeek(Resharper的创造者)
http://www.jetbrains.com/decompiler/index.html?topDP
它们都是免费的:D
【讨论】:
NDepend 工具肯定是您正在寻找的C# code reverse engineering。 NDepend 带有一个 dependency graph 和一个依赖矩阵。借助免费试用版,您可以直接在您的代码上尝试 NDepend。一张图片胜过千言万语,请参阅从这篇博文中提取的 NDepend 截图:Interactive Code Dependencies Graph
【讨论】:
Visual Studio 2010 Ultimate 支持 UML 类图以及序列、组件、用例和活动图。它还支持从代码创建序列、依赖图和层图。关于从代码生成 UML 图的问题,在 VS 架构和建模工具论坛中有回复:Is it possible to reverse engineer C# code into an UML Class Diagram?
其他工具包括架构资源管理器,可让您浏览和探索您的解决方案。
有关详细信息,请参阅以下链接:
要下载 RC 版本,请访问:Microsoft Visual Studio 2010 Ultimate RC
要查看 RC 文档,请参阅 Modeling the Application。
要讨论这些工具,请访问Visual Studio 2010 Architectural Discovery & Modeling Tools 论坛。
【讨论】: