• 1. PowerDesigner 操作手册 V0.1.1
  • 2. 目录综述 PowerDesigner 数据模型 业务流程模型 新建模型 步骤 常用符号 数据模型 包 实体 属性 Domain 关系数据流图 DFD画法 常用绘图操作 浏览常用键 格式调整 对象操作 模型操作 模型比对 模型合并 模型转换 数据字典生成 脚本生成 逆向工程
  • 3. 综述-PowerDesigner PowerDesigner(简称PD)是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。利用PowerDesigner可以制作概念数据模型、逻辑数据模型、物理数据模型、数据流程图,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制。它可与许多流行的数据库设计软件,例如:PowerBuilder,Delphi,VB等相配合使用来缩短开发时间和使系统设计更优化 。作为功能强大的全部集成的建模和设计解决方案,PowerDesigner 可使企业快速、高效并一致地构建自己的信息系统,提供大量角色功能,从而区分企业内部不同职责。 PowerDesigner支持基于信息工程或 IDEF 1/x 标记的概念层、逻辑层和物理层数据建模,支持直观、通俗的业务流程说明和定义图表,是一个高度图形化、基于窗口的现代建模工具。 本文档中的例子均使用PowerDesigner15.2版本
  • 4. 综述-数据模型数据模型是数据特征的抽象,对客观事物及其联系的逻辑组织描述。 数据模型包括数据结构、数据操作和数据约束三部分。 数据结构:数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。 数据操作:数据模型中数据操作主要描述在相应的数据结构上的操作类型和操作方式。 数据约束:数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、他们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。
  • 5. 综述-数据模型数据模型按不同的应用层次分成三种类型:概念数据模型、逻辑数据 模型、物理数据模型。 概念数据模型(Conceptual Data Model):简称概念模型,是面向数据库用户的实现世界的模型,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的数据管理系统(Database Management System,简称DBMS)无关。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。 逻辑数据模型(Logical Data Model):简称数据模型,这是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,如网状数据模型(Network Data Model)、层次数据模型(Hierarchical Data Model)等等。此模型既要面向用户,又要面向系统,主要用于数据库管理系统(DBMS)的实现。 物理数据模型(Physical Data Model):简称物理模型,是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有起对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作又系统自动完成,而设计者只设计索引、聚集等特殊结构。
  • 6. 综述-业务流程模型业务流程模型( BusinessProcessModel ) 主要是描述业务功能如何被实现的流程定义,其特点是将知识与业务流程相结合,以业务流程组织知识网络。 以用户的角度对业务逻辑和业务规则进行描述的一种模型,过去人们用数据流程图(Data Flow Diagram,简称DFD)来描述业务逻辑和业务规则,而业务流程模型比数据流程图具有更强的表现能力。业务流程模型使用图形符号来表示业务逻辑中的处理、流、消息、协作,以及它们之间的相互关系,它具有一个或者多个起点和终点。目前BPM已将数据流程图(Data Flow Diagram,简称DFD)融合到的其中。 DFD:主要功能在于发现数据和应用的功能依赖关系,数据流程图定义了应用如何与数据交互,数据流程图包括功能分解,它描述了过程的层次和它们的功能接口。数据流程图特别适合于满足大型项目的要求。
  • 7. 目录综述 PowerDesigner 数据模型 业务流程模型 新建模型 步骤 常用符号 数据模型 包 实体 属性 Domain 关系数据流图 DFD画法 常用绘图操作 浏览常用键 格式调整 对象操作 模型操作 模型比对 模型合并 模型转换 数据字典生成 脚本生成 逆向工程
  • 8. 新建模型-步骤1.打开PD,点击FILE,选择NEW Model; 2.在弹出的框中根据需要选择所要建立的模型,如下图所示:业务流程模型BPM概念数据模型CDM逻辑数据模型LDM物理数据模型PDM
  • 9. 新建模型-步骤3.然后,点击OK,即可建立模型,在工作空间Workspace中也会显 示对应的模型,在模型下的Diagram中便可进行模型设计。 注意: 在建立DFD的时候,选择业务流程模型且New Model页面上的Process Language项应选择Data Flow Diagram。如下图红色圈中所示:
  • 10. 常用符号-CDM概念模型常用符号说明符号说明实体,感兴趣的概念。关系,两个实体之间的关系。继承,实体间的特殊关系。包文本,可插入文本。注释,可在框中插入说明。
  • 11. 常用符号-LDM逻辑模型常用符号说明符号说明实体,感兴趣的概念。关系,实体间的一对多关系。关系,实体间的多对多关系。继承,实体间的特殊关系。包文本,可插入文本。注释,可在框中插入说明。
  • 12. 常用符号-PDM物理模型常用符号说明符号说明表视图,一个或多个表的查询结果。关系,两个实体之间的关系。包文本,可插入文本。注释,可在框中插入说明。
  • 13. 常用符号-DFD数据流图中常用符号说明符号说明外部实体,描述外围业务主题域。处理,描述主题域中的活动、功能。数据存储。描述处理与数据存储之间的数据流向。数据流向,一般用于处理与外围主题域间的交互。
  • 14. 常用符号-使用常用符号使用方法 每类模型对应符号的使用方法均为新建数据模型后,左击符号图标,即选中该符号,在画布上左击便可生成对应符号,再右击便可恢复指针形式。 常用符号显示方法 这些常用符号可右键PD顶部工作栏,数据模型选择Palette,数据流图选择Data Flow Diagram,如下图所示。然后就会出现前述的各种符号,还可将其拖到顶部在工作栏显示。 右图中的Customize是自定义显示列表,可在该项中选择所要显示的内容(设置多个),或直接选择在该列表中的对应项(逐一设置)。
  • 15. 目录综述 PowerDesigner 数据模型 业务流程模型 新建模型 步骤 常用符号 数据模型 包 实体 属性 Domain 关系数据流图 DFD画法 常用绘图操作 浏览常用键 格式调整 对象操作 模型操作 模型比对 模型合并 模型转换 数据字典生成 脚本生成 逆向工程
  • 16. 数据模型-包PowerDesigner 的包相当于文件夹。用户可以把它当作一个维护业务逻辑的容器。PowerDesigner包 一般建议按照业务模块来建立,再在包中建立模型图进行设计。如果模块需要细分,可以通过建立PowerDesigner子包来完成 。 创建包有两种方式: 先建包,后建保重的模型图; 先建模型图,后建包。
  • 17. 数据模型-创建包先建包后建图的方法: 首先建立一个包,可以点击 图标来建立包;也可以通过右击目标模型(包所属的模型)选择New->Package建立一个包,如右上图所示。 新建的包中会默认一个Diagram模型图,还可以通过右键包点击New->…Diagram来建立新的模型图,如右下图所示。 如果还需要建立子包,可以在父包中的默认模型图中点击 图标,还可以通过右键父包点击New- >Package来建立新的模型图,如右下图所示。
  • 18. 数据模型-创建包先建图后建包的方法: 先将所有模型图画出来; 再根据前面的方法建立包; 然后工作空间中,将目标模型下需要放进包中的图拖拽到对应包中,该图及其所有对象即被放入包中。
  • 19. 数据模型-实体概念模型、逻辑模型、物理模型的基本画法相同,符号有所差异,详细情况如前述常见符号,以下以概念模型为例; 建立实体 鼠标左键点击 图标,然后在画布上点击左键即可建立一个概念实体。 双击实体图标,如下图所示,可点击General在标记处输入实体的基本信息;Name: 实体中文名称Code: 实体codeComment: 实体描述
  • 20. 当前实体属性的相关信息数据模型-实体可点击Attributes在标记处输入实体属性的基本信息,可通过点击下图中这些符号实现框中所示的功能; 可在Name、Code中直接输入实体属性信息,在Data Type中选择对应的数据类型,Length、Precision分别表示字段长度和精度,也可在实体属性的Properties中再输入。 双击属性前的标号,可以补充属性的相关信息;插入新属性(当前属性前)增加新属性(实体尾部)表示当前属性删除当前属性
  • 21. 数据模型-属性属性建立成功后,可双击属性,在General项中的Name、Code、Comment分别描述属性的名称、Code、说明;在Domain中选择对应的数据类型,也可在Data type中进行设置,Domain可以定义一类数据类型,在后面将作介绍。 在Standard Checks中可以对属性的值域进行设置。 连续值域设置,可设最大最小值属性默认值离散值域设置,Value为属性对应的值,Label是对该值含义的描述
  • 22. 数据模型-DomainDomain就是一种数据类型,若一种数据类型比较常用到,就可以将它设置成domain,可以同步修改,保持数据类型一致性。点击菜单栏Model->Domain可查看已有Domain。如下图所示。 Domain中设置包含:Name、Code、Data Type、值域。Domain属性增加Domain删除Domain
  • 23. 数据模型-Domain新增Domain也可以通过在workspace中所属模型上点击右键New->Domain,然后将会出现如下图所示窗口。 在General中可输入Domain的Name、Code、Comment、Data Type,在Standard Checks中可以设置该Domain对应的值域。
  • 24. 数据模型-关系通过图标 建立两个实体之间的关系,点击该图标,然后连接两个实体就可以建立它们之间的关系。 在General中可输入该关系的Name、Code及相关的两个实体。
  • 25. 数据模型-关系实体关系在Cardinalities中进行设置,如右图所示。 Cardinalities:定义关系的基数; Dominant role:一对一关系时,设置关系的主从关系; Dependent:依赖关系/标识性关系,每一个实体都有自己的标识符,如果两个实体之间发生关联时,其中一个实体的标识符进入另一个Entity 并与该实体中的标识符共同组成其标识符时,该关系就被称为依赖关系,或标识性关系。一个实体的标识符进入另一个实体后充当其非标识符时,该关系就被称为非标识关联,或非依赖关联; Mandatory:强制性关系,表示该实体在本关系中不能为空,即基数不能为0; Role name:用于描述实体之间的关系,具有方向性。
  • 26. 数据模型-继承关系(分类关系)通过图标 建立两个实体之间的继承关系,点击该图标,然后连接两个实体就可以建立它们之间的关系,若该想给该分类关系中添加子类,点击图标后连接该子类和继承关系的半圈形符号即可实现。 继承关系按照子类与父类之间、子类与之类之间的关系可分为完全分类、不完全分类和互斥、不互斥关系。如下图所示,左图为互斥关系,右图为互斥完全分类关系。
  • 27. 数据模型-继承关系(分类关系)点击半圈性形图标来设置继承关系,可设置其Name、Code、Comment。 勾中Mutually exclusive children说明该关系为互斥关系; 勾中Complete说明该关系为完全分类关系;
  • 28. 目录综述 PowerDesigner 数据模型 业务流程模型 新建模型 步骤 常用符号 数据模型 包 实体 属性 Domain 关系数据流图 DFD画法 常用绘图操作 浏览常用键 格式调整 对象操作 模型操作 模型比对 模型合并 模型转换 数据字典生成 脚本生成 逆向工程
  • 29. 数据流图-DFD画法上下文图 首先双击DFD中的Diagram,然后就可以开始DFD的绘制; 画出顶层DFD,描述外围主题域(对应图标 )和目标主题域(对应图标 )的范围。如下图所示: 然后在对顶层的活动进行细化,分解成更小的活动或处理。活动上面的加号标志说明存在下层活动。外部系统与外部系统交互目标系统活动细化
  • 30. 数据流图-DFD画法下层DFD 在 中所需的符号上点左键,再在画布上点左键,即可产生所需对象,再点击右键恢复指针形式; 可以双击活动、数据存储来定义它们的Name、Code、Comment; 下层DFD的活动还可以再细分。活动数据存储数据流向
  • 31. 数据流图-DFD画法分解活动 分解活动可通过右击活动选择Decompose Process; 取消分解活动可通过右击活动选择Change to Atomic Task。 进入下层活动可通过右击活动选择Remove Composite Process Level,或者按住Ctrl双击活动; 返回上层活动可通过右击画布,选择Diagram->Go Up One Level或者使用Ctrl+U。分解活动取消活动分解进入下层返回上层
  • 32. 目录综述 PowerDesigner 数据模型 业务流程模型 新建模型 步骤 常用符号 数据模型 包 实体 属性 Domain 关系数据流图 DFD画法 常用绘图操作 浏览常用键 格式调整 对象操作 模型操作 模型比对 模型合并 模型转换 数据字典生成 脚本生成 逆向工程
  • 33. 常用绘图操作-浏览常用键我们经常会用到如下几个图标来进行浏览: 工具栏中的 可显示模型的全局视图; 按住Ctrl滑动鼠标滚动键,可放大缩小模型图; 或者通过 、 进行放大、缩小;
  • 34. 常用绘图操作-格式调整在建模过程中或结束后,为了美观、易懂,应该对模型进行格式调整,可在工具栏右键点击layout,选择图标进行格式调整。 调整格式首先要选中所要设置的对象,然后点击下述图标进行设置。 还可以点中对象右键选择Get Format,再点中应用对象右键选择Apply Format,即可将一个对象的格式应用到其他对象。图标含义左对齐垂直居中右对齐相同宽度顶端对齐水平居中底端对齐相同高度斜线变水平线斜线变垂直线
  • 35. 对象操作-拷贝对象对象的操作包含对数据模型中的实体、关系和数据流图中的处理、 数据存储、数据流向的拷贝、删除和查找。 拷贝 鼠标点中所要拷贝的对象,按Ctrl+C,再在所需地方按Ctrl+K ,这样便完成对某对象的引用(数据流向除外); 鼠标点中所要拷贝的对象,按Ctrl+C,再在所需地方按Ctrl+V ,这样,将会产生一个和原对象结构一样的对象,PD中默认将其名称改为原对象名+数字(从2开始)。
  • 36. 对象操作-拷贝对象注意: Ctrl+K操作若在ERD同一个包中操作则是对对象(包含实体、关系)的引用,只要该对象的某一处引用发生改变,其他也将同步更新;若是在ERD不同包中的操作则是对对象创建了一个快捷方式,删除该快捷方式并不删除对象本身; Ctrl+K操作对于DFD中处理的复制即是对处理的引用; Ctrl+V操作对于ERD、DFD均为对象结构的拷贝,将产生新的对象,原对象的改变不会更改新对象,该方法可在建立结构大致相同的对象时采用,在原有对象的基础上进行少许修改以建立新的对象。 拷贝实体关系( Ctrl+K 、 Ctrl+V操作)将会连同拷贝关系连接的两个实体。 拷贝数据流向( Ctrl+V )将会连同拷贝数据流向连接的处理和数据存储或外围主题域,若该处理包含子活动,将会连同子活动及数据存储一同拷贝,形成与原处理相同的新的处理(不包含下层数据流向)。
  • 37. 对象操作-拷贝对象拷贝举例(数据模型中的实体拷贝):图例对象原对象引用引用快捷方式(shortcut)新对象操作Ctrl+KCtrl+KCtrl+KCtrl+V范围同包同Diagram同包不同Diagram不同包对象名称原对象明后+冒号+数字不变原对象明后+(引用包),且左下角有箭头标记原对象明后+数字变更同步是是是否
  • 38. 对象操作-删除对象对象的操作包含对数据模型中的实体、关系和数据流图中的处理、 数据存储、数据流向的删除和拷贝。 对模型中对象的删除、拷贝均可使用快捷键。 删除: 选中对象按Delete,会弹出如下窗口,根据不同的应用来进行选择,点击OK。 同一个包中的一个实体或数据存储可能具有多个拷贝(Ctrl+K),选中其中一个对象按Delete默认删除该对象符号,与该对象相连的关系、数据流向将会连接到该对象的其他拷贝。删除对象,即所有该对象的引用都被删除删除对象符号,即形式删除,不影响该对象在其他地方的引用
  • 39. 对象操作-查找对象查找 在PD中利用Ctrl+F,出现如下图的窗口,按照红色框中的说明填写或选择对应内容,点Find Now可完成查找过程。设置查询的范围,默认整个Workspace设置模型类型设置查找对象类型勾中,查找对象包含其快捷方式设置查找条件,可通过Name、Code两种方式进行查找
  • 40. 对象操作-查找对象查询结果将会在Result list中显示,如下图所示; 在图中查找对应结果中点击右键,可以通过Find in Diagram和Find in Browser分别在模型图中和浏览区中查找该对象。 通过Find in Diagram查找,若对象存在于多个Diagram,将会出包含该对象的所有Diagram,可在其中选择对应的条目,点OK; 通过Find in Browser,将会在浏览器中的Workspace中直接定位到该对象。
  • 41. 目录综述 PowerDesigner 数据模型 业务流程模型 新建模型 步骤 常用符号 数据模型 包 实体 属性 Domain 关系数据流图 DFD画法 常用绘图操作 浏览常用键 格式调整 对象操作 模型操作 模型比对 模型合并 模型转换 数据字典生成 脚本生成 逆向工程
  • 42. 模型操作-模型比对PD提供模型比对功能来实现两个模型的差异比对; 操作对象包含ERD、DFD; 操作方法: 打开要比对的两个模型; 在其中一个模型A上右键选择Compare Model; 在弹出的下拉框中选择要与A比对的模型B; Options项可设置比对的内容,默认比对模型所有内容; 点击OK,将会展现两个模型之间的差异。选择合并的模型合并到该模型中
  • 43. 模型操作-模型比对如右图为两个DFD的比对结果,上部两边分别为比对的模型,下部显示对比项的详细信息; 红色三角中白色叹号标志说明该项属性中存在不一致,可在下部窗口查看不一致内容; 黄色三角中黑色叹号标志说明该项包含的子项存在不一致; 蓝色字体的实体、属性说明其对应模型中含该实体、属性,另一比对的模型中不包含,其对应项显示为虚的。
  • 44. 模型操作-模型合并PD的模型合并功能有助于并行设计,可多人分模块进行设计,然后将模型两两合并; 操作对象包含ERD、DFD; 操作方法: 打开要合并的两个模型; 在其中一个模型A上右键选择Merge Model; 在弹出的下拉框中选择要与A合并的模型B,如下图; 点击OK,将会展现两个模型之间的差异,再点击OK,B比A中新增的部分将会添加到A中,A将成为整两个模型的合成。选择合并的模型合并到该模型中
  • 45. 模型操作-模型转换概念ER、逻辑ER、物理ER是一个持续设计的过程; 在进入下一个阶段的设计时,为了保证设计连续性,通常以上一个阶段的输出物转换形成下一阶段的输入物; 操作方法 在菜单栏Tools中进行选择,如下图所示。生成概念数据模型生成逻辑数据模型生成物理数据模型
  • 46. 模型操作-数据字典生成PD提供了物理模型生成数据字典的功能; 操作方法: 打开需生成数据字典的物理模型; 在菜单栏Report中选择Generate Report;
  • 47. 模型操作-数据字典生成然后在弹出的对话框中对数据字典进行设置,如下图所示。然后点击OK,将会在指定路径下生成对应数据字典。默认选择该项设置数据字典的格式、内容设置数据字典的文件类型,RTF格式可以通过WORD打开设置数据字典文件标题名设置数据字典语言种类设置数据字典存储路径及文件名称
  • 48. 模型操作-脚本生成PD提供了物理模型生成脚本的功能; 操作方法: 打开需生成数据字典的物理模型; 在菜单栏Database中选择Generate Database; 在弹出的对话框General选项中设置生成脚本文件的存放路径和文件名称,其它选项默认。
  • 49. 模型操作-脚本生成在Select选项中选择所要导出脚本包含的对象,其他默认,点击确定即在指定目录下生成对应脚本。选择所要导出对象的上层目录显示所选目录下所有Diagram中包含的表选择所要导出对象的所属用户所属表全选所属表全不选
  • 50. 模型操作-逆向工程PD自7.0版本后提供了逆向工程功能,可通过脚本或者连接物理库直接生成物理模型; 两种方法: 脚本实现逆向工程,应具备脚本文件; 连接物理库实现逆向工程,应具有物理库的只读权限,建立好连接该物理库的数据源;
  • 51. 逆向工程-步骤1.打开PD,在菜单FILE中选择Reverse Engineer->Database,如右图所示; 2.在弹出的对话框中输入生成模型的名称,如下图红圈中所示,点击确定;
  • 52. 逆向工程-步骤3.在弹出的对话框Selection中,设置逆向工程的方法,选择Using script files是通过脚本进行生成,点击图中画红圈地方添加所需的脚本文件,然后点击确定将会在PD中生成对应的物理模型;
  • 53. 逆向工程-步骤4. 选择Using a data source是通过数据源连接物理库实现逆向工程,点击图中画红圈地方配置数据源(应预先建立连接物理库的数据源,测试连接正常,步骤略);
  • 54. 逆向工程-步骤4. 在下拉菜单中选择已建立好的数据源,在Login项输入连接数据库的用户名和密码,点Connect、确定。
  • 55. 逆向工程-步骤5. 出现如下对话框。在该对话框中选择需要导出的对象,选择不同用户下需要导出的表、视图、序列等,点击OK,将生成与目标物理库所对应的新的物理模型。此过程需要花费一些时间,时间长短与导出对象的数量相关。
  • 56. 结束 谢 谢