標籤:fan view log cli too 顯示 安裝 反向工程 structure
最近重溫了幾個設計模式,看到大家的部落格裡面都是Java代碼+UML視圖,UML表達整體架構,然後再秀出具體的代碼,點面結合、一目瞭然。所以也研究了一下Java代碼與UML模型相互轉換方法。
一、常用的UML建模工具
- 三大建模工具可以參考:UML建模工具Visio 、Rational Rose、PowerDesign的比較
- 三者都能非常好的支援UML的建模,由於和Eclipse或者IDEA等代碼IDE整合不太方便或者不可行,所以沒有深入研究
二、Java、UML建模與反向工具推薦
- 十二個開源UML工具推薦:http://developer.51cto.com/art/200911/161814.htm
- 6 個 Java 項目的 UML 反向工程工具:https://www.oschina.net/news/32803/6-java-to-uml-tools
- 開源UML工具推薦:https://www.cnblogs.com/tk55/p/6194141.html
- 各種工具,說的天花亂墜,實際在Eclipse外掛程式中根本安裝不了或者安裝完成之後各種使用不了,吐槽一下Eclipse外掛程式管理的混亂。
- 折騰了幾天之後,發現Papyrus、ObjectAid這兩個Eclipse外掛程式的效果還可以,基本可以滿足需求。
三、Papyrus使用
- 安裝參考:
https://www.eclipse.org/papyrus/download.html
https://www.eclipse.org/papyrus/downloads/index.php
http://www.eclipse.org/downloads/download.php?file=/modeling/mdt/papyrus/downloads/drops/3.3.0/R201803070505/Papyrus-Update-3.3.0.zip&protocol=http
http://www.eclipse.org/downloads/download.php?file=/modeling/mdt/papyrus/downloads/drops/1.0.2/R201502180839/Papyrus-Update-1.0.2.zip&protocol=http
https://wiki.eclipse.org/Papyrus_User_Guide#Create_a_new_Model
http://wiki.eclipse.org/Java_reverse_engineering
http://wiki.eclipse.org/Java_Code_Generation
- Java反向產生的UML樣本:
- 只能顯示基本的介面實現關係,有點失望。但是這個工具建模能力,模型產生Java代碼的能力很強。還是很推薦的!!!
四、ObjectAid使用
- ObjectAid主要用於Java代碼反向UML
- 安裝參考:
49105375
http://www.objectaid.com/ 比較好用,進階功能需要LICENSE,如:匯出圖形
https://stackoverflow.com/questions/51786/how-to-generate-uml-diagrams-especially-sequence-diagrams-from-java-code 推薦工具
http://green.sourceforge.net/ 2011年更新
http://plantuml.com/ 國內的,持續更新
http://developer.51cto.com/art/200911/161814.htm
https://www.oschina.net/news/32803/6-java-to-uml-tools
https://www.cnblogs.com/tk55/p/6194141.html
- Java反向產生的UML樣本:
- 相比較Papyrus,反向UML的效果更好,能夠產生稍微隱藏一點兒的關係
- Eclipse裡面,推薦使用Papyrus進行UML建模,使用ObjectAid反向Java代碼到UML
五、IDEA終極版的UML視圖功能
- 該功能只在IDEA Ultimate版本提供,需要付費,只能免費試用
- 安裝參考:
- https://www.jetbrains.com/help/idea/navigating-through-a-diagram-with-the-file-structure-view.html
- https://stackoverflow.com/questions/51786/how-to-generate-uml-diagrams-especially-sequence-diagrams-from-java-code#
- 選中包、目錄、或者Java檔案之後按住Ctrl+Alt+U即可調出Diagram視圖,如下:
- 唉,,,還是商業版本軟體好,效果吊炸天,介面與實現、對象委託等關係全部能夠分析展示出來!!!
【UML】Java代碼與UML模型相互轉換方法