2013-04-09 107 views

回答

5

我不認爲你會處理這個。 Rational Rose等特殊的計算機輔助軟件工程工具將允許您執行此操作,但OmniGraffle實際上只是一個圖形工具。它可以讀取各種格式(比如DOT),但是這只是一個大概。

這樣做的一個原因是恰當的CASE工具不僅僅能夠處理圖形,而且還能夠在您可以創建的結構上表示和實施語義約束。如果您的圖表要創建真實有意義的代碼,則執行很重要。 Omnigraffle並不關心你在文本字段中鍵入的內容,或者你連接到什麼內容。另外,UML是面向對象的,就像C++,Java,C#一樣。如果您在Rational Rose中創建了一個類,那麼顯然它應該在C++/Java/C#中創建一個類。

它在任何情況下都不適用於C,因爲OO不是該語言的特徵。你如何期望它代表一個班級?許多額外的樣板模板代碼將是必需的。

+0

感謝您的解答和程序推薦。 – Lexandr 2013-04-09 09:32:12

4

我認爲this是關於目前OmniGraffle中最好的UML支持,但它顯然只是一個模板,沒有自動分析。

至於實際的UML工具,對於價格最全面最佳值是從Sparx SystemsEnterprise Architect

在複雜性(和價格)譜的另一端,但仍然是一個「真正的」UML圖表工具是WebSequenceDiagrams。這是一個將非常簡潔的描述(純文本)轉換爲漂亮的渲染圖的非常神奇的工具。可用的不同圖表類型數量非常有限,但在這些限制內,它的功能實際上非常令人印象深刻,至少對我而言是如此。由於它包含了交互圖(免費,有一些功能限制),它提供了我認爲是UML最有價值的部分,因爲理解不熟悉(或以前熟悉的)代碼體中的交互通常是最重要和最重要的 - 成功處理該代碼的消耗方面。

0

這是一個很大的工作我猜,但相信你能。我使用腳本從網絡設計中生成材料清單。 這個腳本在AppleScript中是100%,就你而言,你可以編寫一個腳本將基本結構轉儲爲XML或其他格式,然後處理它以生成源代碼,甚至可以使用已存在的工具。