真正進入編碼開發階段后,將加入大量設計時不涉及的類和方法,如果將這些非骨架性的東西Reverse到CASE工具中,反而會使原來清晰的設計變得霧里花,水中月。所以即使編碼時,需要對原分析模型進行調整,一般也是手工去調整設計模型,而不是通過逆向工程去同步,畢竟分析設計是骨架性的,而編碼是血肉性的,兩者有屬性上的區別。如果真的需要頻繁進行的代碼和UML轉換,最好使用類似于Together一樣的工具,它嵌入到IDE中,使代碼和模型轉換方便快捷。
◆文檔導出功能
PowerDesigner對文檔導出提供了精細的控制,你不但可以對文檔所包含的內容項進行設置,還可以對內容項的格式進行設置。如導出的表結構是否包括名稱、數據類型、備注等項目,這些項目在表欄中的寬度占比,顏色,字號等等,不一而足。
PowerDesinger 12.0 還新增了一個多模型文檔整合導出的Milti-Model Report模型,允許你以多個模型作為輸入生成為統一文檔,實現模型設計按階段分開,文檔又統一整合的目的。
由于PowerDesigner文檔導出的設置非常精細,所以要設置好一個文檔導出模式實非不易。有鑒于此,PowerDesinger提供了三種常用的導出模板,用戶也可以自己定義模板。通過模板可以迅速完成設計模型文檔的導出工作。
而Rose沒有導出模板的概念,更不能對導出項和格式進行設置,你只能按Rose的系統內置的方式進行模型文檔的發布。
◆代碼導出
在導出設計模型的代碼時,PowerDesigner提供了精細的控制,不但可以進行對象級別,還可以進行代碼級別的控制(如是否要生成字段備注的代碼,外鍵代碼在表體代碼內聲明還是在表體外部聲明等),而Rose沒有提供代碼導出的控制,也只能按其系統內部設置的方式導出代碼。
圖5:數據庫模型導出設置(PD)
◆生成測試數據
PowerDesigner可為數據表生成批量的測試數據,而且你還可以制定測試數據的生成規則。這個功能給初期項目的開發測試帶來很大的便利。Rose中沒有提供類似的功能。
六、易用性上的比較
6.1、元素顯示屬性調整
Rose調整元素的顯示屬性(如類圖的顯示樣式,方法入參是否顯示等內容)的設置時,新設置僅對新創建的元素起作用,如需調整已有元素的顯示屬性,只得在設計Diagram中,逐一通過右鍵的方式一個個調整,做法有點刀耕火種的味道。 PowerDesigner在這點上顯得很人性化,在調整完元素顯示設置后,PowerDesigner彈出一個窗口,提供三個應用新設置的選擇:
圖6:元素顯示設置調整后應用范圍(PD)
其一,應用到所有元素;其二,應用到當前選擇的元素,其三,應用到新創建的元素。此外,PowerDesigner對每一類元素(如類圖,序列圖,表圖,引用等)的構成項(如表名,字段名,主鍵列,索引列等)均可以提供單獨的顯示屬性設置,比Rose的控制要精細很多。
6.2、Undo操作
Rose的Undo操作只能回退一步,有時甚至連一步都不能回退,假設你不小心刪除了一個精心設計的模型元素,如果不及時Undo,就只得重頭再來了。Rose不給設計者后悔的機會,這種一廂情愿的呆瓜式設計有時真讓人捶胸跺足,所以你在刪除或調整元素時,往往得戰戰兢兢,如履薄冰。相比之下,PowerDesigner則顯得寬宏大量,允許你Undo幾十步,自動地進行工作場景的回溯,所以在PowerDesigner下工作,會比較輕松自如,因為你不用為誤操作而付出代價。
6.3、查詢功能
PowerDesigner的查詢功能比較強大,可以按模型類型,元素類型限定查詢范圍;還可以使用復合條件進行精確搜索。
圖7:高級搜索窗口(PD)
相關文檔:
Rose與PowerDesigner:兩款建模工具的對比(一)
Rose與PowerDesigner:兩款建模工具的對比(二)
Rose與PowerDesigner:兩款建模工具的對比(四)
Rose與PowerDesigner:兩款建模工具的對比(五)
Rose與PowerDesigner:兩款建模工具的對比(六)
原文轉自:http://www.anti-gravitydesign.com