当前位置:文档之家› PowerDesigner 正向工程 和 逆向工程

PowerDesigner 正向工程 和 逆向工程

一. 正向工程与逆向工程说明

在前面几篇里介绍了几个PowerDesigner的常用模型,参考:

PowerDesigner 概念数据模型(CDM) 说明

https://www.doczj.com/doc/f42059646.html,/tianlesof tware/article/details/6871179

PowerDesigner 物理数据模型(PD M)说明

https://www.doczj.com/doc/f42059646.html,/tianlesof tware/article/details/6874067

PowerDesigner 面向对象模型(OOM)说明

https://www.doczj.com/doc/f42059646.html,/tianlesof tware/article/details/6879229

PowerDesigner 业务处理模型( BPM ) 说明

https://www.doczj.com/doc/f42059646.html,/tianlesof tware/article/details/6882109

PowerDesigner 企业架构模型( EAM ) 说明

https://www.doczj.com/doc/f42059646.html,/tianlesof tware/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定义(XMLDif inition)逆向生成XML模型

二. 示例

在这里演示2个例子:

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

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

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

PD 自带的示例CDM:

我们将这个CDM 转换称PDM: Tools --> Generate Phy sical Data Model.

生成的PDM 图如下:

再将我们的PD M 生成对应的SQL 脚本:Database –> Generate Database

这里有两种选择,一种是生成脚本,即Script generation,还有一种是直接在数据库里生成,即directory generate,一般都是先生成SQL 脚本,然后在数据库执行脚本。

以上就是一个典型的过程,也是软件工程中建议的一种流程。

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

在2.1 节讲了正向工程的一些概念,即从CDMàPD M à DATABASE. 如果严格按照这个过程来执行,在后期还可以参考这些Model。但是在国内的软件开发流程中,只有少数的公司会按照这个流程来走,那么大多数情况都是拿到需求分析后直接在数据库里建表。

如果某个线上的系统,就是这么设计出来的,那么这时候,我们要得到它的PDM,就可以使用PD的逆向工程来实现。

先连上测试环境,新建一个用户,然后把我们2.1 节导入的脚本执行一遍:

view p lain

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;

https://www.doczj.com/doc/f42059646.html,er 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 —> Rev erse Engineer –>Database

修改PD M 模块名称和DBMS 类型,这里是Oracle 10gR2:

配置数据源:

Connection prof ile name:生成连接文件名称

Directory:生成连接文件保存位置,我这里保存到桌面

Connection ty pe:连接类型,可是使用Nativ e(tnsnames.ora)或者JDBC。

确定之后进行rev erse。具体需要的时间要根据数据库对象的多少来定。我的这个测试,不到1分钟就搞完了。逆向工程之后的PDM 如下图:

在将PD M 转成CD M:

最终的CD M 如下:

正向工程与逆向的工程就这么多,更多内容就各位同学自己研究了。

相关主题
文本预览
相关文档 最新文档