分析设计,它几乎包括了数据库模型设计的全过程。利用Power Designer可以制作业务流

程图、面向对象模型、概念数据模型、物理数据模型,可以生成VB、JAVA、PB、C#等多

种客户端开发工具的应用程序,还能为数据仓库制作结构模型,并且能对团队设计模型进

行控制。本文通过一个书店信息管理系统讨论利用Power Designer进行数据库设计与实现

的全过程。

电脑应用技术 二零零六总第六十六期

2

1 基于需求的UML 对象设计

UML 是一种标准的图形化建模语言,是面向对象分析设计的一种标准表示方法,并

为不同领域的人们提供统一的交流标准,使得系统设计能够独立于特定的建模语言与开发

过程。UML模拟对象的结构和行为,定义了用例图、类图、序列图、对象图、状态图、协

作图、活动图、组件图和部署图9种图形,用于面向对象的系统建模。在Power Desinger9.5

版本中已经提供对所有9种图的支持。使用UML面向对象模型可以清楚地反映应用程序的

结构(包括动态的和静态的),使我们可以更好地开发和维护整个系统。

系统需求描述:顾客通过网上查询得到自己想要的书目,如果存在,则通过Email发

出购书请求,图书管理员受到请求后向售书系统发送相关信息。系统首先更新库存,然后

向顾客发出邮件进行确认,最后执行“卖出”操作,更新相关数据。

由以上需求可以得到相关的用例图和序列图(如图1、图2所示)。

power design综合应用_第1张图片

图1 系统用例图

power design综合应用_第2张图片

图2 系统序列图

power design综合应用_第3张图片

图3 系统的类图

2 POM 与CDM 之间的转换

在熟悉系统的工作流程后,开始设计与系统相关的类图(如图4所示)。这里主要设计

了四个类,其中ShowBOOK类用来完成用户接口的功能,它的主要任务是使用户能够通过

界面与数据库交互,界面返回查询结果;DbBOOK类主要完成后台数据的处理;DbManager

电脑应用技术 二零零六总第六十六期

3

类用来加载数据库驱动,通过ODBC连接数据库,执行查询条件并对JDBC使用时的错误进

行处理,它被ShowBOOK类和DbBOOK类调用。BOOK类用来记录图书的相关信息:包括

作者,出版日期,售价,售出日期等。

power design综合应用_第4张图片

图4 系统的概念数据模

power design综合应用_第5张图片 

图5 系统的物理数据模型

接下来由类图转化得到相应的CDM(如图5所示)。当然,在实际的设计过程中,我们

也可以先得到CDM,然后转换为对应的OOM,再对OOM进行处理(如添加构造函数和成

员函数等)并生成应用程序框架。概念数据模型把现实世界中的信息抽象成实体和联系从

而产生实体关系图(E-R图),它反映了信息系统的整体结构,主要描述不同信息之间的概

念关系,它独立于具体的DBMS,可以让设计人员专注于数据库的设计工作,而不考虑与

具体实施环境相关的问题。OOM与CDM的转换,主要包括类和实体的转换,类属性和实

电脑应用技术 二零零六总第六十六期

4

体属性的转换,继承和关联之间的转换。

3 CDM 与PDM 之间的转换

PDM并不一定要从CDM生成,它可以从数据库脚本产生,可以从数据库中直接逆向

工程产生,也可以直接在Power Designer中完成。

物理数据模型的作用是把概念数据模型与特定的DBMS结合在一起,完成物理数据结

构的生成。同一个CDM可以产生基于不同DBMS的PDM。PDM中包含了DBMS的特征,包

括主键、外键、候选键、视图、索引、触发器、存储过程等等。在Power Designer中每一

种它所支持的RDBMS都有一个DEF文件,每个DEF文件包含了用来生成特定RDBMS数据

库脚本的参数,可以在Power Designer中修改,也可以用文本编辑器修改(文件本身是ASCII

格式),使用这种方法可以使数据类型转换和数据库生成脚本的语法发生全局性的改变,

一般情况下应该谨慎使用。

将CDM转换为PDM的过程中,主要涉及到三类转换:CDM中实体及属性转换为PDM

中的表及表列;CDM中的联系转换为PDM中的参照完整性;CDM中、继承及递归关系的转

换。

本系统使用的是ORACLE数据库系统,转换后的PDM如图6所示。

图6 OOM,CDM和PDM之间的关系

4 生成ORACLE 数据库

生成物理数据模型后,需要对其进行一定的调整才能生成数据到数据库。根据CDM中

的业务规则,我门要做的工作有:保证数据的完整性和一致性,生成视图和索引,编写相

关的触发器和存储过程等等。在生成数据库时,可以有两种方法:一是先生成数据库脚本,

然后在数据库管理系统中执行该脚本以生成数据;另外一种是通过ODBC连接直接在数据

ODBC

OOM

CDM PDM

System request

Application structure

Application source

(java, PB, VB, C#)

Data structures

Business rules

Data integrality

View and index

Trigger and procedure

SQL script DBMS

电脑应用技术 二零零六总第六十六期

5

库中生成数据并产生脚本。ODBC是Windows环境下连接到数据库管理系统的标准接口,

其本质是一个开放的、方便的、标准的应用程序接口。这个API提供了访问关系型和非关

系型DBMS的接口,同时也提供了逆向工程这些DBMS的能力。由于在之前的PDM中已经

选择了ORACLE的DBMS,所以若要生成ORACLE数据库,需要预先建立ORACLE的ODBC

连接。

一般而言,在实际工作中,多采用第一种方法,即先生成SQL脚本,然后人工检查,

确认无误后再生成数据库。

5 OOM、CDM、PDM 之间的关系

OOM, CDM和PDM这三种模型之间是可以相互转化的,它们之间的关系如图7所示。

我们可以根据需要从OOM开始设计,也可以从CDM或从PDM开始设计。

Power Designer根据三种模型对象之间的对应关系和一定的转换规则,实现三种模型

之间的转换。表1给出了它们之间的对应关系。

表1 OOM,CDM和PDM对象之间的转换关系

OOM objects CDM objects PDM objects

Class Entity Table

Class attribute Entity attribute Column

Identifier Primary identifier Primary/foreign key

Identifier Secondary identifier Alternative key

Association Relationship/association Reference/table

Generalization Inheritance Reference

Domain Domain Domain

Association class Association with attributes Table

Class operations N/A Procedure and trigger

Interface/dependency/realization N/A N/A

6 小 结

利用Power Designer进行项目开发,可以有效提高我们的开发速度,尤其是针对大中

型信息管理系统,Power Designer拥有的完整的所有模型类型的元数据知识库将为所有建

模者提供理想的团队开发环境。而其强大的报告生成功能,将使开发人员和用户更迅速地

了解项目的技术细节,可以在很大程度上降低维护费用。当然,Power Designer毕竟只是

一种工具,不可能代替开发人员完成所有的事情,只有当开发人员深刻理解UML,数据库

原理,SQL, JAVA等基础理论和技术时,才能够让Power Designer发挥其最大优势。

参考文献

[1] 刘润东.UML对象设计与编程[M]. 北京:北京希望电子出版社,2001.

[2] 白尚旺. PowerDesigner数据库建模技术[M]. 西安:西安电子科技大学出版社,2002.

[3] Sybase Corporation. Sybase PowerDesigner Tutorial[R]. 2001.

如果使用UML进行一个完整的系统分析和设计,他的步骤是:用例图->序列图->类图->TDD方法的敏捷开发。

那么,对于我们常用的PD,进行一个完整的系统分析和设计应遵循什么步骤呢?先用OOM(对应UML)实现用例图序列图类图->根据类图抽象出CDM(对应ER)->具体出PDM->生成数据库。

当然,最主要的不是流程怎样,而是根据具体的项目要灵活运用。

下面是我辛苦找来的一片文章,希望能给大家带来一点参考。