PowerDesigner_OOM

合集下载

PowerDesigner常见问题解决(一)

PowerDesigner常见问题解决(一)
Dimattr
For EachattrIncls.Attributes
If Notattr.IsShortcutThen
ment<> "" =attr.CodeThen
=ment
End If
noAttr=noAttr+ 1
2
第一步:先建立对象模型:
第二步:选择对象反向工程的菜单:
第三步:选择需要逆向工程的java类
点击确定:
反向工程生成的类图如下:
3
第一步,打开脚本执行窗口:
第二步,执行如下的脚本:
Option Explicit
' Get the current active model
Dim Model
Set Model =ActiveModel
If (Model Is Nothing) Or (NotModel.IsKindOf(PdOOM.cls_Model)) Then
MsgBox"The current model is not an OOM model."
Else
' Get the Classes collection
DimModelClasses
DimbShortcutClosed
bShortcutClosed= false
Ifcls.IsShortcutThen
If Not (cls.TargetObjectIs Nothing) Then
' Show properties of the target class
Setcls=cls.TargetObject
noClass=noClass+ 1

powerdesigner 教程

powerdesigner 教程

powerdesigner 教程PowerDesigner 是一款数据库建模工具,它可以帮助用户设计和管理数据库结构。

下面是一个简单的教程,介绍了如何使用PowerDesigner。

1. 安装 PowerDesigner:首先,下载并安装 PowerDesigner 软件。

安装完成后,启动该软件。

2. 创建新模型:在 PowerDesigner 的主界面中,选择“文件”>“新建”>“模型”。

然后,选择合适的数据模型类型(如关系型数据库、面向对象数据库等),并为模型命名。

3. 创建数据表:在左侧的模型树中,找到刚创建的模型,右键单击它,并选择“新建”>“数据表”。

然后,输入数据表的名称和其他属性,如列名、数据类型等。

重复此步骤以添加更多的数据表。

4. 定义关系:在数据表上右键单击,并选择“新建”>“关联”。

然后,选择关联的两个数据表,并定义它们之间的关系类型(如一对一、一对多等)。

5. 设计实体属性:在数据表上右键单击,并选择“新建”>“列”。

然后,输入列的名称和其他属性,如数据类型、长度、默认值等。

重复此步骤以添加更多的列。

6. 设计主键和外键:在数据表上右键单击,并选择“新建”>“主键”或“外键”。

然后,选择相关的列,并定义主键或外键的属性。

7. 生成物理模型:在 PowerDesigner 的菜单栏中,选择“工具”>“逆向工程”>“生成物理模型”。

然后,选择想要生成的数据库类型,如 MySQL、Oracle 等。

8. 导出脚本:在生成的物理模型中,选择“文件”>“导出”>“生成脚本”。

然后,选择脚本语言和导出的路径,并点击“导出”按钮。

9. 完成:至此,你已成功设计和生成数据库结构。

根据需要,你可以进一步修改数据模型、增加数据表或进行其他操作。

希望这个简单的教程能帮助你快速上手 PowerDesigner。

请根据实际需要,在不同的步骤中进行相应的操作。

PowerDesigner 正向工程 和 逆向工程

PowerDesigner 正向工程 和 逆向工程

一. 正向工程与逆向工程说明在前面几篇里介绍了几个PowerDesigner的常用模型,参考:PowerDesigner 概念数据模型(CDM) 说明/tianlesoftware/article/details/PowerDesigner 物理数据模型(PDM)说明/tianlesoftware/article/details/PowerDesigner 面向对象模型(OOM)说明/tianlesoftware/article/details/PowerDesigner 业务处理模型( BPM ) 说明/tianlesoftware/article/details/PowerDesigner 企业架构模型( EAM ) 说明/tianlesoftware/article/details/正向工程和逆向工程就是上面几个模型相互之间转换的过程。

正向工程:CDM—>PDMPDM—> DatabasePDM—>OOM从CDM 到PDM 也是软件工程中推荐的一种方法,不过在实际的项目中,很少有公司会按照这个流程来走,甚至连E-R图都不画,直接上来就建表。

逆向工程:(1) 从处理语言(Process Language)逆向生成业务处理模型(BPM)(2) 从对象语言(Object Language)逆向生成面向对象模型(OOM)(3) 从数据库(Database)或数据库脚本逆向生成物理数据模型(PDM)(4) 从XML定义(XMLDifinition)逆向生成XML模型二. 示例在这里演示2个例子:(1)CDM --> PDM --> Database.(2)Database --> PDM --> CDM2.1 正向工程:CDM –>PDM –> Database示例PD 自带的示例CDM:我们将这个CDM 转换称PDM: Tools --> Generate Physical Data Model.生成的PDM 图如下:再将我们的PDM 生成对应的SQL 脚本:Database –> Generate Database这里有两种选择,一种是生成脚本,即Script generation,还有一种是直接在数据库里生成,即directory generate,一般都是先生成SQL 脚本,然后在数据库执行脚本。

PowerDesigner

PowerDesigner

4.5 实体及联系
4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 关于联系 建立联系 联系的类型 定义联系的特性 定义联系的角色名 定义联系的强制性 有关联系的基数
4.5.1 关于联系
联系(Relationship)是指实体集这间或实体集内部实例之间的连接。 实体之间可以通过联系来相互关联。与实体和实体集对应,联系也可 以分为联系和联系集,联系集是实体集之间的联系,联系是实体之间 的联系,联系是具有方向性的。联系和联系集在含义明确的情况之下 均可称为联系。 按照实体类型中实例之间的数量对应关系,通常可将联系分为4类, 即一对一(ONETOONE)联系、一对多(ONETOMANY)联系、多 对一(MANYTOONE)联系和多对多联系(MANYTOMANY)。
4.5.3 联系的类型
4.5.3 联系的类型
标定联系:每个实体类型都有自己的标识符,如果两个实体集之 间发生联系,其中一个实体类型的标识符进入另一个实体类型并 与该实体类型中的标识符共同组成其标识符时,这种联系则称为 标定联系,也叫依赖联系。反之称为非标定联系,也叫非依赖联 系。 换句话来理解,在标定联系中,一个实体(选课)依赖一个实体 (学生),那么(学生)实体必须至少有一个标识符,而(选课) 实体可以没有自己的标识符,没有标标识符的实体可以用实体 (学生)的标识符作为自己的标识符。 递归联系:递归联系是实体集内部实例之间的一种联系,通常形 象地称为自反联系。同一实体类型中不同实体集之间的联系也称 为递归联系。
4.5.5 定义联系的角色名
在联系的两个方向上各自包含有一个分组框, 其中的参数只对这个方向起作用, RoleName为角色名,描述该方向联系的作 用,一般用一个动词或动宾组表。

PowerDesigner系统分析与建模(4)

PowerDesigner系统分析与建模(4)

第五章面向对象模型面向对象模型是利用UML(统一建模语言)来描述系统结构的模型,它从不同角度表现系统的工作状态。

以助于用户、管理人员、系统分析员、开发人员、测试人员和其它人员之间进行信息交流。

1 什么是OOM除了数据库建模之外;采用标准建模语言UML(统一建模语言),对企业应用系统从需求,分析与设计,实施等不同阶段的全面建模,也是目前的主流方式。

OOM是利用UML 来描述系统结构的模型。

在PowerDesigner中用户可以采用典型的面向对象分析方法,如用例驱动的软件分析与开发,即由需求模型出发,建立用例图,类图及其顺序图,进而组件与部件图。

同时,PowerDesigner是一个集成环境,各个模型之间可以快捷的模型同步与管理。

本章主要介绍用例图、类图和序列图。

2 如何创建OOM2.1创建OOM模型。

具体步骤如下:选择File → New Model命令,弹出New Model窗口,在左侧的Model Type栏中选择Object-Oriented Model选项,如下图所示:其中各个选项的含义如下:Object language 选择对象语言,包括C++、Java等Share the object language definition 共享目标对象语言描述文件Copy the object language definition in model 创建一个目标对象语言描述文件的副本First diagram 选择图形的类别,包括类图、用例图等工作空间2.22.3 模型属性等设置(1)Model → Model Properties命令,显示OOM的Model Properties窗口。

(2)设置模型的选项。

选择Tools → Model Options命令,打开Model Options窗口,如下图所示:3 设计用例图用例图用于系统需求分析阶段,进行系统需求和功能设计,它包含参与者和用例两个要素。

powerdesigner常见问题解决及常用操作共3页文档

powerdesigner常见问题解决及常用操作共3页文档

常见问题解决及常用操作1.在修改name的时候,code的值将跟着变动解决:可在Tools->General options->Dialog下[Name to Code mirroring]复选框去掉2.Cdm文件,数据项的唯一性代码选项和重用选项数据项的唯一性代码,有时使用不方便,默认设置为唯一性解决:使用Tools--->Model Options->Model Settings。

在Data Item组框中定义数据项的唯一性代码选项(Unique Code)与重用选项(Allow Reuse)。

如果选择Unique Code复选框,每个数据项在同一个命名空间有唯一的代码,而选择Allow reuse ,一个数据项可以充当多个实体的属性。

3.如何防止一对一的关系生成两个引用(外键),如图所示解决:要定义关系的支配方向,在cdm中双击一对一关系->Cardinalities->Dominant role选择支配关系生成的pdm如下:4.模型的比较选择Tools->Compare Model5.模型的合并选择Tools->Merge Model6.模型的检查:Tools->Check Model7.建立一个表后,检测出现Existence of index的警告解决:可以不检查 Existence of index 这项,也就没有这个警告错误。

(一个表一般至少要有一个索引,这是一个警告,不用管也没有关系)8.检查模型出现Column code maximum length错误等解决:列名太长,超过设置的列名最大长度,可将参数值设大:Database=>Edit current DBMS –>Script\Objects\Column\Maxlen value=>新值可设:Database->Edit current DBMS –>Script\Objects\MaxConstLen value=>新值Database=>Edit current DBMS –>Script\Objects\Table\Maxlen value=>新值9.批量生成数据:Database->Generation Test Data10.生成数据库脚本:Database->Generate Database11.查看sql语句,表名与字段名前出现引号解决:Tools->Model Options->Naming Convention->code->character case->Uppercase或者设置如下:把Database → Edit Current DBMS → Script → Sql →Format → CaseSensitivityUsingQuote中value设置为NO12.生成sql语句含有“drop…”解决:在菜单Database->Generate Database,选择弹出的窗口中的Options 标签页,去掉窗口右边drop...选项即可13.设置sql创建规则:Database -> Edit Current DBMS ->Script -> Object 可设置table column pkey 等的生成规则14.为字段添加注释问题Database -> Edit Current DBMS ->Script -> Objects->Column->Add右侧value最好添加 /*%COLNNAME%*/15.文件类型相互之间的转化Tools --> Generate Object-Oriented ModelTools --> Generate Conceptual Data ModelTools --> Generate Logical Data ModelTools --> Generate Physical Data Model16.Pdm->oom文件,查看生成的java类,出现类名字段是中文,并不是code的值(pdm中name是中文,code是英文)解决:可做如下设置:pdm文件生成oom文件时,Tools --> Generate Object-Oriented Model弹出的对话框,在“Detail”选项下“Convert names into codes”复选框去掉17.生成报表Report->Generate Report18.字体等的设置:空白处右键,Display Preferences->Format19.希望以上资料对你有所帮助,附励志名言3条:20.1、宁可辛苦一阵子,不要苦一辈子。

PowerDesigner_OOM

PowerDesigner_OOM
• 映射对象到关系数据库中 • 至少有三种不同的方式来实现:
– 将类的属性映射到表的列中 – 将java类映射到表的列中 – 使用DataWindow/Datastore 技术
27
Sybase DataWindow /Datastore 技术
• 使用 Sybase’s DataWindow 技术为对象/关系无缝 地提供平滑 • 在实际开发中非常有用,特别是 PowerBuilder/PowerJ 开发者. • 实现方式:
Object-Oriented Model (OOM)
Conceptual Data Model (CDM)
Forward Engineering - Schema Definition - Denormalization - Optimization (Indexing) - Database Creation
2
主题
• 现代信息系统的发展体系 • 采用PowerDesinger 实现UML建模
3
现代信息系统的发展体系
• 企业级的信息系统从早些时候的C/S系统中变成当 前的混合型系统 • 今日的商业系统需要支持多种多样的客户端 • 在这样的环境中,传统的“快速开发”应用通常 变得不可能 • UML 提供了语义定义来实现这些应用 • PowerDesigner 提供了开发工具来实现这些应用
Component EJB, O/R mapping
开发
R e p o s i t o r y
企业信息仓储
数据仓库建模
9
统一对象建模语言 (UML)
• 过多的建模方法阻碍了即将到来的对象技术 • 由OMG组织采纳作为业界标准。 • UML 基于不同的面向对象建模方法发展而来 – Rumbaugh et al. OMT – Booch methodology – Jacobson's methodologies • PowerDesigner 面向对象建模使用 UML 类视图 符号

PowerDesigner面向对象模型

PowerDesigner面向对象模型

PowerDesigner面向对象模型PowerDesigner的面向对象模型(object-oriented model,OOM) 是利用UML (统一建模语言) 的图形来描述系统结构的模型,它从不同的角度来表现系统的工作状态。

在OOM中可以设计UML的所有图形,这些UML图形有助于系统分析人员、开发人员、测试人员、管理人员、用户以及其他人员之间进行信息交流。

其中,用例图、时序图和类图等共同组成了OOM的核心。

在本实验中,我们以Java语言为例,来说明使用PowerDesigner建立OOM的过程。

我们将重点讨论用例图、时序图和类图。

UML中包含的其他图形,读者可根据需要自行创建,在此不再赘述。

1. 用例图用例图(use case) 主要用于需求分析阶段,通常用来定义系统的高层次草图,进行系统需求分析和功能设计,它从用户的角度出发来描述应用系统的功能,指出了各个功能的外部操作者。

用例图中包含执行者、用例两个要素。

执行者是指用户在系统中的角色;用例是用户与计算机的一次交互。

用例图描述了每个用例将有哪些执行者参与。

图4-98显示了一个网上售书系统的用例图示例。

图4-98 网上售书系统用例图在该系统中,顾客首先连接到Web系统并填写所需要的检索条件;然后,Web系统开始检索数据库中提供的书目,并以列表形式提供给顾客;如果顾客确认,则发送相应的电子邮件;最后,系统处理顾客的电子邮件,销售人员通过销售系统完成销售活动。

(1) 定义用例用例是外部可见的一个系统功能单元,这些功能由系统单元提供,并通过一系列系统单元与一个或多个参与者之间交换的消息来表达。

用例的用途是在不涉及系统内部构造的情况下定义连贯的行为。

用例的定义包含用例所必需的所有行为、执行用例功能的主线次序、标准行为的不同变形、一般行为下的所有异常情况及其预期反应等。

例如在网上售书系统中,可以定义的用例包括:目录、查询、发送电子邮件和销售系统等。

(2) 定义角色角色描述了与系统相互作用的一组用户,最明显的角色是系统中的人,但也可能是系统本身。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
29
问题
30
14
用例
• 用例结构
– 用例名 – 简要说明 – 前置条件 – 事件流 – 交叉事件流 – 后置条件 – 例外
15
用例模型的好处
• 用例模型
– 在系统开发前期提供完整的用例 – 保证团队之间能够相互理解用例所指的含义
• 用例用于标识
– 谁在系统中进行交互,并且它在该系统干什么 – 系统将拥有什么样的接口
Production Data Production Data Production Data Production Data Production Data
5
Thin
Browser or C/S
Components
Rich
Client/Server Application
Components
PowerDesinger 发展史
1989 (v1) 1990 1991 1992 1994
(v2) v3 v4 v5 French English Enterprise Modules CDM only CDM & PDM Edition ProcessAnalyst
1996
1999
2000
2001
Neptune
v6 v7 v8 Maturity release New Generation Enhanced UML Warehouse First UML Analysis
2
主题
• 现代信息系统的发展体系 • 采用PowerDesinger 实现UML建模
3
现代信息系统的发展体系
• 企业级的信息系统从早些时候的C/S系统中变成当 前的混合型系统 • 今日的商业系统需要支持多种多样的客户端 • 在这样的环境中,传统的“快速开发”应用通常 变得不可能 • UML 提供了语义定义来实现这些应用 • PowerDesigner 提供了开发工具来实现这些应用
• 映射对象到关系数据库中 • 至少有三种不同的方式来实现:
– 将类的属性映射到表的列中 – 将java类映射到表的列中 – 使用DataWindow/Datastore 技术
27
Sybase DataWindow /Datastore 技术
• 使用 Sybase’s DataWindow 技术为对象/关系无缝 地提供平滑 • 在实际开发中非常有用,特别是 PowerBuilder/PowerJ 开发者. • 实现方式:
6
PowerDesigner适用范围
• PowerDesigner是功能非常强大的工具,它 可以被不同的用户用于不同的应用背景
– 商业分析师 – 数据库管理者 – 系统软件工程师
• 以上哪个是你的角色, 在系统开发过程中你 的定位, 并且那些技术需求来驱动你使用 PowerDesigner
7
企业建模的生命周期
– 控制类用于对一个或几个用例所特有的控制行为进 行建模。 – 控制类
• 可以创建、初始化、和消亡控制对象 • 确定控制对象中的控制逻辑(事件顺序)和实行 • 控制并行发布来实施约束类 • 在绝大时候是执行控制对象
<<control>> OrderEntryManager
边界类
– 边界类是一种用于对系统外部环境与其内部运作 之间的交互进行建模的类。
• • • • 实体对象反映一个真实的现象状况。 执行系统内部任务时也可能要使用实体对象 其属性和关系的值通常由主角指定 实体对象是独立于环境(主角)的。
<<entity>> Customer <<entity>> Order
<<entity>> Invoice
<<entity>> Product
控制类
23
PowerDesigner使用序列图
24
阶段:产品化
• 目标
– 将产品转变为最终用户可以使用软件 – 处理产品化工作的发布情况
• 产品
– – – – 制作产品发布版 可接受的质量级别保证 完成最终的系统和用户文档 项目性能的最终分析
PowerDesigner使用部署图
26
关系数据库中存储持久对象
Component EJB, O/R mapping
开发
R e p o s i t o r y
企业信息仓储
数据仓库建模
9
统一对象建模语言 (UML)
• 过多的建模方法阻碍了即将到来的对象技术 • 由OMG组织采纳作为业界标准。 • UML 基于不同的面向对象建模方法发展而来 – Rumbaugh et al. OMT – Booch methodology – Jacobson's methodologies • PowerDesigner 面向对象建模使用 UML 类视图 符号
• 用例用于检验
– 所有的需求将被捕获 – 开发人员可以理解这些需求
阶段:精化
• 目标
– – – – 分析问题范围 建立基础的框架 解释项目中存在的最严重风险情况 生成全面的方案来说明整个项目如何实现
PowerDesigner使用类图
18
实体类
– 实体类是用于对必须存储的信息和相关行为建模 的类。 – (持久类)
PowerDesigner 在构建阶段
• PowerDesigner 支持许多面向对象的语言和技术,包 括:
– – – – – – PowerBuilder Java C++, C# CORBA Visual BASIC 6 XML
• 在构建阶段, PowerDesigner可以在多种语言生成类定 义, 而且也可以将已有系统代码逆向生成.
Physical Data Model (PDM)
ODBC Database SQL Script
Reverse Engineering
Database Management System (DBMS)
设计工具
PowerDesigner
PowerDesigner 8.0
PowerDesigner Neptune
4
分布式应用的开发
Client
Very Thin
Middle Tier
Web Server
Data
Browser
File System
HTML Pages
Page Server Transaction Server
Components Enterprise JavaBeans, COM, CORBA, PB NVOs Templates, Scripts
10
UML视图
逻辑视图
并发视图
组件视图
用户视图
展开视图
11
UML开发阶段
先启
精化
构建
产品化
12
阶段:先启
• 目标
– 为建立新系统或者扩展现有系统提供商业用例
• 需要产品
– 项目核心业务需求 (Use Cases) – 评估风险
• 可选产品
– 概念原型 – 初始化模式
PowerDesigner使用用例图
– 典型的边界类
• 窗口 (用户接口) • 通讯协议 (系统接口) • 打印机接口 • 传感器
<<boundary>> OrderWindow
阶段:构建
• 目标 • 阐明剩余的需求,并基于已建立基线的构架完成系统 开发。
• 产品
– 完成有用的版本 – 动作原型说明 – – – – 品质保证 系统和用户文档 产品化计划 下一个产品评估标准
商业处理模式
商业分析
Simplified Activity diay
对象设计
E/R modeling SQL round-trip engineering
UML: Use case Sequence, Class Java/PB/XML round-trip C++, C#, VB...
Object-Oriented Model (OOM)
Conceptual Data Model (CDM)
Forward Engineering - Schema Definition - Denormalization - Optimization (Indexing) - Database Creation
– 将单个DataStore/DataWindow 类变量替换类属性 – 建立操作符来操作类库 – 建立针对于数据库表的DataWindow 对象 – 使用专用DataWindow/DataStore类的方法去访问关系性 数据
28
从哪里开始?
• 如果你从项目新的设计开始,你可以从面 向对象的模型中开始,或许是概念数据 模型 • 如果你从数据库的逆向工程开始,你从物 理数据模型逆向成面向对象模型或概念 数据模型 • 如果你从PowerBuilder 或者 Java应用逆 向出来, 你从面向对象模型开始
ID12
利用 PowerDesinger 快速建立面向 对象应用模型
张波 Boris.zhang@
1
议程
• 了解现代信息系统变得日益复杂 • 回顾传统的C/S实现和3层以及分布计算 的不同 • 学会通过设计技术来管理这些复杂的信 息系统 • 掌握如何使用PowerDesigner 和 UML 来 控制这些复杂的信息系统
- Java Code (Source, Bytecode, JAR) - PowerBuilder Code Java Source PowerBuilder Source - Data Structures - Business Rules
- Application Structure - Business Logic
相关文档
最新文档