讀古今文學網 > 程序員必讀之軟件架構 > 有很多類型的UML工具 >

有很多類型的UML工具

不幸的是,這個問題並不容易回答,因為有很多商業和開源的工具可以幫助你進行軟件架構和設計,這些工具往往會從不同的角度來處理這個問題。它們可以從較高層次歸納如下。

1.只有圖 :有很多獨立的UML工具和針對主流IDE1 的插件,可以讓你畫簡單的UML圖。它們對控制你的圖和圖描述的內容真的很有用,但這樣的圖也很容易隨著時間推移而落後於現實。如果你有使用權,那麼安裝了UML模板的微軟Visio或OmniGraffle都是很好的起點。

1 集成開發環境,Integrated Development Environment。——譯者注

2.逆向工程 :有獨立的UML工具和IDE插件可以從代碼創建UML圖。這非常好,因為你可以快速同步代碼和圖表,但這些圖表往往也會很快變得雜亂,因為它們通常默認包含了所有細節(比如,每一個屬性、方法和關係)。

3.往返工程 :許多逆向工程工具還允許你做往返工程,對模型所做的改變會反映在代碼中,反之亦然。這有助於保持代碼和圖同步。

4.模型驅動 :有幾個模型驅動架構(MDA)的工具,可以讓你從模型自身驅動軟件系統的實現,通常是通過在圖上用可執行UML(xUML)或對像約束語言(OCL)之類的語言標注出所需特性和行為。這些工具可以提供一個完整的端到端的解決方案,但為了從中受益,你需要遵循一個不一樣並且往往是剛性的開發過程。