
面向对象软件工程与uml第10章powerdesigner逻辑模型分析.ppt
72页第十章 PowerDesigner逻辑模型分析,,10.1概念数据模型CDM,进行数据库设计时,一般都是概念层次(Conceptual level)开始的在概念层次上,无须考虑数据库的实际物理执行细节概念模型(CDM)描述了与任何软件或数据存储系统无关的数据库整体逻辑结构,通常包含了与物理数据库无关的数据对象,提供了一种对用于运行企业或业务行为的形象化的表达方式概念数据模型CDM,CDM功能:(1)通过创建实体关系图表(E-R)来描述数据的组织结构2)能够校验数据设计的合理性3)生成指定了相应物理实现数据库的物理数据模型(PDM)(4)能够生成用UML标准描述CDM中对象的面向对象模型(OOM)(5)为在不同的设计阶段创建另一个模型版本,可以生成概念数据模型(CDM),10.1.1 确定业务问题在BPM中已经明确了业务流问题,在此基础上从中提炼出需要存储的信息,其中包括与业务有关的实体、实体间的关系、特殊的业务规则等这些问题将成为建立CDM的基础10.1.2 建立概念模型 建立CDM的具体过程如下 (1)定义业务问题中涉及到的相关实体 (2)定义实体属性 (3)定义业务规则,并将业务规则运用到相应实体。
(4)为多个具有相同数据类型和宽度的数据项定义公用域 (5)建立实体之间的继承关系 (6)建立实体之间的联系 (7)检查模型的正确性 (8)生成CDM模型文档关于Palette工具面板中含义简介,,概念数据模型CDM,新建CDM (1)选择File->New,打开New窗口,在左边模型选择列中选中Conceptual Data Model,单击OK,即确认创建概念数据模型 (2)双击资源浏览窗口中新创建的CDM名称图标,打开CDM模型属性窗口,进行相关属性信息设置如下图:,,,概念数据模型CDM,定义业务规则 业务规则是业务活动中必须遵循的规则,是业务信息之间约束的表达式,它反映了业务信息数据之间的彝族完整性约束.每当信息实体中包含的信息发生变化的时候,系统都会检查这些信息是否违反特定的业务规则. 业务规则有的六种类型: 事实,定义,公式,确认,需求和约束:,当你使用业务规则约束 CDM 的时候,他们不被转变为可执行的代码 业务规则可能被实现为 PDM 的约束概念数据模型CDM,产生一条新的业务规则 你将会产生一条业务规则标明该如何将版税归因于作家 1 选择模型的业务规则 业务规则的列表对话框显示已存在的业务规则。
2 点击增加一行工具 一支箭头在新空行的开始处出现,并且一个默认的名字和代码被输入默认为定义类型的业务规则,,,3 在名字列中键入的Author Percent 这是业务规则的名字 相同的代码自动地在代码列中被输入 4 选择规则类型列下拉列表中的确认类型这样定义了确认类型的业务规则 5 点击应用 新创建的业务规则被提交名字点击字母顺序排列 当你点击的应用或者OK的时候,列表中的所有的名字按照字母顺序排列 6 点击新的业务规则栏一支箭头出现在最后的一行 7 点击属性工具 8 点击注释栏注释对话框被打开,可以输入规则的描述 9 在描述对话框中, 输入The percentage of royalties paid to all authors of a book adds up to 100% of the total royalties,概念数据模型CDM,数据项目与实体 一个数据项目是一个基本的信息 创建一个新的数据项目 要管理多个作家的多个书, 你将会对每位作家版税的百分比创建数据项目并且为作家列表中的的作家名称排序 1 选择菜单栏的模型数据项目数据项目的列表显示已存在的数据项目。
2 点击增加一行工具 一个箭头在第一个空白行的开始和一个默认的名称出现,而且代码被进入 3 键入名称列的 TitleAuthor Percent 这是数据项目的名称 相同的代码自动地在代码列中被输入,,,4 点击应用 新创建的数据项目的被提交名称按字母顺序地分类,当按应用或列表的确定的时候, 所有的名称按字母顺序地被分类 列表的名称次序将会以其中任何一个操作而改变 5 点击新的数据项目行一个箭头在行开始处出现 6 点击属性工具或在行开始处双击箭头 属性页为新创建的数据项目 7 选择对话框的底部,域下拉列表框的 Percent 这应用 Percent 域的数据类型到新的数据项目 在数据类型列中, SI 指出短整数型,,,8 点击确定回到数据项目的列表 9 点击增加一行工具 一个箭头在第一个空白行的开始,一个默认的名称出现,相同的代码被输入 10 输入 TitleAuthor Order 到名称列 这是数据项目的名称 相同的代码自动地在代码列中被输入 11 点击应用新创建的数据项目被提交 12 点击新的数据项目行一个箭头在行开始处出现 13 点击属性工具。
或在行开始处双击箭头 属性页为新的数据项目出现 14 点击问号按钮旁边数据类型下拉列表框 标准数据类型对话框出现 15 点击整数型 Radio 按钮 这给 TitleAuthor Order数据项目一个整数型数据类型16 在每一个对话框中好点击 回到模型的窗口 创建一个新的实体 你将会创建一个包含照片的信息,一个关联对主题到作者的实体 , 和二个主题种类不同的的实体: periodicals and non-periodicals 1 点击工具面板的实体工具 2 点击图表的一个空白处一个实体符号在点击位置出现 在创建时的实体叫做Entity_n,n是一个对象创建次序的实体数字 3 点击工具面板的指针工具 4 双击你刚刚创建的实体符号 实体特性页出现 5 输入Picture 到名称框 这是实体的名称 相同的代码自动地在代码列中被输入 6 点击确定新的实体显示名称 Picture 7 选择菜单中的模型->实体实体对话框的列表显示已存在的实体,,,8 点击增加一行工具 9 键入periodicals到名称列 代码自动地设定与名称相同 10 点击应用。
新的实体创建被提交名称按字母顺序地分类 11 点击增加一行工具 一个箭头在第一个空白行的开始处,一个默认的名称和代码被输入进入对话况中 12 键入Nonperiodical到名称列 13 点击应用新的实体创建被提交新的实体在列表上出现 14 点击确定 新的实体在 CDM 中出现概念数据模型CDM,创建关系 你将会创建在AUTHOR和PICTURE之间的关系实体 1 点击工具面板的指针工具 2 拖拉PICTURE实体符号到AUTHOR实体符号下面3点击工具面板的关系工具 4 在AUTHOR实体之内点击,不要松开鼠标左键,拖拉光标到PICTURE实体 在PICTURE实体之内放开鼠标按钮定义和使用域 一个域定义你能适用于多个数据项目的标准数据结构 当你修正一个域时,你将更新全部与域关联的数据项目这样,就可以创建一些自己常用的域,来应用到数据对象上 创建一个新的域 你将会创建两个域,将会为钱、数量定义一个标准化数据类型和模型中的百分比 1 选择来自菜单栏的模型域 2 点击增加一行工具 3 在名字列输入Amount 4 点击应用新创建的域被提交创建一个继承连接 你从子实体到父实体创建一个继承连接。
从 PERIODICAL 和 NONPERIODICAL 实体到 TITLE 实体定义一个继承将CDM对象转换成PDM对象 1 选择Tools->Generate Physical Data ModelPDM生成选项对话框出现 2 从数据库管理系统下拉列表框选择 Sybase AS Anywhere 8 这个对话框处理前面生成的教程文件名称作为PDM文件的名称,但是扩展名为PDM 3 选择 Share 单选按钮你指出使用数据库管理系统库中储存的数据库管理系统定义文件 4 点击细节定位键细节页出现 5 挑选出来的或清除下列各项选项: 6 选择Selection 定位键它列出 CDM 的所有对象概念数据模型CDM,PDM中的逆向工程是指从现有DBMS的数据库SQL脚本中生成PDM的过程逆向工程的结果可以生成一个新的PDM,也可以与个现存的PDM文件合并其通常实施步骤如下所述 (1)定义逆向工程的重建选项 (2)设置逆向工程的过滤器和选项 (3)从用户数据库脚本逆向生成PDM逆向工程来自一个脚本文件的数据库对象: 1 选择File->Reverse Engineer->Database 显示新的物理数据模型的对话框。
2 点击部份 Radio 按钮 3 选择下拉列表框的一个数据库管理系统 4 点击确定数据库逆向工程对话框出现 5 点击使用脚本文件的 Radio 按钮 6 浏览适当的目录选择脚本文件7 点击选项定位键显示选项页 8 选择逆向工程选项输出窗口的信息指出被指定的文件完全逆向工程 逆向工程一个ODBC到新的 PDM: 1 选择File->Reverse Engineer->Database 显示新的物理数据模型的对话框 2 点击Share 单选框 3 选择下拉列表框的一个数据库管理系统4 点击确定数据库逆向工程对话框出现 5 点击使用一个ODBC 单选框,选择一个ODBC6 点击选项定位键显示选项页 7 选择逆向工程选项8 点击确定ODBC逆向工程对话框出现 9 在上面部份对话框的下拉列表框中选择限定词和拥有者 10 点击一个对象类型定位键 11 点击确定10.3 用PD建立OOM模型,具体步骤如下 (1)启动PowerDesigner开发环境 (2)单击工具栏中的新建图标,弹出对话框 (3)选择Object-Oriented Model,并单击【确定】按钮,弹出【选择对象语言】对话框 (4)单击OK按钮进入OOM设计工作区。
(5)选择【菜单模型】→【模型属性】命令,10.3 用PD建立OOM1. OOM特有的工具选项板,,(a)用例图工具选项板 (b)时序图工具选项板 (c)类图工具选项板,4. 在OOM中定义包在OOM中同样根据需要可以产生多个包,包在整个命名空间中名称必须是惟一的⑴ 新产生包的默认图形:⑵ 在包图形符号中显示版型:5. 创建OOM6. 打开已经存在的OOM,设计类图,类图用来表示系统中的类及类与类之间的关系类用来表示系统中需要处理的事物,类与类之间有多种连接方式,比如关联、依赖、概化、实现等类与类之间的这些关系都体现在类图的内部结构中类图中允许出现的模型元素只有类和它们之间的关系类的属性用来描述该类的对象所具有的特征在系统建模时,只把系统中必须使用的特征作为类的属性属性有不同的可见性,属性的可见性通常分为三种,即公有的(public)、私有的(private)和保护的(protected)公有属性能够被系统中其他任何操作查看和使用,也可以被修改;私有属性仅在类内可见,只有类内部的操作才能存取该属性,并且该属性也不能被其子类使用;保护属性供类中的操作存取,并且该属性也能被子类调用。
在表示类图时,必须含有公有类型和私有类型在类图中,公有类型表示为加号(+),私有类型表示为减号(-)类的属性中还可以有一种能被该类的所有对象共享的属性,称之为类的作用域属性(class-scope attribute),也称作类变量(class variable)类变量在类图中表示为带下划线的形式描述属性的语法格式为:可见性 属性名: 类型名=初值{性质串},。
