2010-09-15 153 views
2

我的教授要求我们为下一个作业生成UML。我们正在使用Visual Studio 2010进行C++编程。我试图去处理它,但我无法弄清楚,我去了Architecture-> Windows - > UML Model Explorer,但不明白下一步要去哪里。 UML生成器是否会自动创建UML,或者只是给出一堆框来填充关于类和对象的所有信息(手动)?Visual Studio 2010中的UML图生成器

+2

我想你只需要在Project Explorer中右键单击你的项目,然后点击View Class Diagram菜单选项。无论如何,这就是C#的工作原理。 – 2010-09-15 15:39:09

+0

所以类图是UML? – Cool 2010-09-15 15:57:35

+2

很明显,类图与UML图不一样。 – Cool 2010-09-16 12:37:02

回答

4

您的问题让我困惑,特别是当您提到使用Visual Basic 2010 for C++时。我假设你的意思是视觉工作室 2010.

至于做UML ......你使用的是Visual Studio Ultimate吗?如果是这样,您可以在Visual Studio中创建一些 UML图,但不支持从现有代码反向工程UML;您必须手动生成UML图。

应该做什么生成的UML 之前你的代码,然后代码针对你建立的模型。但是,这是你希望随着时间学习的东西。

这就是说...... Visual Studio的所有版本都有一个称为“类图”的特性,它与代码紧密耦合并传播数据 - 修改图将修改代码,反之亦然。应该强调一个VS类图是而不是完全是UML,虽然看起来很相似。另外,C++的Class Diagram对我不起作用,但是,如果你使用C++/CLI而不是VB.NET,我不知道你会从中得到多少里程。如果您使用的是本机C++,那么它将无法工作。

最终,你最好的选择是手工完成UML。如果你有Visual Studio的UML工具,可以使用它们,但它们并不是市场上最好的UML工具。为此,我推荐使用Visual Paradigm for UML,它有一个免费版本,它为图表添加了水印,并且还提供了一个Visual Studio插件。

+0

对不起,让我感到困惑和感谢您的建议,我会考虑。 – Cool 2010-09-15 15:58:38

0

下载StarUML。这是在那里更好的恕我直言之一。还有DIA,ArgoUML和Eclipse(带有一些插件)。后两者通常迫使你做到完全正确,几乎没有人真正知道该怎么做(包括我自己)。前两个让你画出该死的图。

4

Visual Studio 2010中,无论哪个版本,可以NOT,我重复,可以NOT生成C++代码UML类图。任何人谁声称这一点,并没有尝试过:d 在这里看到:http://social.msdn.microsoft.com/Forums/en-US/vsarch/thread/2c16410e-9986-49b2-a07c-882b1e5e2b3c

的Visual Studio 2010(也专业版及以后)可以产生“类图”,但不UML类图。相反,他们称之为“类图”的格式对我而言仍然是未知的。它看起来类似于UML图,但它确实不是。要获得这些图表,只需右键单击一个项目,选择“显示类图”并等待它出现(这对我来说也适用于C++项目,但我看到其他人报告说它不适用于他们... 不知道)。这些图的大降,一边是

  • ,你必须手动打开关联到其他类进协会,箭头(通过右键单击成员变量,并在列表中选择第一项)
  • 这转换是不可能的,如果你有一个MSVS解决方案,包括若干个子项目,并已生成图包含有关联,应该是在一个不同子项目类的类

然而, C#你应该能够在你的解决方案中生成一个新的建模项目,在其中创建一个空的UML类图,然后将任何类的任何类从任何项目拖入该类图(尽管如此还没有测试过)。对此的要求至少要具有MSVS 2010 Ultimate版本,并且具有MSVS Feature Pack 2(根据我的理解,这包括Feature Pack(1)以及可视化和建模工具)。

对于C++,使用此功能包2时,可以创建依赖关系图,显示.cpp和.hpp文件之间的依赖关系箭头,这也非常有用!请参阅http://msdn.microsoft.com/library/ff657798.aspx

0

有点迟,因为我可以在搜索其他内容的同时回答问题。

正如您已经阅读过的,Visual Studio不会创建UML图,它会创建类图,初看起来外观类似,但它们不会建模依赖关系或任何其他关系,如聚合,合成,专业化或泛化。

如果您想创建实际的UML图,请使用前面提到的StarUML(免费),Visual Paradigm(社区版,或支付给prof prof'),或者如果您是学生并且可以通过Dreamspark免费获得或者现在他们称之为的任何东西),你可以尝试Microsoft Visio,它是一个独立的UML编辑器,它可以从任何MS Visual Studio支持的语言中生成代码。

意见因人而异,所以最好的建议是自己调查一下,最好(如果你打算专业编程),熟悉它们。

相关问题