PowerDesigner 9.5配置指南
2024-07-21 02:07:04
供稿:網友
powerdesigner 9.5
配置指南
powerdesigner 9.5 引入了更多強大功能,便于您根據需要,擴展基本元數據的定義。
使用 powerdesigner 能夠在現有概念的基礎上擴展出新的概念定義,并為此概念添加特有的屬性、約束、符號,并生成代碼。
本文將以一個支持 robustness 結構圖的模塊擴展來詳細說明這一特性。
簡介
robustness 結構圖應用于 collaboration 結構圖中。用戶可使用三類對象:boundary、 control 以及 entity 。這些對象有一個特定的表現形式,并遵循下述規則:
· actor 對象不能直接訪問 control 或 entity 對象,必須以 boundary 對象過渡。
· boundary 對象之間不能彼此通信。并且 boundary 對象保留為外部使用 (actor 對象)。
· actor 對象或 boundary 對象不能直接訪問 entity 對象,必須以 control 對象過渡。entity 對象之間禁止相互訪問。
下圖中的文字描述了消息發送的整個過程。
通過以下的 robustness 結構圖擴展配置指南,我們將向您展示 powerdesigner 的這一特點。
robustness 配置 : 對象擴展
我們所要實施的三類對象(boundary、actor、以及 entity)將由特定的 uml 對象原型來管理。
在配置文件定義(擴展模塊定義)中,元類(metaclasses)樹狀圖顯示了 uml 對象元類下的三種原型。
每一種都定義了自己獨特的符號,來代表被請求的表單,在這里,還可以使用預定義的表單、位圖、或元文件(metafile)。
同時,每一類原型都有一個自定義的工具面板,以便快捷高效的訪問新創建的概念。
robustness 配置 : 鏈接檢查
由于對對象的嚴格定義和控制,某些對象間是禁止鏈接的。
我們僅以第一個規則(即 actor 對象不能直接訪問 control 或 entity 對象)的實施為例來進一步說明。
在配置文件中,定義了快速鏈接(instance link)元類約束,從而確保了如果 actor 對象出現在一端,則 control 對象或 entity 對象一定不會出現在另一端。該約束以 vbscript 編寫。當用戶運行約束模塊時,vbscript 代碼將針對每一個屬于相應元類的對象而執行,此處即為快速鏈接。
任何一個鏈接,如果其源對象為 actor ,同時目標對象為 boundary ,則檢查失敗,另外,對保留對象的測試也會失敗。
下圖中簡短的 vbscript 代碼,能夠確保用戶執行所需的檢查。在擴展模塊定義的元類樹狀圖中可以看到這段代碼。
robustness 配置: 生成文本
最后需要說明的,就是針對每一個結構圖生成的文本,它被用來驗證所交換消息的有效性。配置文件使用模板生成語言(gtl)來生成基于模塊數據的文本。
gtl 的功能包括:通過 powerdesigner 模塊瀏覽所有集合和對象、測試某些屬性、以及在需要時,生成結果文本。
下圖中的 gtl 代碼具有瀏覽結構圖符號集合的功能。如果為消息符號,則另一個針對該消息定義的 gtl 模板將做為結果返回。
最后這部分代碼將基于消息的控制和嚴格定義生成結果句。
最終結果可以在模塊或擴展生成的代碼預覽中看到,以下為生成文本舉例:
<<collaboration scenario collaborationdiagram_1:
1) actor 'customer' sends message "stock value query" to object 'internet browser'
2) object 'internet browser' sends message "ask value to app server" to object 'application server'
3) object 'application server' sends message "ask value to db" to object 'database server'
4) object 'database server' sends message "return value from db" to object 'application server'
5) object 'application server' sends message "return value from app server" to object 'internet browser'
6) object 'internet browser' sends message "return value" to actor 'customer'>>
結論
有了這一強大特性,我們能夠為 robustness 結構圖方法提供全面的支持,擴展了對象的概念,并基于新的概念添加了新的符號和約束,尤其是特定的文字生成。
powerdesigner 使您可以根據需要,快捷的對任何概念的元模型(包括 entity、table、column、process、component等)進行擴展。
馬上行動,率先感受新的震撼吧!