第 三章 PowerDesigner
教学要求
掌握:PowerDesigner的模块组成
掌握:PowerDesigner的模型和对象特性
掌握:需求分析的目标、结构化系统分析与设计技术
掌握:ProcessAnalyst基本功能和处理分析模型PAM
掌握:软件开发工具与环境相互关系
了解:软件开发的基本过程
返回页首1、 PowerDesigner的模块组成
PowerDesigner作为图形化的数据库模型设计工具软件,其集成特性灵活,采取模块化设计,共由以下六个模块组成:
1、ProcessAnalyst :用于系统的需求分析,可用于设计和构造数据流图(DFD)和数据字典。它支持多种处理建模方法,用户可以选择适合自己应用环境的建模方法来描述系统的数据及对数据的处理。
2、DataArchitect :用于对概念层和物理层的交互式数据库设计和构造。使用DataArchitect可以很方便地设计数据库的概念模型并对该DBMS自动生成物理模型。该模块还提供高质量的文档生成能力和逆向工程能力,可从现有的数据库中得到其物理模型和概念模型,并生成相应文档。
3、AppModeler :应用建模工具,用于物理建模和应用对象及数据组件的生成。
4、MetaWorks :用于团队开发、信息共享和模型管理。
5、WarehouseArchitect :用于数据仓库和数据集的建模和实现。
6、Viewer: 用于以只读的、图形化方式访问整个企业的模型信息。
在本课程的学习中,只需要同学们掌握ProcessAnalyst模块和DataArchitect模块的应用,对其余模块只做简单的了解。
2、 PowerDesigner的模型和对象特性
PowerDesigner 6.0的模型共有四种:
1、PAM :由ProcessAnalyst模块生成的处理分析模型。
2、CDM :由DataArchitect模块生成的概念模型。
3、PDM :由DataArchitect模块生成的物理模型。
4、WAM :由WarehouseArchitect模块生成的数据仓库模型。
PowerDesigner是将一个大型应用程序分成若干项目,每个项目可以包括模型,每个模型还可以包括若干个子模型。
PowerDesigner 6.0的对象特征:
PowerDesigner 6.0中的对象包括项目、模型、子模型以及它们的各自属性。PowerDesigner通过对这些属性的设置来描述其对象的特征,这些属性称之为对象的特性。一般情况下,对象的所有特性中只有名称和代码需要用户设置。
3、 ProcessAnalyst概述
ProcessAnalyst是在数据库系统设计的需求分析阶段中,用于设计信息系统处理分析模型PAM的模块。PAM的主要组成部分是数据流图(描述信息系统中所用到的基本数据及其处理分析过程),
需求分析的目标:
1、对要处理的对象进行详细的调查,了解用户对数据库的信息要求、处理要求和安全性完整性要求。
2、收集支持系统目标的数据并处理。
3、对新系统各种方案和设想进行研究、分析和比较,选择优化的处理模型。
在设计新系统的处理模型主要包括:数据流图、数据字典和处理逻辑表达工具等。本课程要求熟练使用PowerDesigner设计数据流图。数据流图是系统 处理模型的主要组成部分,它只在模型上精确描述系统中数据和处理的关系,并详细描述系统的功能、输入、输出、数据存储等。而数据字典则是对数据的详细描 述,是各类数据属性的清单。
结构化系统分析和设计技术(SADT):
结构化系统分析和设计技术是构造数据流图的理论基础,它是一种功能和数据的分析、分解的技术。SADT的中心问题是:将功能逐层分解为多个子功能,并在分解的同时进行相应的数据分析和分解。
系统功能的分解及其分解细化程度取决于对系统功能的理解,因此对系统功能的理解程度不同可以导致功能分解的结果不同。要注意在功能分解的同时伴随相应数据的分析和分解。
如课本P103的功能分解层次图。
数据流程图的设计采取自上而下的方法,首先将整个系统作为一个功能绘制顶层图,然后逐级细化,分解为多层次的数据流图。
顶层图可以采取固定的模式:
过程/数据类分析法:
过程和数据类关系:生成(Creat)、使用(Use)和无关系。
ProcessAnalyst中过程与数据关系:创建(Creat)、插入(Insert)、更新(Update)、删除(Delete)和无关系。
U/C矩阵:建立一表,第一横栏为过程名,第一竖栏为数据类名,内部是过程与数据类关系。
CIUD矩阵:如同U/C矩阵。可用于描述过程与数据项的关系,也可用于描述过程与数据存储的关系。见课本P105表3-1。
要确定过程与过程之间的关系应先确定过程与数据类之间的关系。
4、ProcessAnlyst的基本功能
通过建立处理分析模型PAM帮助系统分析人员收集数据、编写数据字典,并绘制数据流图。 具体还包含以下几个方面:
(1)建立功能模型(OMT)和数据流图;
(2)建立层次型的处理模型;
(3)定制和打印模型文档;
(4)从概念数据模型(CDM)中引入数据项;
(5)应用OLE技术链接和嵌入其他应用中的对象。
5、处理分析模型(PAM)简介
PAM是对系统进行功能分析的处理分析模型。它定义了各系统元素(包括数据和处理过程)的静态组成,以简洁的符号表示系统各元素之间的动态联系,并描述系统对数据的转换和处理功能。可以采用PAM建立树状的层次结构模型。
(1)PAM的对象
数据项 :对信息的最基本的描述元素
外部实体 :从系统中接受数据或者把数据传送到系统的对象
处理过程 :数据的转换处理
数据流 :在处理过程、外部实体和数据存储间传送数据的流
数据存储 :模型中存储的要处理的数据
6、DataArchitect概述
DataArchitect是一种数据库设计工具,主要用于进行概念数据模型(CDM)和物理数据模型(PDM)的设计及其相互转换与维护。其中,概念数据模型就是E-R图(实体-关系图),将现实的应用抽象为实体与实体之间的联系 。CDM的具体对象包括域(Domain)、数据项(Data Item)、实体(Entity)、实体属性、和继承链(inheritance link)等。而物理数据模型则针对某中DBMS定义物理层次上的各类数据对象(包括表、域、列、参照、码、索引、视图、扩展属性和检查参数等)。
DataArchitect的功能
- 用E-R图为信息系统建模(CDM)。
- 在物理层次上建模:基于某一DBMS生成相应的物理数据模型(PDM)。
- 对物理数据模型维护:定制PDM以满足物理上和性能上的要求。
- 为目标DBMS生成一个数据库创建脚本。
- 生成完整性触发器。
- 定制和打印模型报告,生成CDM和PDM的设计文档。
- 从现有数据库和应用进行逆向工程,对CDM和PDM进行维护。
- 为PDM的对象定义扩展属性。
7、DataArchitect的概念数据模型CDM
(1)CDM的基本概念
CDM:信息系统的概念设计工具,即实体-联系图(E-R图),CDM就是以其自身方式来描述E-R图。此时不考虑物理实现的细节,只表示数据库的整体逻辑结构,独立于任何软件和数据存储结构。如下列职员和项目两实体的E-R图:
(2)CDM的定义
1、通过设置模型特性定义对CDM的某些特定要求
打开Model Options对话框,设置CDM选项:
1)Enforce:不允许属性值偏离某些域(包括Data type、check、rules)
2)Default data type:域和属性的缺省数据类型
3)Data item unique:设置数据项是否有唯一码
4)Allow reuse:设置是否允许数据项作为多个实体的属性
5)Default add option:当作为实体属性加入数据项时,指明是重用还是复制该数据项
6)Relation unique code:设置联系是否有唯一码
7)Confirm delete:删除整个数据对象还是只删除其符号
2、通过设置模型特性定义CDM的说明信息
打开Model properties对话框,设置CDM说明信息:
包括项目名和项目代码、模型名和模型代码、标签、设计人、版本号、创建时间、修改时间等。对模型的信息说明可增强模型的可读性。
(3)CDM的建立
建立CDM的过程就是对信息系统进行概念层次上的抽象和表达的过程,用CDM的各种对象来描述信息系统内部的实体之间的关系。
建立CDM的步骤:
1)为CDM定义域(Domain) :包括设置所建域的域名、数据类型、长度、精度和扩展选项等。
2)定义数据项 :指定数据项名、代码、选择域(或指定数据类型、长度、精度)等。
3)定义实体 :打开List of Entities对话框建立相关实体
4)定义实体属性 :包括设置实体名称、代码、规则等,并为所建立的实体引入相关的数据项。
5)定义联系 :在相关实体之间建立联系,同时设置所建联系的属性(包括联系名、设置一对多、多对多等可选联系等)。
6)建立子模型 :首先应确定所建CDM应划分成几个子模型,再对各子模型加入相应的各个实体。
7)定义继承 :使用继承连接建立实体间继承关系,并设置继承属性(包括继承名称、代码、设置继承方向等)。
8)定义检查参数并检查所建立的CDM 。
(4)从PDM生成CDM
从PDM生成CDM是逆向工程的一种,因此需要根据物理层次上的改动对概念层次上的模型进行相应的修改。PDM和CDM中的对象之间的对应关系如下表:
PDM中的对象 | CDM中的对象 |
表(Table) | 实体(Entity) |
表中的列(Table column) | 实体属性(Entity attribute) |
主码或外码(Primary or Foreign key) | 标识符 |
参照(Reference) | 一对多联系 |
连接表(Join table) | 多对多联系 |
8、DataArchitect的物理数据模型PDM
(1)PDM的基本概念
PDM考虑了数据库的物理实现,包括软件和数据存储结构。
PDM的对象:表(Table)、表中的列(Table column)、主码和外码(Primary & Foreign key)、参照(Reference)、索引(Index)、视图(View)等。
PDM的功能:
- 用图形的形式表示数据的物理组织
- 生成数据库的创建和修改脚本
- 定义完整性触发器和约束
- 生成扩展属性
- 从已存在的数据库进行逆向工程
(2)PDM的定义
1、通过设置模型特性定义对CDM的某些特定要求
打开Model Options对话框,设置PDM选项:
1)Enforce:不允许属性值偏离某些域(包括Data type、check、rules、Mandatory、Extended)
2)Default data type:域和列的缺省数据类型
3)Unique code:设置是否参照唯一码
4)Auto-migrate FK:设置是否自动移除外码
5)Confirm delete:删除整个数据字典中相关联的数据对象还是只删除其符号
2、通过设置模型特性定义PDM的说明信息
打开Model properties对话框,设置PDM说明信息。
(3)PDM的建立
1)建立表(Table) :包括设置所建域的域名、数据类型、长度、精度和扩展选项等。
2)定义域 :指定数据项名、代码、选择域(或指定数据类型、长度、精度)等。
3)定义列 :打开List of Entities对话框建立相关实体
4)定义参照 :包括设置实体名称、代码、规则等,并为所建立的实体引入相关的数据项。
5)定义码 :在相关实体之间建立联系,同时设置所建联系的属性(包括联系名、设置一对多、多对多等可选联系等)。
6)定义索引 :首先应确定所建CDM应划分成几个子模型,再对各子模型加入相应的各个实体。
7)定义视图 :使用继承连接建立实体间继承关系,并设置继承属性(包括继承名称、代码、设置继承方向等)。
8)定义扩展属性 :
9)定义触发器 :
10)PDM的检查
9、 建立PAM模型的基本步骤
(1)建立一个新的PAM模型框架。
(2)输入所建模型特性并为模型设置选项。打开“Process Model Properties”对话框,设置PAM模型特性(包括项目名称、代码、作者、日期、版本号和相关辅助说明等)。
(3)对根处理模型建立相关对象:
- 建立并定义处理过程:使用Process工具建立新的处理过程,编辑所建处理过程的名称、代码等特性。
- 建立并定义外部实体:使用Extern entity工具建立新的外部实体,并设置相关特性。
- 在对象之间建立数据流:使用Flow工具联系相关的对象,设置数据流特性。
(4)分解根处理模型:
- 对处理过程进行分解:使用Decomposition工具选择相关处理过程,出现处理的子处理窗口,在子处理窗口中建立新的对象,重新定义数据流。
- 按需要建立相关的控制流:使用Flow工具在相关对象间建立数据流,编辑特性,将数据流类型改为控制流。
- 按需要继续对处理过程进行分解,重复上述两步。
(5)建立数据项和域
- 建立数据项:打开数据项列表,加入项目相关的数据项,并设置数据项的类型、长度、精度等(或直接加入数据项所属域)。
- 建立域:打开域列表,加入项目相关的域,并设置域的类型、长度、精度等。
- 为数据项设置检查参数:对相关数据项规定数据有效范围、单位等。
(6)为数据流加入数据项
- 直模型顶层开始为数据流加入相应的数据项:返回根处理,为相应的数据流选择相关的数据项。
- 做下一层分解,在子处理窗口中为数据流加入相关数据项。
(7)排序数据项
- 建立数据存储:使用Data store工具建立数据存储,设置数据存储特性(包括名称、代码等)。
- 建立对象创建流:使用Data flow工具在处理过程与数据存储间创建数据流,并设置数据流特性,将其数据流类型设置为"Object Creation"。
- 将数据项存储到数据存储中:打开"Model Options"对话框,在"Data stores"中选择"Auto fill"(使数据流中的数据项自动存储到数据存储中);为对象创建流加入相关数据项。
- 把数据存储与模型其它部分连接起来:使用"Flow"工具在数据存储与其它相关对象间建立数据流,并为所建的数据流加入相关的数据项。
- 将最底层的处理过程通过其特性设置为最底层(选中"Lowest level")。
- 检查模型:使用功能键F4执行检查。
(8)调整显示
- 增加标题框:在根处理模型中选择Edit->Add Title,加入标题框,设置标题属性。
- 改变窗口颜色:选择Window->Window Color,改变颜色。
- 排列符号。
- 调整数据流显示。
- 显示相关文本:可以通过选择File->Display Preference打开显示参数设置对话框,选中contents以显示数据项。