1. 程式人生 > >UML---之StarUML使用

UML---之StarUML使用

sourceforge上的主頁: http://sourceforge.net/projects/staruml/

 

sourceforge工程是用Delphi寫的, 對非Delphi程式設計師來說, 編譯不便,要下載一堆開發環境.

http://staruml.sourceforge.net/en/development-setting.php

 

sourceforge上的主頁上只提供了原始碼工程下載, 沒有安裝版下載.

最新的安裝版下載點是2006年的, http://sourceforge.net/projects/staruml/files/staruml/5.0/

http://cdnetworks-kr-2.dl.sourceforge.net/project/staruml/staruml/5.0/staruml-5.0-with-cm.exe

 

安裝之後,實驗了效果, 不是很漂亮, 和Rose差不多. 但是對c++工程的正向和反向支援的很好, 這才是用UML工具的真正目的.

startUML安裝程式和幫助檔案做的很好.

UML雙向操作的選單:

正向後的程式碼:

選擇設計模式, 對程式碼進行優化設計:

設計模式中包含經典設計模式:

感覺比rose2003好用, 主要還是免費的, 支援UML2.0(最新的標準是UML2.3).

 

現在需要拿一個實際工程來開刀, 按照正式開發中的需求來驗證starUML的雙向.

最理想的狀態是避開IDE的差別, 只針對c++的實現檔案.

 

要對遺留的工程寫詳細設計文件(或研究修改開源工程)時, 進行UML反向能極大的提高工作效率.

 

<2011_0315>

對一個實際的工程<基於xerces-c2.8操作的XML業務層DLL>進行初步逆向, 分析調整逆向結果, 再正向到實際工程中.

 

如果從頭設計的話, 應該是:

* 確定軟體需求

* 建立工程框架, 逆向成UML模型

* D1: 在UML中修改設計, 正向到工程

* D2: 在工程中修改設計, 逆向到UML模型

* 如此反覆上面D1和D2, 完成詳細設計.

 

先逆向此DLL的測試程式testLsXmlParserDll, 可以驗證使用元件時, 隱藏元件資訊的實用性。

對於呼叫者來說,只要元件是正確的(當作第三方的實現, 如果元件不正確,修改升級也是在元件內進行),

不關心元件實現,只關注自己負責的實現和元件提供的介面定義.

StartUML的UML正向反向實驗結論:

* StarUML與c++編譯器和IDE都無關, 逆向時只針對.h.

* 適合與反向, 任何的更改都從c++工程本身開始, 然後逆向到UML. 適用與補充設計文件和預研陌生的工程.

* 正向有問題, 更改後的UML生成檔案時, 檔案的目錄可以指定到工程目錄, 但是檔名稱不能指定。導致生成的檔案.h和.cpp與原工程的類檔案不同名, 需要手工合併. 如果UML變化較大, 手工合併會很不便.
--------------------- 
作者:lostspeed 
來源:CSDN 
原文:https://blog.csdn.net/lostspeed/article/details/6248153 
版權宣告:本文為博主原創文章,轉載請附上博文連結!