天天看點

開發工具 之 PowerDesigner

      PowerDesigner是一款功能非常強大的模組化工具軟體,足以與Rose比肩,同樣是當今最著名的模組化軟體之一。Rose是專攻UML對象模型的模組化工具,之後才向資料庫模組化發展,而PowerDesigner則與其正好相反,它是以資料庫模組化起家,後來才發展為一款綜合全面的Case工具。以下基于PowerDesigner16.5說明。

該版本主要分為10種模組化檔案:

1.   業務流程模型(Business Process Model, BPM)

2.   概念資料模型(Conceptual Data Model, CDM)

3.   資料傳送模型(Data Movement Model, DMM)

4.   企業架構模型(Enterprise Architecture Model, EAM)

5.   自由模型(Free Model, FM)

6.   邏輯資料模型(Logical Data Model, LDM)

7.   面向對象模型(Object-Oriented Model, OOM)

8.   實體資料模型(Physical Data Model, PDM)

9.   需求模型(Requirements Model, RM )

10. 可拓展标記語言模型(XML Model)

1.  概念資料模型 (CDM)

對資料和資訊進行模組化,利用實體-關系圖(E-R圖)的形式組織資料,檢驗資料設計的有效性和合理性。

2.  邏輯資料模型 (LDM)

PowerDesigner 15 新增的模型。邏輯模型是概念模型的延伸,表示概念之間的邏輯次序,是一個屬于方法層次的模型。具體來說,邏輯模型中一方面顯示了實體、實體的屬性和實體之間的關系,另一方面又将繼承、實體關系中的引用等在實體的屬性中進行展示。邏輯模型介于概念模型和實體模型之間,具有實體模型方面的特性,在概念模型中的多對多關系,在邏輯模型中将會以增加中間實體的一對多關系的方式來實作。

邏輯模型主要是使得整個概念模型更易于了解,同時又不依賴于具體的資料庫實作,使用邏輯模型可以生成針對具體資料庫管理系統的實體模型。邏輯模型并不是在整個步驟中必須的,可以直接通過概念模型來生成實體模型。

3.  實體資料模型 (PDM)

基于特定DBMS,在概念資料模型、邏輯資料模型的基礎上進行設計。由實體資料模型生成資料庫,或對資料庫進行逆向工程得到實體資料模型。

4.  面向對象模型 (OOM)

包含UML常見的所有的圖形:類圖、對象圖、包圖、用例圖、時序圖、協作圖、互動圖、活動圖、狀态圖、元件圖、複合結構圖、部署圖(配置圖)。OOM 本質上是軟體系統的一個靜态的概念模型。

5.  業務程式模型 (BPM)

BPM 描述業務的各種不同内在任務和内在流程,而且客戶如何以這些任務和流程互相影響。 BPM 是從業務合夥人的觀點來看業務邏輯和規則的概念模型,使用一個圖表描述程式,流程,資訊和合作協定之間的互動作用。

6.  資訊流模型(ILM)

ILM是一個高層的資訊流模型,主要用于分布式資料庫之間的資料複制。

7.  企業架構模型(EAM):

從業務層、應用層以及技術層的對企業的體系架構進行全方面的描述。包括:組織結構圖、業務通信圖、程序圖、城市規劃圖、應用架構圖、面向服務圖、技術基礎架構圖。

 下面就一些比較進階型的用法和技巧我着重說明下。

1.  生成sql腳本

Database→Generate Database

選擇要輸出的檔案路徑,即檔案存儲路徑,并根據需要修改檔案名,單擊确定後便會生成sql腳本。

開發工具 之 PowerDesigner

在Options頁籤裡,可以個性化選擇和配置sql腳本,如取消外鍵,去除drop語句等。

開發工具 之 PowerDesigner

Selection頁籤中可以選擇哪些表要生成sql腳本。

在Preview頁籤可以預覽将要生成的sql腳本。

2.  将所有名詞轉化為大寫

tools→Model Options...→Naming Convention→Code→Uppercase。

開發工具 之 PowerDesigner

3.  表字段設計視窗顯示comment來編寫注釋

輕按兩下表打開表的屬性視窗→Columns頁籤→單擊上排倒數第二個圖示(Customize Columns and Filter)→勾選comment

開發工具 之 PowerDesigner

4.  修改表的字段Name的時候,Code不自動跟着變

tools→General Options...→Dialog→取消勾選Name to Code mirroring

開發工具 之 PowerDesigner

5.  不同資料庫之間的轉化

Database→Change Current DBMS→選擇要轉換成的目标資料庫

開發工具 之 PowerDesigner

6.  導入sql腳本生成相應的資料庫表模型圖

 File→Reverse Engineer→Database...→修改子產品名稱并選擇DBMS

開發工具 之 PowerDesigner

Using script files→點選下方圖示(Add Files)來添加sql腳本檔案→确定

開發工具 之 PowerDesigner

7.  由實體模型生成對象模型,并生成相應的get、set方法

tools→Generate Object-Oriented Model...→選擇語言→修改Name和Code→(Selection頁籤→選擇要生成對象模型的表)→确定

開發工具 之 PowerDesigner

輕按兩下生成的某張表的類圖打開屬性視窗→選中全部字段→将字段Visibility全部改為private→單擊下方Add...按鈕→選擇Get/Set Operations→确定

之後生成代碼即可:Language→Generate Java Code...

開發工具 之 PowerDesigner

【注意:不同語言Add...按鈕下的内容有差別,如C#是Property】

6.  生成資料庫文檔

Report→Generate Report...→選擇Generate RTF→修改Repor namet→語言選擇Chinese→選擇檔案存放位置→确定

開發工具 之 PowerDesigner

PowerDesigner還提供了文檔編輯功能:Report→Reports...→點選New Report圖示→修改Repor namet→語言選擇Chinese→Report template選擇Full Physical Report

之後即可打開文檔編輯視窗,不過限于篇幅這裡就不再詳細說明如何編輯了,大家自己看看吧。

8.  如何建立自增主鍵

輕按兩下表打開屬性視窗→勾選P主鍵複選框→輕按兩下設定為主鍵的字段(在行的頭部輕按兩下)或者單擊上方的屬性圖示按鈕→在打開的視窗下方(注意不同資料庫不一樣,sql server是identity複選框)選擇sequence,如果沒有則單擊旁邊的建立按鈕建立一個sequence。

開發工具 之 PowerDesigner

9.  如何建立視圖

工具欄中單擊視圖(view)按鈕→建立視圖→輕按兩下視圖打開屬性視窗,其中Usage是表示視圖是隻讀的還是可更新的。如果我們隻建立一般的視圖,那麼選擇query only選項即可。

開發工具 之 PowerDesigner

切換到SQL Query頁籤,在文本框中可以設定定義視圖的sql查詢語句,在定義視圖時最好不要使用*,而應該使用各個需要的列名,這樣在視圖屬性的Columns中才能看到每個列。單擊右下角Edit with SQL Editor按鈕,即可彈出SQL Editor編輯器,編寫SQL語句。也可采用其他sql語句生成器生成sql語句。

開發工具 之 PowerDesigner

10.  如何建立索引

輕按兩下表打開屬性視窗→選擇Indexes頁籤→建立一索引→輕按兩下該索引打開屬性視窗

開發工具 之 PowerDesigner

選擇Columns頁籤→單擊Add Columns圖示按鈕→選擇要建立索引的字段→确定

這裡Column definition就不要選了,會與主鍵沖突。

開發工具 之 PowerDesigner

11.  如何建立存儲過程

工具欄中單擊Procedure按鈕→建立存儲過程→輕按兩下存儲過程打開屬性視窗→選擇Definition頁籤,其中在下拉清單框中,有Default Procedure、Default Function這兩個選項,前者是定義過程,後者是定語函數,系統會根據選擇的類型建立SQL語句的模闆→編輯存儲過程腳本。

開發工具 之 PowerDesigner

以上就是PowerDesigner實體模型的最主要内容了,其實這隻是滄海一粟罷了,僅僅剛剛涉及到了一個模型,還有其他好多模型值得我們學習,這裡要想真的講全面的話,那一篇博文肯定容不下,需要連載了。

PowerDesigner真的非常強大,用它設計UML同樣很牛叉,大家有時間真應該好好學學這個工具怎麼使,如果可能,我可能會在今後的博文中介紹下如何用PowerDesigner設計對象模型UML,或者搞不好真的要連載了,呵呵。那麼小小期待下吧!