2010-05-03 145 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

好運。