PowerDesigner 正向工程 和 逆向工程 说明
?
一. 正向工程與逆向工程說明
在前面幾篇里介紹了幾個PowerDesigner的常用模型,參考:
PowerDesigner 概念數據模型(CDM) 說明
http://blog.csdn.net/tianlesoftware/article/details/6871179
?
PowerDesigner 物理數據模型(PDM) 說明
http://blog.csdn.net/tianlesoftware/article/details/6874067
?
PowerDesigner 面向對象模型(OOM)說明
http://blog.csdn.net/tianlesoftware/article/details/6879229
?
PowerDesigner 業務處理模型( BPM ) 說明
http://blog.csdn.net/tianlesoftware/article/details/6882109
?
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 節導入的腳本執行一遍:
?C:\Users\Administrator.DavidDai>sqlplussys/oracle@RAC as sysdba; SQL*Plus: Release 11.2.0.1.0 Production onTue Oct 18 13:37:17 2011 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise EditionRelease 10.2.0.4.0 - Production With the Partitioning, Real ApplicationClusters, OLAP, Data Mining and Real Application Testing options SQL> create user pd identified by pd; User created. SQL> grant connect,resource,dba to pd; Grant succeeded. SQL> conn pd/pd@RAC; Connected. 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
DBA1 群:62697716(滿);?? DBA2 群:62697977(滿)??DBA3 群:62697850(滿)??
DBA 超級群:63306533(滿);? DBA4 群:83829929(滿) DBA5群: 142216823(滿)?
DBA6 群:158654907(滿)?? DBA7 群:69087192(滿)??DBA8 群:172855474
DBA 超級群2:151508914? DBA9群:102954821???? 聊天 群:40132017(滿)
--加群需要在備注說明Oracle表空間和數據文件的關系,否則拒絕申請
?
轉載于:https://www.cnblogs.com/Hiberniane/archive/2011/10/18/2488341.html
總結
以上是生活随笔為你收集整理的PowerDesigner 正向工程 和 逆向工程 说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做了表分区以后的数据库表,在使用程序进行
- 下一篇: CCNA课堂练习三:标准访问控制列表和扩