天天看點

PowerDesigner 在MDA 領域的應用 - 第3頁 | IT168PowerDesigner 在MDA 領域的應用

PowerDesigner 在MDA 領域的應用

4. 案例示範

在這個案例中,我們将結合訂單購物的案例,來詳細分析,如何基于PD強大的企業模組化開發平台來實作模型驅動的開發(Model-driven development)。

案例場景:

小王是項目經理,今接到訂單購物的項目,于是小王召開大會,邀客戶、老總以及開發人員讨論子產品功能點和用例。

4.1 需求管理—良好的開端是成功的一半

大會完畢,接下來,小王就開始用PD的需求模型,細分項目的子產品以及每個子產品的裡程碑等資訊,如圖:

PowerDesigner 在MDA 領域的應用 - 第3頁 | IT168PowerDesigner 在MDA 領域的應用

在PD中,使用者也可以通過擴充模型來定制Priority、Workload以及Risk中的資訊值,如圖:

PowerDesigner 在MDA 領域的應用 - 第3頁 | IT168PowerDesigner 在MDA 領域的應用

除了定制裡程碑,小王還陸續定制了“可跟蹤的矩陣圖”、“使用者配置設定矩陣圖”,以輔助跟蹤項目進度。

小王的劃分完畢之後,就可以通過PD知識庫簽入到管理該項目模型的伺服器進行統一管理。(PD知識庫的使用方法不在本文中,您可以參考PD的相關文章)

4.2 PIM模型—與平台無關的強大分析,更關注邏輯

架構師小張,被通知需求管理模型已被設計好,需要簽出以分析具體與平台無關的業務邏輯。PD支援從需求模型中轉換成任何的圖結構,并保留需求文檔中的全部資訊,同樣逆向工程至需求模型也是如此友善輕巧。于是,根據需求,小張将項目經理劃分的子產品轉換成了業務邏輯,(選擇Requirement?Export Requirements as Designed Objects)如圖:

PowerDesigner 在MDA 領域的應用 - 第3頁 | IT168PowerDesigner 在MDA 領域的應用

然後,小張根據客戶需求設計出如下的業務邏輯圖,如圖,同時簽入PD知識庫,供組員參考,并提意見。小張根據組員的意見重新修改業務邏輯,PD也會自動将業務邏輯中的變化更改回需求模型。

PowerDesigner 在MDA 領域的應用 - 第3頁 | IT168PowerDesigner 在MDA 領域的應用

4.3 PSM—工欲善其事,必先利其器。

PD提供的強大的模型轉換利器,極大友善了架構師小張的工作,即根據需求,小張快速生成了客戶要求的相關語言,雖說PD的自動定制有些不滿足客戶需求,但沒有關系,因為MDA理念就是,模型完全可以後期定制,甚至是模型的轉換規則也能修改。PD完全支援了這一點。

從PIM模型(Analysis Model)轉換成PSM模型,隻需要在Tools菜單下選擇Generate Business Process Diagram, 在彈出的BPM Generation Options的Detail頁籤中點選Enable transformations進行PIM到PSM的轉換。您可以切換到General頁籤處,選擇與語言有關的擴充模型來轉換PIM,這裡,由于客戶需求,小張選擇了Sybase Unwired Orchestrator 4.3,即在語言級上的模型轉換功能,這樣PD就可以自動将PIM轉換為PSM,如圖,當然這是PD預設轉換規則,您也可以自定義擴充模型,并在擴充模型中定制轉換規則,需要說明的是,若您要用擴充模型的轉換規則,首先要在Detail頁籤處點選Enable transformations按鈕,使其處于選中狀态。

PowerDesigner 在MDA 領域的應用 - 第3頁 | IT168PowerDesigner 在MDA 領域的應用
PowerDesigner 在MDA 領域的應用 - 第3頁 | IT168PowerDesigner 在MDA 領域的應用

對于客戶的要求,顯然,仍然有些不符合轉換要求,是以小張采用了自定義的模型轉換功能。

PD 支援在語言模型和擴充模型上進行模型轉換規則的自定義。例如,小張不想PD每次将Process的類型轉換為undefined,而是定制一個相關的初始類型,同時替換現有的圖示和部分程式代碼。為了今後的開發重用、減少開發成本以及能更好的結合現有的開發架構,于是,小張開始了他的定制之旅。

4.3.1 擴充PD元模型,定制類别:

打開Sybase語言模型,并切換至Process元模型,添加新的Sterotype,取名為MyProcessDefined,然後在該模型下添加自定義圖示(Custom Symbol),點選右下角的Modified來修改Symbol格式。PD也支援貼圖(bmp,jpg,ico等),如圖。

PowerDesigner 在MDA 領域的應用 - 第3頁 | IT168PowerDesigner 在MDA 領域的應用

在MyProcessDefined節點下添加Transformation,在如圖的視窗中編寫轉換規則,該規則采用了VB的編寫文法,簡單易懂,而且能夠非常友善的操控PD的元模型,以達到自定義的效果。定義完模型轉換規則後,就可以在Transformation Profiles處挂接該Transformation,并選擇是在哪個不同時刻的轉換插入點:Pre-generation(轉換前執行腳本)以及Post-generation(轉換後執行腳本),如圖 13,生成效果如圖 14。

PowerDesigner 在MDA 領域的應用 - 第3頁 | IT168PowerDesigner 在MDA 領域的應用
PowerDesigner 在MDA 領域的應用 - 第3頁 | IT168PowerDesigner 在MDA 領域的應用
PowerDesigner 在MDA 領域的應用 - 第3頁 | IT168PowerDesigner 在MDA 領域的應用

4.3.2定制該類别的生成檔案:

由于客戶要求為每個Process生成一個相關的幫助檔案,于是,小張采用了PD提供的代碼生成功能(Code Generator)。PD會根據具體的PSM模型以及代碼模版,在正确的目錄位置下生成不同的檔案資訊。

操作方法:MyProcessDefined節點下建立Generated Files,在生成的Template處添加相關的語言模版,此處PD提供強大的GTL模版定義語言,您可以點選 按鈕來尋求指導。FileName處需要填寫生成的帶有相對目錄的檔案名,也可以引用模版,并在該模版内定義檔案名的生成情況。

PowerDesigner 在MDA 領域的應用 - 第3頁 | IT168PowerDesigner 在MDA 領域的應用

這樣,就在Process元模型處定義好了檔案生成的模版,PD會根據該模版生成不同的檔案,您也可以點選Preview來檢視,如圖。

PowerDesigner 在MDA 領域的應用 - 第3頁 | IT168PowerDesigner 在MDA 領域的應用

?

引文來源?? PowerDesigner 在MDA 領域的應用 - 第3頁 | IT168

繼續閱讀