2010-05-29 88 views
9

我需要爲項目製作一個UML類圖。過去我使用Sparx Enterprise Architect從圖表生成源代碼,所以我使用它。Sparx Enterprise Architect轉換(從源代碼到UML)

的項目已經完成,因此所有的代碼都做,我真的不希望手動編寫所有的類/函數,所以我試圖生成從源代碼的圖,但似乎無法找到一種方法來做到這一點。我在網上搜索和在他們的網站上,但沒有。

任何幫助表示讚賞。

+0

您認爲您通過這樣做增加了什麼價值?我會堅持一個顯示模塊職責的包圖,並使用像doxygen這樣的文件來記錄項目的構建。 – 2010-05-30 10:52:58

+0

我只是做了它,因爲我不得不(事先沒有人告訴我)。我總是用doxygen記錄項目。 – user228938 2010-05-31 16:43:26

+0

我不確定這很有道理; Doxygen可以生成UML風格的類圖。 – Clifford 2011-06-01 22:23:16

回答

6

這就是所謂的「reverse engineering」的代碼輸入到模型中。在模型中後,您可以製作圖表。

+1

逆向工程的概念很好,但現實是不同的!如果仔細查看模型,您會意識到項目中有50%以下的項目已真正映射到模型中。我嘗試了Java反轉,但其他反轉可能會更好。 – 2010-05-30 10:02:18

+0

即使值得,因爲如果您從您的模型生成代碼,然後從您的代碼重新創建模型,您已經失去了70%的初始類圖模型! 問題是模型和代碼生成之間沒有可追溯性。只有EclipseUML Omondo允許此功能,因爲它們具有合併選項。 – 2010-05-31 09:58:33

+1

@ roko-sifredi - 幾年前,我發現Sparx Enterprise Architect使用C#在往返工程中工作良好。 – ChrisW 2010-05-31 10:08:36

10

對於EA企業版的第8版。 打開或創建一個項目。 創建空的類圖。 菜單選擇: 項目 - >源代碼工程 - >導入文件 目錄對話框打開供您選擇文件。

我已經「逆向工程」許多C++項目,大和小。您將花費大量時間進行清理。這將取決於項目的質量,結構和代碼。

然後你就可以生成,我發現非常有用,HTML報告,導航代碼就可以了(項目 - >文件)一個文檔報告。

1

的,你應該先使用逆向工程的選擇,但其他一些網友指出,這是不是從一個EA實力。我過去試過(我認爲是7.3版本),用C,Python和Java Projects來完成它,結果並不總是令人滿意。

我不知道哪種編程語言是你的代碼寫成,但作爲C,如果你使用預處理指令,你將有很多的結果問題和不兼容性。

相關問題