一. BPM 简介
业务处理模型(Business Process Model:BPM)是从业务人员的角度对业务逻辑和规则进行详细描述的概念模型,并使用流程图表示从一个或多个起点到终点间的处理过程、流程、消息和协作协议。通过BPM可以描述系统的行为和需求,可以使用图形表示对象的概念组织结构,然后生成所需要的文档。作为一个概念层次的模块,BPM适用于应用系统的系统分析阶段,完成系统需求分析和逻辑设计。BPM与PowerDesigner其它模块之间的关系如图:
1.1 PowerDesigner BPM包括3种流图:
1) 处理层次流图(Process hierarchydiagram):以层次化的方式来识别系统的功能。
2) 业务处理流图(Business process diagram):用于分析一个/组流程的具体实现机制。
3) 处理服务流图(Process service diagram):以业务服务的方式来表述业务流程图。
1.2 创建BPM对象
(1)创建包
(2)创建业务规则
(3)创建起点
(4)创建处理过程
(5)创建组织单元/组织单元泳道图
(6)创建流程
(7)定义消息格式
(8)创建资源
(9)创建资源流程
(10) 创建终点
二. 示例
2.1 创建BPM
File--> New Model
注意这里的Precess Language选择,默认为Analysis,其在Palette 对应的为组织单元为:Organization unit Swimlane。下文会有详细说明。
2.2 设置BPM 配置选项
Tools→Model Option,或者在流程图窗口中右键菜单,选择Model Option命令。
2.3 修改BPM 属性
三种方法:
(1)Model→Model Properties
(2)工作区中右键菜单Properties命令
(3)左侧列表中右键Properties命令
BPM的属性列表
属性名 | 说明 | 长度 |
Name | 模型名称 | 254字符 |
Code | 模型代码 | 254字符 |
Comment | 模型注释 | - |
Filename | 模型文件存储路径。如果未保存过,则此项为空 | - |
Author | 作者 | 254字符 |
Process Language | 处理语言 | |
Version | 模型版本号 | - |
Default Diagram | 打开模型时默认打开的流图 |
2.4 业务规则
业务规则(Business Rule)是信息系统必须遵守的或按照业务需求必须构建的特定条件。系统必须遵守此业务规则,就像遵守法律法规、客户需求或内部条例一样。
2.4.1 创建业务规则
Model→Business Rules。
添加Rules:
修改Rule 属性:
(1) “常规属性(General)”选项卡说明
该选项卡包含属性Name、Code、Comment(说明)、Type(类型)。其中有如下类型属性可以选择。
名称 | 说明 |
Constraint(约束) | 对值的附加检验,限制将在PDM和数据库中继续使用。如“项目起始日期必须早于结束日期”。 |
Definition(定义) | 信息系统中对象的属性,如“客户是通过名称和地址识别的人” |
Fact(事实) | 信息系统中存在的事实,“如一个客户可以填写一个或多个订单” |
Formula(公式) | 系统中所使用的计算公式,如“订单总价是每个订单单价之和” |
OLC Constraint(对象约束语言) | 是UML表达式语言,用于定义对象的附加约束 |
Requirement(需求) | 系统中的特定功能说明,如“销售损失不得超过10%” |
Validation(校验) | 系统中的限制值,如“一个客户的订单总价不能大于其信用值” |
(2)“Expression(表达式)”选项卡或“OLC Constraint(对象约束语言)”选项卡。
如果类型属性选择OLC Constraint,则会出现“对象约束语言”选项卡,否则出现“表达式属性”选项卡。对于表达式属性每个业务规则都可以包含以下两类表达式。
服务器端:将业务规则应用到数据库。
客户端:主要用于文档编制。
2.4.2 在BPM 中应用Rules
在我们需要指定Rule的对象上右击,属性,在选择More。就可以看到Rule的选项。
2.5 处理BPM
2.5.1 创建新的业务处理流程图
业务处理流程图(Business Process Diagram,BPD)表示了业务处理过程间的关系,重要的是处理过程中的数据流程。在一个模型或包中可以定义多个业务处理流程图,各个流程图相互设计一个业务处理过程。
一般在我们创建BPM 模块是默认会创建一个BPD。我们可以对这个BPD 重命名或者新建一个BPD.
两种方法:
(1)View→Diagram→New Diagram
(2)选择BPM,右键,New→BusinessProcess Diagram
2.5.2 定义起点
起点(Start)是BPD所表达的整个处理过程的起点,表示的是处理过程和处理过程外部的入口。
注意:在一个BPM中可以定义多个BPD,所以在一个模型或包中可以创建多个起点。
2.5.2.1 创建Start
两种方法:
(1)在工具栏中单击“Start”图标
(2)Model→Starts命令
2.5.2.2 修改起点属性
三种方法:
1)双击图标,打开“起点属性”窗口
2)右键→属性
3)Model→Starts命令,打开起点列表
2.5.2.3显示默认的BPM起点的名称
默认状态下,起点的名称不显示,在BPM中只显示起点的代码(Code),很难直观地了解起点所要表达的含义。
(1)选择Tools→Display Preferences命令,打开Display Preferences(显示参数)窗口。
(2)在左侧Content-->Start,然后选中Name复选框即可。
2.5.3 定义处理过程
处理过程可以认为是为了达到某个目标而执行的动作。每个处理过程至少有一个输入流和一个输出流。
2.5.3.1 创建处理过程
在工具栏中选中Process,然后在工作区点击创建Process
2.5.3.2 处理过程的属性
双击Process 对象。
处理过程的属性包括Name、Code、Comment、Stereotype、Organization unit、Composite status(复合处理过程)等,这些属性可以在属性窗口中定义。
(1) 板型
板型是用户定义的值,这些值来源于原有的对象。用板型可以扩展对象的语义而无须改变对象的结构。
(2) 组织单元
组织单元表示某个组织与某个过程相关。它可以代表一个系统、一个服务器、一个组织或一个用户等。
(3) 复合处理过程
选中Decomposed Process(在下面)单选按钮表示此过程是复合处理过程,表示一个分解过程的子过程图在过程内被创建。
复合处理过程用来描述一个父过程的行为的子过程,可以被无限分解为多个子过程。子过程不需要进一步分解。
2.5.4 定义组织单元
组织单元是指为处理过程负责的组织(可以是公司、系统、服务、组织、用户、或者角色),也可以认为是使用更高级处理过程的业务伙伴。
在工具栏中单击“Organization unit Swimlane(组织单元泳道图)”图标或“组织单元图标”。能够选择的图标依赖BPD所使用的处理语言。
这里使用的语言是Analysis。 双击查看其属性:
这里要注意的是Organization Unit Swimlane 与Organizaion Unit和 Role Association 是互斥的,即只能使用他们中的一种。
他们之间的切换方法如下:
在工作区右击,可以看到一个Enable Swimlane Mode,我们禁用Swinlane Mode 之后,Organization Unit 就变为可用了。Organization Unit处理语言是Data Flow Diagram。
双击查看属性:
2.5.5 定义流程
(1)创建
(2)双击查看属性
流程具有的属性包括Name、Code、Comment、Source(起始对象)、Destination(终止对象)、Stereotype、Transport(数据流的传输方式)、Flow type(流程类型)和处理过程间的Message format(数据交换格式)等。这些属性可以在“属性定义”窗口中进行修改。
其中:
(1) 数据流的传输方式
此属性主要用于文档的编制,提供了数据流传输方式信息。Transport下来列表框中提供传真、邮件、电话3种备选方式,也可以直接输入其它的传输方式。
(2) 流程类型
可以直接输入流程类型或者选择一下流程类型:
1)Success:正常流程
2)Timeout:超时流程
3)Technical error:技术错误流程
4)Business error:业务错误流程
5)Compensation:补充流程。
6) 可以自己定义
(3) 消息格式
可以选择以下消息格式类型:
None:表示流程间没有数据交换。
Undefined:默认选项,表示以后将定义其消息格式。
可以单击消息格式下拉列表框旁的“新建”图标为流程定义消息格式。
(4) 流程条件(Condition)
当存在多个流程时,可以根据流程条件来选择执行流程。在“流程属性”窗口中由Condition选项卡来定义流程条件,如下图所示:
Condition具有以下参数:
Alias:对流程条件总结(别名)。当流程条件很复杂时,可以设置Alias属性,这样在流程图中即可显示概要性的Alias,而不显示整个复杂的流程条件。
Editor:流程条件的详细信息。用于具体描述流程的条件。
说明:在流程图总Alias将显示在流程线旁,如果定义了Condition而没有指定Alias,则在流程线旁显示所有Editor信息。
2.5.6 定义消息格式
消息格式定义了流程间的两个对象所要交互数据的数据格式。如果没有数据交换,则可以不用定义任何消息格式,消息格式可以是XML文档、XML模式或者调用存储过程的参数。
在流程图中消息格式伴随着相关的流程出现。在“流程属性”窗口中定义消息格式时,消息格式即链接到流程图标中,如下图所示。
注意:在流程图中不允许复制消息格式图标,如果删除消息格式图标,则“流程”的消息格式属性设置为“None”。
消息格式可以通过如下两种方法创建:
(1)选择Model→Message Format命令
(2)通过流程(Flow)属性的crate选项创建,如下图:
消息格式具有的属性包括Name、Code、Comment、Stereotype、Type及Message format等。这些属性可以在属性窗口中修改,其中消息格式类型可以直接输入或者选择一下消息格式类型。
DTD:表示消息格式类型为文档类型定义(Document TypeDefinition)
XML Schema:表示消息格式类型为XML模型
RELAX NG:是一种基于语法的XML模式语言,可用于描述、定义和限制XML词汇表。
2.5.7 定义资源
资源(Resource)类似数据存储,可以是数据、文档、数据库、组建等处理过程,可以用于特殊事务。
(1)创建资源
(2)定义资源流程
“处理过程”通过“资源流程(ResourceFlow)”访问资源。在流程图中使用带有箭头的虚线表示资源流程。
资源的访问方式决定了资源流程的方向。
当“资源流程”来自于“处理过程”时,则资源的访问方式应当为Create、Update或Delete。下图表示来自“处理过程”的“资源流”,表示“处理过程”创建、更改或删除资源数据。
双击Flow 查看属性:
来自“资源”的资源流程访问方式为Read,表示“资源”被“处理过程”读取,如下图所示:
当资源的访问方式为Read和其它访问方式(Creat、Update、Delete)混合时,资源流程图标为双向箭头。
2.5.8 定义终点
终点(End)是业务流程图总处理过程的终止点。因为一个模型或包中可以使用多个业务处理流程,因此在一个包或模型中允许定义多个终点。甚至在同一个业务流程图中也可以定义多个终点,如正确与错误情况的终点就可以不同。
终点的类型包括以下选项:
1)Success:表示流程正常终止
2)Timeout:表示流程因为超时而终止
3)Business error:表示流程因为业务逻辑错误而终止
4)Technical error:表示流程因为技术错误而终止
5)Compensation:补充终点。
Powerdesigner 自带的示例:
整理自网络
-------------------------------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
Weibo: http://weibo.com/tianlesoftware
Email: tianlesoftware@gmail.com
DBA1 群:62697716(满); DBA2 群:62697977(满) DBA3 群:62697850(满)
DBA 超级群:63306533(满); DBA4 群:83829929(满) DBA5群: 142216823(满)
DBA6 群:158654907(满) DBA7 群:69087192(满) DBA8 群:172855474
DBA 超级群2:151508914 DBA9群:102954821 聊天 群:40132017(满)
--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请