【问题标题】:VS2015 Enterprise Reverse Engineer Code to UMLVS2015企业逆向工程代码转UML
【发布时间】:2015-08-14 10:40:26
【问题描述】:

我正在研究 Visual Studio 2015 企业版的各种体系结构功能。一切看起来都不错。

但是,我的代码已经全部编写好,我想从中生成类图。不是项目中的标准添加类图,而是来自 UML 类图。我为此创建了一个建模项目。

我看不到这样做的方法 - 有可能吗?我可以将现有代码逆向工程成漂亮的图表吗?

这是我的解决方案视图:

这是类图设计器:

我可以将项目从解决方案资源管理器拖放到分层图中,但不能使用类。这是我之前做的一个:

我可以从解决方案资源管理器将类拖放到代码图中。将我所有的建模都放在一个项目中会很好。我真的很讨厌将它添加到单个项目中的旧类图表。

这似乎是以前 Ultimate 版本中的一个功能。但是,以下网址没有 2015 年的链接(仅限 2013 年)。

MSDN

更新

我安装了 2013 Ultimate,我们有一个许可证,而且确实所有这些功能都在这个版本中。为什么不是 2015 企业版?我们能否期望微软不再支持此功能并逐步淘汰它?或者是因为 2015 年没有时间,所以会包含在更新中。

【问题讨论】:

    标签: architecture uml visual-studio-2015 class-diagram


    【解决方案1】:

    TLDR;目前,Visual Studio 2015+ 没有计划支持对 UML 类图和 UML 序列图进行逆向工程。

    Visual Studio 2015 为 C# 和 VB 使用全新的编译器(项目 Roslyn),许多与代码交互的功能必须重新设计以支持新的范例。

    同时,我们的遥测数据显示,逆向工程的使用并不多。与客户的对话表明,许多人正在转向更快的发布周期,这意味着图表很快就会过时而无法使用。

    因此,我们决定投资于类图(而不是 UML 的)和代码图。这两个都支持逆向工程。 Code Map 尤其致力于消除许多错误并提高性能和可扩展性,并且是分析架构的首选技术。 Here's 一篇文章,展示了 Code Map 擅长的一些场景。

    也就是说,VS 2013 继续支持这些场景,您可以并排安装它。您可以在 UserVoice 上请求功能 - 已经有一个 request 可以带回序列图逆向工程。

    你打算用逆向工程师做什么?

    【讨论】:

    • 嘿波格丹。我觉得图表很好地概述了应用程序的一端到另一端之间的流程。在我的情况下,我想创建一个序列图来显示为了将一些对象保存到数据库而调用的内容。应用程序中有许多层建立在服务和接口之上。一切都使用了依赖注入(Unity),它在代码中拥有所有的配置映射。在这里很难看出什么叫做什么——尤其是当对别人的代码不熟悉时。我认为图表会有所帮助。
    • 至于标准的类图——我个人觉得在单个项目中拥有类图并不是前进的方向。我更喜欢建筑(uml)项目中的那些。它允许您从各种项目中提取课程并将大局拼凑在一起。我不认为你可以在标准的“插入类图”项目中做到这一点。
    • CodeMap 是一个很棒的工具。将看到它如何与我们的企业级系统相匹配。感谢您的信息
    • 由于此功能适用于包含源 (*.cd) 的项目中的类图。有没有办法将它们放在模型项目中?
    • 拥有“.cd”类图和 UML 类图一直是混乱的根源。它们这样的原因主要是历史性的,但鉴于创建“.cd”类图要容易得多,它们的采用率更高。它们也存在于 VS AFAIK 的所有 SKU 中,而 UML 内容仅存在于 Ultimate / Enterprise 中。因此,我们决定投资 .cd 类图并在 Roslyn 更改后修复“逆向工程”。
    猜你喜欢
    • 1970-01-01
    • 2012-02-06
    • 2019-06-03
    • 2012-07-08
    • 2011-05-26
    • 2023-03-29
    • 2011-01-17
    • 1970-01-01
    • 2011-10-06
    相关资源
    最近更新 更多