适用于大型应用的UML建模工具

时间:2010-10-27 11:04:04

标签: c# .net uml

我们有一个非常大的应用程序,它由一位开发人员专门设计,他不太愿意提供有关它如何组合在一起的太多信息。

我们正在考虑将UML工具用于教育目的,以便其他人可以开始学习并掌握代码的所有权,但是如果代码库很大,可能很难弄清楚它是如何工作的。

我的问题是:

  1. 你会如何在一个复杂的框架上教育他人?
  2. UML会受益吗?
  3. .net应用程序有哪些UML工具?
  4. UML工具可以自动生成序列图,至少可以提供有关对象如何交互的更多信息吗?
  5. 非常感谢所提供的任何信息。

    JD

6 个答案:

答案 0 :(得分:3)

  1. 没有一个答案。图表可以帮助整体结构。写作单元测试对于理解它的工作方式非常有启发性,并为后续演变提供额外的奖励。最后,请阅读代码。
  2. 它可以做到。类图在理解静态结构时非常有用。特别是可视化课程之间的关系 - 对我来说,他们是“秘密酱”。序列图和活动图对于理解行为很有用。
  3. Visual Studio内置了UML工具(Ultimate edition?),可以自动生成类和序列图。
  4. 见上文。
  5. 总的来说,虽然没有灵丹妙药。了解您不熟悉的大量代码需要花费时间。我会考虑那些知道它的开发人员“消除不情愿”的选项。让他(她)开始一系列的辅导课程,然后他会依次通过框架的每个元素,这将是非常有益的。至关重要的是,他将能够解释为什么某些事情是这样的 - 这可能是非常有价值的。没有工具会给你这个。

    第h

答案 1 :(得分:2)

  1. 文档。使用用法和示例创建内联文档和整体文档。这可能是其他人深入了解框架的最佳方式;
  2. 也许;取决于您如何使用该工具。文档可能会有所帮助;
  3. 我们正在使用Enterprise Architect取得相对成功;
  4. 其中一些可以,是的。这实际上取决于您期望生成的内容。

答案 2 :(得分:1)

  1. 你会如何在一个复杂的框架上教育他人?
  2. 一次一个包或层或模块。如果分解有助于创建应用程序,那么它有助于学习。

    1. UML会受益吗?
    2. 也许。复杂的图表可能没什么好处。找到图形呈现为您提供想法的最佳位置。

      1. .net应用程序有哪些UML工具?
      2. 所有这些。 UML与框架无关。大多数支持Java EE和.NET。

        1. UML工具可以自动生成序列图,至少可以提供有关对象如何交互的更多信息吗?
        2. Sparx Enterprise Architect可以。

答案 3 :(得分:1)

  

1)你会如何在复杂的教育中教育他人?   框架?

答案:我不会过分关注UML细节,因为您的观众可能会迷失方向。我建议看看UML Distilled, Third Edition,因为它会触及您可以使用的最重要的图表,以及如何使用它们。正如其他人所说,单元测试(或代码不支持的集成测试)和内联文档也可能非常有用。

  

2) UML会受益吗?

答案:这取决于受众群体。他们已经知道UML了吗?如果是这样可能会有所帮助。否则,除了类图和用例之外的任何东西都可能要求你做双重任务(教授程序和UML)。

  

3) .net应用程序有哪些UML工具?

答案:除了UMLet之外,我不能发言。是的,它是一个java工具,但它有一个独立版本。它使创建图表变得相当容易。我用它而不是白板来试验设计。但是,此工具需要您手动创建所有内容,这不是我认为您想要的。我做了一些搜索,遇到StartUML,这是开源的。它似乎能够从c#代码生成UML。

  

4) UML工具可以自动生成序列图,至少可以这样   将提供更多关于如何的信息   对象互动?

答案:其他人提到了VS2010 Ultimate中的工具和其他有关序列图的程序。但是如果你没有那个版本的IDE(或者想要提到其他程序),VS2008 PRO至少可以为你生成类图,显示它们是如何相关的。如果您确实拥有VS2010终极版,here就是一篇文章。

答案 4 :(得分:1)

如果代码是由单个开发人员开发的,那么这是一个严重的问题。 您可以尝试撤消整个项目,然后让他在每个包中解释一下战略类和方法。 你也有javadoc,但它没有UML那么完整。

答案 5 :(得分:0)

  • 使用班级图

Visual Studio 2010 Ultimate Edition支持架构和建模。

  • Architecture Explorer
  • 层图和依赖性验证
  • 符合UML 2.0标准的图表(活动,用例,序列,类,组件)

http://www.microsoft.com/visualstudio/en-us/products