1、word完整版)PowerDesigner培训教材(完整) 前言 在CSDN上转悠经常看到有网友寻求PowerDesigner相关资料的帖子,Baidu,Google上找找还真很少;同时也有不少网友发来Email询问相关PowerDesigner问题或索要相关资料的,故下定决心制作本文档。折腾二十多天,终于输出了现在的文档,其中绝大部分内容都是依照PowerDesigner自带的帮助文档翻译过来,乐意啃英文的朋友最好还是看其”原汁”教程,同时本文档仅用于帮助分析设计人员更快熟悉掌握PowerDesigner的使用方法,不包含分析设计方面的理论,所以要作好系统的分析设计工作还是
2、需要用户深厚的项目实践功底. 起初想尽量按照PowerDesigner自带帮助文档完整地进行,尝试了一上午的工作之后这种方案马上就被我否决,原因有二:1.内容太多,工作量太多。2.原帮助文档特别周全,个人觉得可以在内容上作很大程度的压缩。姑决定按原帮助文档写,同时加入自己目前正在做的技术论坛分析设计过程以便于理解。 对本文档内容的几点说明: 1. 本文档只包括PowerDesigner部分内容(RQM,Report,CDM,PDM),内容不够全面。 2. 内容尽量简略,一些相同或类似操作过程尽量不再重复. 3. 部分术语参考了飞思科技产品研发中心监制电子工业出版社的《Po
3、werDesigner数据库系统分析设计与应用》。 4. 暂时没有包含OOM,XML,BPM,ILM等模型内容,我将会在后期陆续更新。 版本说明:我使用的是PowerDesigner Trial 11英文版,因此文档中一些菜单,按钮名称也用英文写出(因当心自己译出的名称和中文版上的名称不一致而造成理解不便),若是给使用中文版的朋友带来不便,我在这说声”抱歉”了!同时由于各版本不同部分操作可能会有所区别. 这里要感谢在我进行翻译工作期间给我发送Email关注的网友,感谢一直支持我的朋友们!由于第一次做翻译工作,限于水平有限,文档中肯定存在很多不足和错误之处,衷心欢迎
4、各位网友指点迷津,期望得到您的指导! Email: QQ:1 Blog:http:\\ Slash 需求模型 为了更好的将原文含义再现,不加入我个人语言习惯,我尽量按照原文档内容翻译。 环境简介 Workspace 左边的资源浏览窗口Browser提供当前的Workspace层次结构,根节点为
5、Workspace节点,Workspace中可以包含目录(Folder),模型(Model),多模型报告(Multi-Model Report),其中模型可以各种系统支持的模型类型. 一般我们将欲构建的目标系统的各种模型,文档及报告放在同一Workspace中,以便于模型设计与管理。 Workspace定义了使用PowerDesigner建模时的信息集合,PowerDesgner工作时只能有一个Workspace处于打开状态.要新建Workspace必须先将当前Workspace关闭,如以下操作:右击当前Workspace—〉选择”Close”,这样即完成了原Workspace
6、的关闭,同时也自动创建了新的Workspace,只是新Workspace中还没有内容。接下来就可以在其中添加自己想要新建的模型了。 需求模型基础(Requirement model basics) Requirements Model(RQM)是一种文档式模型,它通过准确恰当地列出,解释开发过程程中需要实现的功能行为来描述待开发项目。你可以为开发过程中需要使用到的各种结构化技术文档(功能或技术规格说明书,测试计划)而使用Requirements Model. Requirements Model以下面两种视图呈现(而不是以图表形式): 需求文档视图 对
7、一系列公共属性进行编号 可编辑行矩阵 单元格代表了当前需求与设计对象,外部文件或其它需求的联系 Requirements Model允许你可以: 对一结构化技术文档建立需求模型 检查现有或引入的模型 对需求和设计对象(其它类型模型)建立联系 对其它设计对象建立需求模型,或反之通过需求模型建立其它设计类型 从需求模型生成或更新MS Word文档,提供用户一符合需求模型的MS Word文档 从现有MS Word文档生成或更新相应的需求模型 各对象之间关系如下图所示: Requiremen
8、ts Model应该包括如下特定对象(Object): Object Description Requirement 功能行为的名称或内容,可以是父级或子级需求的一部分,它应该在被指派给用户或群(Groups)前被准确定义说明 Glossary term 用于需求模型中的词汇,它应该被正确定义说明以避免误解,建立一定的通用规则 User 至少与某一需求有关的个人实体 Group 至少与某一需求有关的用户(user)群体 由于Requirements Model中没有图表,以上各对象均没有与之对应的图象符号。需求是以图表视图形式列出,可编辑矩阵视图显示出需求和各
9、设计对象,外部文件或其它需求之间的联系。 需求建模环境包括一系列定义不同模型内容和行为的参数和设定选项,你可以通过在建立模型时,使用默认选项建立模型后或建立模型模版时进行设置. 菜单栏—>选择”Tools"àModel Options,可见以下模型选项对话框,现在可以进行你喜欢的设置了。 定义模型属性 在打开相应模型文件后,选择菜单栏中Model-〉Model Properties,或在左边树性对象浏览器中选中对应模型,双击/右键—〉选择Properties,均可进入Properties设置区间,如下图: 接下来就可以进行你想要的设置了! 新建Require
10、ments Model 下面以我自己最近的项目过程为例逐步讲解各过程: 项目简介:这是个类似动网或CSDN的论坛系统,参考了它们的功能设计,主要用于本人练习N层架构的学习。 建立需求模型: 建立完成的需求视图 首先我们要新建一Workspace作为整个系统各种模型,文档与报告信息集合。 启动PowerDesigner,这时会默认打开一个Workspace,单击鼠标右键-〉选择”Close”,这样我们完成了关闭原来Workspace,同时新建Workspace的工作.接下来就是在其中添加各种模型了。 新建Requirements Model 点击File->New或鼠
11、标右键单击Workspace-〉New—>Requirement Model可以看到新建模型属性选项框如下: 选择左边Requirements Model,其它为默认设置,确定,OK! 下面我们对新建的RQM进行先进行一些基本属性设置: 在资源浏览窗口中右键单击刚建好的RQM->Properties或直接双击对应RQM,直接进去模型属性设置Model Properties,如下图所示: 现在你可以进行自己想要设置了。这里我们将Name,Comment分别进行基本设置,同时系统默认Name和Code是一致的,Name用来进行分析描述,为了形象明了可以使用中文,而Code则和后
12、期的具体设计有关,如用于编码设计,一般多用英文加数字等标准命名(仅供参考)。 同时我们可以看到在新建RQM时也自动建立了一个模型视图(View),接下来我们就要对该视图(View)进行编辑以建立需求模型,根据前面需求模型简介介绍的相关RQM视图知识,需求模型可以用文档视图的形式表示,后续的大部分工作只有对View进行编辑就OK了! 先看看完成后的需求视图吧! 这里的各系统需求是按层次排列的,这样也使需求文档视图能和标准的层次化Word/rtf文档能进行相互转换。可以通过视图上方的工具栏进行全面的需求模型建设。 添加需求(Requirement): 点击需求文档
13、视图工具栏上”Insert a Row”工具或点击需求文档视图的空白区 这样一个预先默认自定义的需求已经添加在文档视图中,如下所示: 编辑需求属性 双击需求TitleID左边的箭头(arrow)或单击需求文档视图工具栏最左边的Properties工具即进入属性属性编辑。 其中除了TitleID栏之外每栏都处于可编辑状态的。 注:箭头所在行为选中行 属性各栏目对应着文档视图中的各可编辑栏.这里我们可以设置各需求的详细内容和描述信息,比如标题(Title),需求描述(Description),优先级(Priority),风险(Risk),状态(Status),工作量(Wor
14、kload)等详细内容。详细设置信息请参考示例文件。 若要更改文档视图中的可见栏目,可以通过单击需求文档视图工具栏中Customize Columns and Filter工具,进入 现在可以选择您想要显示的栏目了。 这样我们就基本上完成了系统需求的设计过程,依此多次操作完成如下系统需求文档视图基本框架: 后面的工作就是对其中各Requirement做进一步的细化,对各需求模块做更为细致的划分,即分层细化,这样也和层次化的文档吻合。这里我们以对Functional Requements的设计为例进行讲解,先看看细化完成后的需求文档视图(部分): 现
15、在让我们开始吧! 方法一: 需求文档视图,选中Functional Requirements—>点击视图工具栏”Insert Sub—Object"工具(而不是”Insert a Row"工具),这样就在Functional Requirements中插入了一个子对象。 方法二: 于左边资源管理窗口Requirements目录下右键单击相应需求名称->New—>Requirement即可.如下图: 现在只要对新插入的子对象进行详细的内容编辑设计即可,同样地我们也可以对各子对象通过再次添加子对象作进一步的细化工作。 如果要提升或降低某部分的需求层次,则可以通过工具栏中的P
16、romote和Demote来实现调整。 定义Users和Groups Users(用户) 指在一个需求模型中至少和一个已定义需求有关的人的集合。 Groups(组) 指专属于开发进程中一个或多个方面的用户类别.每个用户组要与需求模型中至少一个已定义需求有关. 新建User/Group 在资源浏览窗口中,右键单击模型名称(图标)--〉NewàUser/Group,打开User或Group属性窗口,输入相应名称和代码名,确定即完成新建。 同样也可在菜单栏选择”Model”àUsers/Groups完成新建过程。 下一步是将相应的User与Group联系,添加进Group中,打开相应的
17、Group属性,选择Group Users属性栏 点击属性工具栏中”Add Objects”工具,从中选择您要添加的User对象,当然只有在您已经建立了相应的User对象时才会显示User成员列表。 现在选择您需要添加的User对象,确定就可以了。 建立Business rules(业务规则) 业务规则是对为了满足业务需求,模型应该包括的特定内容或关于如何构建模型方面的描述清单。在这里的示例模型中,我们要定义关于论坛积分制度的业务规则,具体业务规则内容见参考文档. 在Requirement Model状态下,PowerDesgner默认Businss为不可用状
18、态,为此我们需要通过新建Extended model definition(扩展模型定义)来激活Business rules. 步骤如下: 选择菜单栏”Model"à Extended Model Definitions,这时打开List of Extended Model Definitions,通过选择其工具栏中”Add a Row”工具,如下图: 点击Apply即在资源浏览窗口中添加Extended Model Definitions目录。 在资源浏览器中打开Extended Model Definitions目录,双击相应扩展模型定义左边图标 即打开Extende
19、d Model Definition Propreties 现在可以在右边输入extended model definition的Name,Code等信息。 选择左边窗口中”Profile”目录,右键单击在上下文菜单中选择"Add Metaclasses…”,这时可以看到Metaclass Selection对话框,选择PdCommon页,在Metaclass选择列表中选定BusinessRule 点击OK,现在可以在Profile目录下看到BusinessRule了,点击OK!已经完成了BusinessRule的激活。 完成上述激活步骤后我们就可以执行Busi
20、ness Rules的新建了. 在资源浏览器窗口中右键单击当前需求模型—>选择”New",或通过选择菜单栏上Model,你可以看到Business Rule(s)选项了,选择执行,设定详细业务规则属性内容就OK了,示例模型中我们完成了三个关于论坛积分制度方面的业务规则,可以查看参考文档,不再赘述! 接下来我们为示例模型添加术语表(glossary term) 选择菜单栏Model->Glossary terms,进入List of Glossary terms对话框 选择工具栏上”Add a Row"工具,进行glossary term编辑。 或通过资源浏览器中也同样能执
21、行添加术语操作。 若目标系统比较大,功能较多,也可以通过在系统模型中添加文件夹(package)来方便管理,也能使整个模型更清晰,具有层次性. 到这我们就已经基本完成了整个需求模型,接下来让我们来与word文档协调工作且生成内容全面的需求报告文档. 从需求模型生成Word文档 资源浏览窗口中,右键单击当前模型名称或图标—〉选择”Export as Word Document” 或在菜单栏中选择Tools—>Export as Word Document。..,这时文档生成就开始执行,输出窗口会显示对当前模型的检验信息,这里我们对其中的Warning就忽略不作考
22、虑了。 片刻后会弹出 选择空白文档,单击确定,你可以看到文档输出了! 生成的文档如 其中红色部分文字表示与当前模型联接的信息,如果已经确定需求模型,要生成最终文档作为分析成果,可以通过在MS Word菜单栏上选择”Requirements”-〉Detach the Document from the Requirements Model,这样就实现了最终文档与需求模型的分离,同时生成的文档也没有那些红色的联接信息了。 在没有将文档与模型分离时,我们还可能在PowerDesigner中对需求模型进行修改,这时我们可以对文档执行更新操作,同时对符合层次化标准的Wo
23、rd文档,也可以将其转化为相应的需求模型。 需求模型的个人见解就到此为止,要申明的是:以上内容只是对PowerDesigner提供的需求建模功能的大概说明,其中太多细节还需日后使用过程中慢慢掌握。 生成模型报告 文档生成Report 个人觉得有必要将Report(文档生成)提前讲解,毕竟软件工程的任何阶段都会输出相应文档,PowerDesigner支持生成RTF和HTML两种格式文档。 下面以刚完成的示例论坛系统的需求模型为例讲解。 PowerDesigner提供对Report的操作有关于Report Template Editor(报告模板编辑
24、器),Report Template(报告模板),Report Editor(报告编辑器),Multi-Model Report Editor(多模型报告编辑器),Report Language Editor(报告语言编辑器) 1. 使用Report Template Editor(报告模板编辑器) 打开Report Template Editor(报告模板编辑器) (1)选择Tools—〉Resources->Report Templates,可以打开List of Report Templates(报告模板列表),列表显示出当前系统中存在的报告模板,如下图示: (2)在Type(类
25、型)下拉列表中选择相应的模板类型,可用模板中会显示对应您选择模板类型的模板,同时您也可以通过单击模板列表工具栏上的New工具新建您所需要的模板. (3)选择相应模板 (4)通过单击工具栏上Properties工具或直接双击所选定模板,进入相应模板属性编辑器。其中左边Available items为可用项目,右边Template items为当前模板中项目,表示出该报告模板的结构. 现在你可以对该报告模板进行编辑修改! 也可以通过选择Model->Reports打开List of Reports(报告列表),再选择报告列表工具栏上Manage Report Templates(管理报告模
26、板)工具打开List of Report Templates(报告模板列表)。 2. 标准报告模板(Standard report templates) PowerDesigner默认自带了一系列的标准报告模板,其模板安装目录在Sybase\PowerDesigner Trial 11\Resource Files\Report Templates下。 其中每种类型的模板都包含三种类型的标准模板,如下表所示: 模板类型 命名规则 所生成报告内容 Full modelFULlanguage。RTP 目录,所有主要的模型项目 Standard modelSTDla
27、nguage。RTP 目录,模型图,包图和大部分List对象 List modelLISlanguage。RTP 标题对象,所有的List对象 3. 创建报告模板 报告模板是一种可以用来快速生成报告文档的文件,你可以使用PowerDesigner自带的一些标准模板或创建你自己的模板。创建模板时需要指明你在报告中需要包含的信息,同时也可以通过选择一种你想要语言用以显示报告文档。 (1) 选择Tools-〉Resources->Report Templates,打开了List of Report Templates窗口 (2) 工具栏中New工具,即
28、打开Report Template Type窗口 (3) 输入相应的模板名称,选择语言种类同时在模板列表中选择模板类别 (4) 单击OK即进去Report Template Editor(报告模板编辑器),现在你可以将想要在模板中显示的项目进行添加调整了。 (5) 完成模板编辑后,选择File—〉Save,就可以将你所编辑好的报告模板保存为.rtp文件. 使用报告编辑器(Using the Report Editors) 1.创建模型报告 你可以通过使用报告编辑器创建模型报告和多模型编辑器创建多模型报告,但是当你要创建报告时,在当前work
29、space中必须打开至少一个模型且要有一个默认生成节点. 这里我们对前期需求模型创建报告文档作为示例。 (1)Model—〉Reports,打开List of Reports窗口 (2)单击工具栏上New工具,弹出New Report对话框,输入对应名称,选择语言类别和报告模板. (3)单击OK,即完成报告新建工作,这里我选择的报告模板为None,接下来我们对报告内容及节点进行编辑。 如上图对目标报告文档内容进行编辑,报告节点设计完毕后就可以生成html或rtf报告了. (4)选择Report面板中的Generate HTML或Generate RTF即可生成相应格式报告文档,若要
30、预览文档,可以选择面板中的Print Preview工具. 最终生成的html文档如下图示: 创建多模型报告(Multi-Model Report) 多模型报告能够通过使用Section在同一个报告中包含不同类型模型中的对象,将不同模型结合起来提供一个全局视角的综合报告.但是每个Section只能是一种模型类型,并且只能使用一个模板类型,被使用模型必须在当前workspace中处于打开状态。 (1)在当前workspace中打开一些需要参与多模型报告的模型,选择菜单栏中File->New, 在弹出的新建窗口中选择Multi—Model Report。 或通过右键单击当前
31、Workspace—〉New-〉Multi—Model Report亦能完成多模型报告的新建。 (2)弹出新建多模型报告窗口. (3)输入报告名称,选择语言种类,同时在Model name的下拉框中选择一个Section将要描述的模型。同时根据可以根据需要在Report template下拉列表中选择相应的报告模板. (4)点击OK,确认操作!这时就已经打开多模型报告编辑窗口,如下图示: (5)基本的多模型报告框架已经建好,下一步就是对其中Section进行设置编辑即可。根据需要加入不同模型创建适当Section,基本操作与普通单模型报告类似! 处理Section 每个
32、报告文件至少要包含一个Section,通过使用Section可以使模型设计者将目标模型分为几个不同部分,便于分析模型各部分功能,因此恰当地使用Section可以让报告文档更加清晰,具有层次性。可以通过两种方式创建Section(节): 1。 创建一个空白Section 2。 创建一个基于模板(Template)的Section 当你创建新Section时,模板列属性默认被设置为None,且应用模板选项框被自动选取。 创建Section (1) 在Report Editor编辑窗口下,选择Report—〉Sections,即弹出List of Report
33、 Sections窗口,其中Section列表包含一默认生成的Section. (2) 输入Section名称,如果没有更改输入名称系统将会在报告项目面板(Report Items)中使用默认名称。 (3) 如果当前报告为多模型报告,则可以在模型栏(Model column)中选择对应模型类型,多模型报告可能包括多种模型类型的Section,如OOM,PDM,CDM等,但必须这些模型在当前Workspace中都处于打开状态。若当前报告为单模型报告,则Model列为不可选,系统自动设置为当前模型。 (4) 单击模板栏(Template),选择需要的模板类型,可
34、选项有None,Full Requirement report, List Requirement report,Standard Requirement report.若选择None则创建空白Section.,同时Apply Template选项框为默认选取状态。 (5) 以上操作已经完成对当前Section的设置,要再次添加Scetion则通过选取工具栏上Add a Row或Insert a Row工具添加新Section,同时再次执行(1)---(4)步骤设置其属性。 (6) 单击OK,现在已经完成多个Section的创建。其中每个Section在报告编辑器(Re
35、port Editor)中显示为Report Items面板底部的Tab页中,如下图所示: 将报告中Section创建为模板 经常我们需要将已经设计好的Section供以后在其他模型中使用,为此我们可以将创建好的Section保存为模板。 (1) 单击需要保存的Section的Tab页(在Report Items面板底部的Tab页) (2) 选择工具栏上Report—>Create Template From Section,打开报告模板编辑器(Report Template Editor)页面,则原来在报告项目(Report Items)中显示的项目(Items)
36、这时显示在模板项目面板中。 (3) 确认模板项目后,选择菜单栏上File->Save,即打开保存文件对话框。 (4) 输入相应模板名称,单击保存即可。 使用报告语言编辑器(Using the Report Language Editor) 通过使用报告语言编辑器可以创建和修改报告语言的源文件(Resource files),报告语言源文件是以XRL为后缀的XML格式文件,其中包含了报告中所有可打印文本和它们的一些默认数据,报告语言源文件保存在中心区域且能够被任何模型报告共享使用,从而保证了数据一致性,节省了用户创建编辑报告文档的时间。PowerDesig
37、ner在安装目录\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages下自带了一系列的报告语言源文件。我们也可以通过使用报告语言编辑器(Report Language Editor)创建符合自己需求的文档报告源文件。 打开报告语言编辑器 (1) 选择菜单栏上Tools->Resources->Report Languages,即打开报告语言列表(List of Report Languages)窗口,其中显示出当前系统具有的所有报告语言列表. (2) 选择某种报告语言 (3) 单击工具栏
38、上Properties工具,或双击该行,打开Report Language Properties窗口 同样你也可以通过报告编辑器打开报告语言编辑窗口:选择菜单栏上Report->Edit Current Language,不过这时打开的语言种类是针对当前选择语言。 报告语言编辑器(Report Language Editor)由两个不同部分组成:根据语言类别和实体导航的左侧目录树与显示相关信息的右侧树型视图。 左边目录树主要包含以下三个部分 类别 描述 翻译用途 对象属性 包含每个模型中所有和对象相关联的字符串,如对象属性的名称,代码 Cards,checks,l
39、ist中对象属性的名称翻译 报告标题 包含每个模型中所有与报告项目相关联的字符串,如组织单位注释等 所有报告项目的标题翻译 值映射 包含所有与用于属性数值的关键字相关联的字符串,如未定义,或不存在等 Cards,checks,lists中对象属性数值的关键字翻译 Object Attrbutes和Report Titles分别包含PowerDesigner每个模型特定特征的种类。Value Mapping类别则包含具有一个标准入口的子类别: Forms:Cards和Checks中的对象属性的关键字。 Lists:Lists中的对象属性的关键字。 PowerDes
40、igner提供自带的报告语言源文件还是很符合语言习惯的,一般来说不用进行更改订制,但选择中文模板时会出现一些问题,比较常见的就是如Primary Key,Foreign Key等翻译存在一些差异。下面以简体中文模板对我们示例系统的PDM建立系统数据字典报告文件. 已经完成的示例PDM关系图如下: 下面对每个数据表和各数据表的字段生成数据字典: (1)为了方便演示,我们选择新建空白的报告模板,只将表格清单(List of Tables),表格列清单(List of Table Columns-表%PARENT%的列清单)和关系图表(Diagram)添加至报告项目面板(Report Item
41、s). (2)右键选择List of Table Columns—表%PARENT%的列清单->Layout,弹出要显示对象列表. (3)在列表中选择需要显示的对象. 这时直接生成RTF文档,看看文档效果。 看到上述文档效果估计很多朋友都会很失望的,没关系,现在让我们一步步来完善! (1) 选择菜单栏上Tools->Resources-〉Report Languages…打开List of Report Languages(报告语言列表)窗口,这里我们选择双击Simplified Chinese,以打开报告语言属性窗口。 (2) 选择Object Attribu
42、tes\Physical Data Model\Column\Primary,将Value中”主要的"改为”主键”。 (3) 选择Object Attributes\Physical Data Model\Column\ForeignKey,将Value”外来键"改为”外键” (4) 选择Report Titles\Physical Data Model\Table\Columns list,将Value”表格%PARENT%的专栏清单”改为" 表%PARENT%的列清单"。 (5) 双击报告项目面板中的"Table-表格%ITEM%"对象,在弹出的编辑窗口
43、中将”表格%ITEM%”改为”表%ITEM%”,如下图: (6) 当然还可以通过报告源文件编辑器进行其它报告项目显示方面的更改,同时也可以使用如其它常用软件中的查找替换功能,可以在报告语言属性窗口找到相应工具。不过这时执行的是全局替换,使用前应小心。 (7) 通常在进行报告语言属性进行更改之后,为了保证软件自带的报告语言源文件(。xrl文件)不发生变更,可以选择”Save As…"命令。不过必须在语言报告属性窗口中执行,如下图: (8) 调整各属性列宽度,右键单击报告项目(Report Items)面板中"List of Table Columns-表%PA
44、RENT%的列清单”,在弹出菜单中选择”Layout”,打开List Layout窗口,如下图: 现在调整Width列的数值就行了,支持百分比和实际宽度两种属性。现在可以看看生成的文档了,如下图示: 为了使显示效果更简洁点,不妨将其中大部分的FALSE不显示,TRUE也只用T代换,为此我们需要将系统的TRUE和FALSE进行转换,需要在报告语言属性中更改映射表. (9) 在报告语言属性窗口中选择”Values Mapping\Lists\Standard",添加True和FALSE映射即可,如下图: 现在在进行文档生成,基本上满足正式文档要求。 当然关于模型报告
45、还有很多细节问题,这里不能做到一一分析,可以在日后实际使用中慢慢发掘,毕竟运用才是关键!好了,这一小节就到此为止! 概念数据模型CDM(Conceptual Database Model) 以下我们要完成对示例论坛系统的数据库设计工作,首先让我们建立目标系统的概念数据模型(CDM)。 在进行相关CDM演示之前,让我先简要介绍概念数据模型(CDM)的相关概念。我们进行数据库设计时,一般都是概念层次(Conceptual level)开始的。在概念层次上,你无须考虑数据库的实际物理执行细节。概念模型(CDM)描述了与任何软件或数据存储系统无关的数据库整体逻辑结构,通常
46、包含了与物理数据库无关的数据对象,提供了一种对用于运行企业或业务行为的形象化的表达方式. CDM功能: (1)通过创建实体关系图表(E-R)来描述数据的组织结构。 (2)能够校验数据设计的合理性。 (3)生成指定了相应物理实现数据库的物理数据模型(PDM) (4)能够生成用UML标准描述CDM中对象的面向对象模型(OOM) (5)为在不同的设计阶段创建另一个模型版本,可以生成概念数据模型(CDM) 关于Palette工具面板中含义简介: 新建CDM (1) 选择File—>New,打开New窗口,在左边模型选择列中选中Conceptual Data Model,单击
47、OK,即确认创建概念数据模型。 (2) 双击资源浏览窗口中新创建的CDM名称图标,打开CDM模型属性窗口,进行相关属性信息设置。如下图: 对刚创建的CDM进行详细之前有必要先说说有关实体属性命名问题. PowerDesigner默认在CDM中不能存在相同名称的实体属性,这也是考虑到可能产生的一些如主键外键等名称冲突问题,但当我们进行实际数据库设计时,可能会多次使用相同数据项(DataItem)便于理解各实体。为此需要对更改PowerDesigner相关设置。软件默认为DataItem不能重复使用(重名),需要进行以下操作: 选择Tools->Model Optio
48、ns, 在Model Setting设置目录中,将Data Item下的Unique Code取消选中即可,系统默认将Unique Code和Allow Reuse均选中。 同时该设置均是面向特定模型的,即针对当前模型有效,若希望在其它模型中也有此命名设置,则需要重新进行设置。不过在Check Model时,如果选择全部Check,则依旧会报DataItem重名的错误信息,这时需要我们在人为检查确认数据项无误时,可以在选择不对DataItem不检查,如下图示: 各种数据类型对应匹配(这里只给出与SQL Server中的常用对应类型,其它DBMS可以使用类似处理) 实体及各类关系 实体
49、Entity) (1) 在新创建的CDM中,选择Palette工具面板中的Entity工具,再在模型区域淡季鼠标左键,即添加了一个实体图符。 (2) 单击鼠标右键或单击面板中Pointer工具,使鼠标处于选择图形状态。 (3) 双击新创建的实体图符,打开实体属性窗口,输入实体名称和代码. (4) 单击OK,即完成实体创建过程。 继续上述操作,创建多个实体,分别设置为不同名称,具体信息参考示例文档。 实体创建完成后资源浏览窗口中层次结构如下所示: 现在编辑各实体的详细内容,如属性组,实体间关系等。 实体属性(Entity At
50、tributes) (1) 以User实体为例,打开实体User属性窗口,进入Attributes属性页,如下图示: (2) 单击属性窗口工具栏中Add a Row工具,即在属性实体属性列表中添加了一个属性,同时设置该属性相关信息,如数据类型,是否为主标识符,是否不可为空等. (3) 详细设置新添加的属性为UserID,作为系统唯一标识区别的用户编号,同时选择P,M,数据类型(DataType)选择Integer。如下图: (4)对属性列进行更为详细的设置,可以通过单击对应属性列左边箭头,进入Attribute Properties窗口,可以进行更为精确详






