HI我只是在我的項目發佈結束。因此,爲了繼續工作,我們的經理要求我們爲我們編寫的代碼生成類圖。它與3500個java文件的中型項目。所以我認爲我們需要生成類圖。首先,我需要知道逆向工程在這裏如何工作。此外,我在谷歌(綠色,紫羅蘭)尋找一些工具,但不知道 是否他們有任何help.Please建議我如何進行。也是一個很好的開始教程表示讚賞。生成類圖
生成類圖
回答
我強烈建議BOUML。它的Java反向支持絕對是ROCK SOLID。
BOUML有許多其他advanteges:
- 這是非常快的(最快 UML工具創建過,簽出benchmarks)
- 具有堅如磐石的C++,JAVA,PHP和其他導入支持,
- 它是多平臺的(Linux,Windows,其他操作系統),
- 有很好的SVG導出支持,這很重要,因爲查看矢量格式的大圖Firefox,非常方便(您可以快速切換「鳥眼」視圖和課程詳細視圖),
- 它功能全面,令人印象深刻,集中發展(看看development history,很難相信如此快速的進展是可能的)。
- 支持插件,具有模塊化的架構(這允許user contributions,貌似BOUML社會形成了)
有一些工具可以幫助您生成這些圖表。這些花錢。
否則,您可以嘗試解析您的Java文件。這可能很簡單,只需創建一個簡單的解析器即可讀取Java文件,並將該類的名稱和所有導入語句寫入文件並從中生成類圖,graphviz可以幫助您。
您可以將此方法與免費的http://yuml.me UML圖生成器結合使用。 對於Powershell類和Ruby on Rails域,人們[已經在執行此操作](http://yuml.me/wildthing)。 既然你有這麼多的課程,你需要將圖表分解成10-50個班級。 – tobinharris 2009-05-31 14:56:48
這是一個比工具更多的工具鏈,我自己也沒有嘗試過。但這也許是一個起點。使用UMLGraph,ant和GraphViz。逐步解釋:in this article。
UML標準版(或更好)的可視化範式將反向工程Java文件到類圖中。
您要使用的工具是Doxygen。它與Javadoc類似,但可以跨多種語言使用。如果找出依賴關係,並且可以調用graphviz來渲染類圖。以下是幾個Java classes run through Doxygen的示例。
WOW。很棒。 – Epaga 2009-12-18 10:42:54
我猜如果你的老闆只是想讓你忙到下一個項目開始,那麼這裏沒有任何壞處,但是你會很快發現用3500個類創建一個類圖會告訴你對你的系統完全沒有關係。事實上,你並不是真的想要一個擁有10個以上類的圖。所以一旦你把所有的代碼都轉換到你的建模工具中,你就需要開始組織和安排來找到它的含義。創建一個新圖,將一個重要的類放到它上面,並引入所有與該類直接相關的類。重複300個最重要的課程。別擔心,它不像聽起來那麼可怕,也許是一週的工作。
爲了記錄,我選擇的建模工具是Enterprise Architect Sparx Systems。它會反轉java源文件或.jar文件。有一個免費的30天試用版。
我同意爲所有課程生成是一件痛苦的工作。這個練習是爲了讓人們保持良好的狀態。:_) – GustyWind 2009-05-27 04:47:53
我已經使用了多年的Enterprise Architect。一位JBoss開發人員向我建議。它適用於所有類型的UML建模,包括類模型(Java,C#和其他)的逆向工程。目前的基本版本是每個座位120美元,但它具有大部分昂貴工具的功能,而且學習起來更容易。我特別喜歡它生成HTML和RTF文檔的能力。
在工具和源代碼之間同步代碼非常容易。即使是雙向的,如果你想。
您的PM也可能喜歡它可以創建的活動和順序圖。我也經常使用部署圖。把所有這些都放在一個工具裏是非常有用的。
您可以反向工程類圖與開源modelleing工具的ArgoUML http://argouml.tigris.org/
ObjectAid是相當不錯的。您可以將課程拖放到圖表中並按照您的要求進行排列。
- 1. 生成UML類圖
- 2. 給ID /類生成圖像
- 3. Java - 自己生成類圖
- 4. 生成服務圖層類
- 5. Jooq爲視圖生成類
- 6. 自動從PHP類生成類圖嗎?
- 7. 生成類
- 8. 生成C#類
- 9. 生成類名?
- 10. 生成C#類
- 11. 在visual studio 2010中生成類圖express
- 12. 生成IPhone應用程序的類圖
- 13. 如何從嵌套地圖生成類
- 14. 如何生成TypeScript UML類圖?
- 15. 生成類圖Eclipse與Android SDK
- 16. 從類圖生成Objectivec C代碼
- 17. 從源代碼生成類圖
- 18. 試圖選擇WordPress生成的Widget類?
- 19. 在VS 2010中生成UML類圖
- 20. JGrapht:使用DirectedSubgraph.java類生成子圖
- 21. 的Graphviz + Doxygen的生成UML類圖
- 22. Visual Studio UML類圖生成器
- 23. 類圖生成的源代碼
- 24. 如何從xcdatamodel生成類圖?
- 25. 從現有的javadoc生成類圖
- 26. 類似js生成空diff圖像
- 27. 如何生成生成器類
- 28. 管理生成器不生成類
- 29. CodeSmith生成器不生成類
- 30. 生成圖表
這很好,而且很容易使用。然而,這些圖很難看。 – 2010-03-27 16:39:26