2010-05-03 32 views
9

我想知道您在C/C++中使用什么来绘制不同实体之间的关系。这可能是一个非常广泛的问题,所以我会试着澄清一点我的问题并举一个例子。用于绘制C/C++结构体,指针等的快速绘制工具

我正在寻找一些足够简单的用户,并让我以非正式的方式轻松地绘制容器,指针等等。 目的是记录一些结构关系,将它们传递给初级开发人员。看图纸应该会加快对代码的理解。

我在这一刻的解决方案是使用方法:

1)纸&铅笔。 2)Microsoft PowerPoint/Word Autoshapes。 3)免费Dia。

其他节点可能是:

4)的Microsoft Visio,但我公司不拥有许可证。 5)UML工具。我不想这样。这就是我的意思,是一个更正式的解决方案。 我知道像Rational Rose这样的工具是xxx,我尝试过boUML和violet,并且它们在某些部分很好,但我更喜欢选项1),2)或3)的灵活性。

最后,让我写下一个更具体的例子:

比方说,我该怎么绘制一个地图包含其他地图作为映射值,以及一个包含结构作为映射值,即持有一个类型的指针向量和一个指向其他类型的指针。此外,还有其他一些结构指向前一个地图指向的对象,所以存在不同地方指向的对象。

这只是我有的一个例子,但您可以轻松地与您一起体验。

你会用什么来勾画这个例子或者你已经处理过的其他类似的东西?

此致敬礼, 托马斯。

+6

在我不那么谦虚的意见中,Rational Rose是一个可怕的软件,我不认为我会再次使用它,即使我的事业依赖于它。 – 2010-05-03 15:57:49

+0

好吧,我很久以前用过它,我记得它非常有问题。 我想现在它会有所改进。我认为,这是某种行业标准,但我不使用它。 我试过用boUML逆向工程C++,并且我可以获得不同项目设计的相当好的照片。 – nephewtom 2010-05-04 15:03:39

回答

2

Visio非常适合快速创建这些类型的插图/图表。我建议至少试着让你的公司购买许可证。

如果Visio确实不适合您,下一步可能会考虑Open Source alternatives to Visio

1

我会用graphviz,但是既然你说“对于用户而言足够简单的东西”,dia可能是更好的选择。

0

我已使用ArgoUML,但您必须决定它是否足够简单以满足您的想法。

2

我有两件事我使用。

  1. 我的白板。为了快速绘制图表,白板非常难以胜任。
  2. UMLPad。它很小,因此它没有大量无关的特性需要处理,它是针对UML图的,而且是GPL。
0

为了完整起见:还有StarUML,这是(windows)免费软件,让我们来快速创建uml-diagrams。

1

对于设计问题,涉及一个良好的许多人的想法,我们使用“后,它的设计”。这个想法很简单:

  • 选择一个白板
  • 表示实体作为后它(名字+一些评论)
  • 画在白板上的关系,移动后的四周,需要

而且当你做了什么?对于perenity通过电子邮件发送给个人整件事照片参与:)

它可能看起来手工,但它确实让我想起了本文设计方法的GUI。

+0

@Matthieu:这非常适合头脑风暴会议 - 强烈推荐。 – 2010-05-03 19:01:35

0
  • Visual Paradigm UML社区版是免费的,是不够好素描
  • 开放式办公画出你最想做的事情太多
0

如果您有现有的代码库,你希望有一个什么样的作品开发人员要理解(这听起来像你正试图帮助初级开发者加快速度)为什么不通过doxygen

有了各种输出类型和绘制类层次结构的能力,它确实是一个有用的l工具。像html输出这样的附加好处是你不必将所有东西都塞进有限的空间,因为所有的关系都是超链接的。用户可以浏览源文件 - 类型-level - 而不必担心细节。

1

我喜欢yuml是一个非常简单的方法来创建图表,也保持这种非正式的样子。并没有真正的绘图需要:)

+0

UML东西的好工具。 – nephewtom 2010-05-12 09:55:03

0

您指定,您不只是使用U.M.L.,大多数的工具,这几天是针对特定U.M.L.,你可能想寻找一个通用的绘图工具。

在某些项目中,有时我会使用Open Office Draw,因为公司不允许我使用其他软件(公司不会支付费用),它类似于Power Point或缩减版,简化版本Corel绘图的:

http://www.openoffice.org/

在其他情况下,我也尝试商业和开源应用程序,但是,不喜欢它。

在家里,我使用(付费软件):

http://www.novagraph.com/

与开放式办公室一起画。

这些之一,它也不错(付费软件):

http://www.smartdraw.com

好运。