2010-10-27 56 views
2

我们有一个非常大的应用程序,这个应用程序专门由单个开发人员设计,他们不太愿意将太多的信息放在一起。适用于大型应用程序的UML建模工具

我们想用UML工具,教育目的,以便其他人可以开始学习,并采取代码的所有权,但与大的代码库,它可能很难找出它是如何工作。

我的问题是:

  1. 你会如何在一个复杂的框架教育别人?
  2. UML会受益吗?
  3. .NET应用程序有哪些UML工具?
  4. UML工具能够自动生成序列图吗?至少这会给出关于对象如何交互的更多信息?

提供的任何信息,将不胜感激。

JD

+0

我可以看到一个应用程序如何可以**大**,并且主要由**单**开发人员创建。 – 2010-10-27 12:32:41

回答

3
  1. 没有一个单一的答案。图表可以帮助整体结构。编写单元测试对于理解它的工作原理非常具有启发性,并为后续进化提供了额外的奖励。最后,只需阅读代码。
  2. 它可以做。类图对理解静态结构非常有用。具体形象化类之间的关系 - 对我来说,他们是“秘密酱油”。序列图和活动图对理解行为很有用。
  3. Visual Studio中内置了(终极版?),它可以自动生成类和序列图UML工具。
  4. 见上文。

总体来说没有灵丹妙药。让你的头脑围绕你不熟悉的大量代码需要时间。我会考虑开发人员知道它的“消除不情愿”的选项。让他(她)运行一系列的辅导课,然后再通过框架的每个元素,这将会非常有益。最重要的是,他(她)就可以解释为什么一定事情,因为它们是 - 它可以是非常有价值的。没有工具会给你。

心连心。

+0

谢谢大家。我现在正在和Altova UModel一起工作,但所有要点都是在UML,单元测试(我一直坚持的),内联编码和希望的一些辅导课程将有助于分享知识。 – 2010-10-28 11:51:40

2
  1. 文档。通过使用和示例创建内联文档和整体文档。这可能是其他人深入了解框架的最佳方式;
  2. 也许;取决于你如何使用该工具。文档可能会帮助更多;
  3. 我们正在使用Enterprise Architect,相对成功;
  4. 其中一些可以,是的。这真的取决于您期望生成的内容。
1
  1. 你会怎么去教育他人在一个复杂的框架?

一个包或一次层或模块。如果分解有助于创建应用程序,那么它可以帮助学习。

  1. 将UML中受益?

也许吧。复杂的图表可能没有多大好处。通过图形演示为您提供想法,找到最佳点。

  1. 什么是.net应用程序的UML工具?

他们。 UML是框架不可知的。大多数支持Java EE和.NET。

  1. UML工具是否可以自动生成序列图,至少可以给出关于对象如何交互的更多信息?

Sparx Enterprise Architect可以。

+0

Hi Duffymo,我已经下载了Sparx Enterprise Architect试用版,但除了导入生成类图的模块之外,如何查看生成的序列图(这是针对.net C#二进制文件的)? – 2010-10-28 09:26:26

+0

他们不自动来。您必须实际浏览CLR中运行的代码。我没有在我面前,所以我不能通过它。看看他们的帮助 - 这并不坏。 – duffymo 2010-10-28 10:12:47

1

1 )你将如何去教育他人在一个复杂的 框架?

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

2) UML会受益吗?

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

3)是什么UML工具有.net的应用程序吗?

答:我不能比UMLet其他任何讲话。是的,这是一个Java工具,但它有一个独立的版本。这使得创建图表相当容易。我用它代替白板来进行设计实验。但是,这个工具需要你手动创建一切,这不是我认为你想要的。我做了一些搜索,碰到了StartUML,这是开源的。它似乎能够从C#代码生成UML。

4)可以UML工具自动生成序列图和至少这个 会给如何 对象交互的更多信息?

答:其他人所说的在VS2010旗舰关于序列图的工具和其他程序。但是,如果您没有该版本的IDE(或者希望提及其他程序),VS2008 PRO至少可以为您生成类图,并显示它们之间的关系。如果你确实有VS2010的终极版,那么here就是一篇关于它的文章。

1

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

相关问题