PowerDesigner 正向工程 和 逆向工程 說明

 

PowerDesigner 正向工程 和 逆向工程 說明

 

目錄(?)[+]javascript

 

 

一. 正向工程與逆向工程說明

在前面幾篇裏介紹了幾個PowerDesigner的經常使用模型,參考:html

PowerDesigner 概念數據模型(CDM) 說明java

http://blog.csdn.net/tianlesoftware/article/details/6871179web

 

PowerDesigner 物理數據模型(PDM) 說明sql

http://blog.csdn.net/tianlesoftware/article/details/6874067數據庫

 

PowerDesigner 面向對象模型(OOM)說明架構

http://blog.csdn.net/tianlesoftware/article/details/6879229oracle

 

PowerDesigner 業務處理模型( BPM ) 說明app

http://blog.csdn.net/tianlesoftware/article/details/6882109ide

 

PowerDesigner 企業架構模型 ( EAM ) 說明

http://blog.csdn.net/tianlesoftware/article/details/6883772

 

正向工程和逆向工程就是上面幾個模型相互之間轉換的過程。

 

正向工程:

        CDM—>PDM

PDM—> Database

PDM—>OOM

 

從CDM 到PDM 也是軟件工程中推薦的一種方法,不過在實際的項目中,不多有公司會按照這個流程來走,甚至連E-R圖都不畫,直接上來就建表。

 

逆向工程:

(1)    從處理語言(Process Language)逆向生成業務處理模型(BPM)

(2)    從對象語言(Object Language)逆向生成面向對象模型(OOM)

(3)    從數據庫(Database)或數據庫腳本逆向生成物理數據模型(PDM)

(4)    從XML定義(XMLDifinition)逆向生成XML模型

 

二. 示例

在這裏演示2個例子:

(1)    CDM --> PDM --> Database.

(2)    Database --> PDM --> CDM

 

2.1 正向工程:CDM –>PDM –> Database示例

 

PD 自帶的示例CDM:

 

 

咱們將這個CDM 轉換稱PDM:  Tools --> Generate Physical Data Model.

 

 

生成的PDM 圖以下:

 

 

再將咱們的PDM 生成對應的SQL 腳本: Database –> Generate Database

 

 

這裏有兩種選擇,一種是生成腳本,即Script generation,還有一種是直接在數據庫裏生成,即directory generate,通常都是先生成SQL 腳本,而後在數據庫執行腳本。

 

以上就是一個典型的過程,也是軟件工程中建議的一種流程。

 

2.2 逆向工程:Database  --> PDM --> CDM

        在2.1 節講了正向工程的一些概念,即從CDMàPDM à DATABASE. 若是嚴格按照這個過程來執行,在後期還能夠參考這些Model。可是在國內的軟件開發流程中,只有少數的公司會按照這個流程來走,那麼大多數狀況都是拿到需求分析後直接在數據庫裏建表。

       若是某個線上的系統,就是這麼設計出來的,那麼這時候,咱們要獲得它的PDM,就可使用PD的逆向工程來實現。

 

先連上測試環境,新建一個用戶,而後把咱們2.1 節導入的腳本執行一遍:

 

[sql]   view plain copy
  1. C:\Users\Administrator.DavidDai>sqlplussys/oracle@RAC as sysdba;  
  2. SQL*Plus: Release 11.2.0.1.0 Production onTue Oct 18 13:37:17 2011  
  3. Copyright (c) 1982, 2010, Oracle.  All rights reserved.  
  4.    
  5. Connected to:  
  6. Oracle Database 10g Enterprise EditionRelease 10.2.0.4.0 - Production  
  7. With the Partitioning, Real ApplicationClusters, OLAP, Data Mining  
  8. and Real Application Testing options  
  9.    
  10. SQL> create user pd identified by pd;  
  11. User created.  
  12.    
  13. SQL> grant connect,resource,dba to pd;  
  14. Grant succeeded.  
  15.   
  16. SQL> conn pd/pd@RAC;  
  17. Connected.  
  18. SQL> @d:\crebas.sql  

 

 

腳本執行完畢後,相關的表和索引已經建立完成,如今咱們使用PD 來進行逆向工程操做。

 

File —> Reverse Engineer –>Database

 

 

修改PDM 模塊名稱和 DBMS 類型,這裏是Oracle 10gR2:

 

配置數據源:

 

 

Connection profile name: 生成鏈接文件名稱

Directory:生成鏈接文件保存位置,我這裏保存到桌面

Connection type:鏈接類型,但是使用Native(tnsnames.ora)或者JDBC。

 

 

肯定以後進行reverse。具體須要的時間要根據數據庫對象的多少來定。 個人這個測試,不到1分鐘就搞完了。

 

逆向工程以後的PDM 以下圖:

 

 

 

在將PDM 轉成CDM:

 

 

最終的CDM 以下:

 

 

正向工程與逆向的工程就這麼多,更多內容就各位同窗本身研究了。

 

 

 

 

 

-------------------------------------------------------------------------------------------------------

版權全部. 文章容許轉載,但必須以連接方式註明源地址,不然追究法律責任.

Blog: http://blog.csdn.net/tianlesoftware

Weibo: http://weibo.com/tianlesoftware

Email: tianlesoftware@gmail.com

相關文章
相關標籤/搜索