zoukankan      html  css  js  c++  java
  • 二、业务处理模型BPM(Business Process Model)

    一.     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 自带的示例:

     

  • 相关阅读:
    微软企业库调用Oracle存储过程返回(1个或多个)数据集
    (转)Oracle表空间
    HTML5操作
    完美实现 ASP.NET 2.0 中的URL重写伪静态(映射) >(转载)的简介与内容
    HTML5 audio 详解
    步步为营:Asp.Net使用HttpWebRequest通知,抓取,采集(转)
    js cookie操作
    多线线程
    js with用法
    asp.net AllowSorting="true"仍然不能排序的原因
  • 原文地址:https://www.cnblogs.com/aaa6818162/p/2625725.html
Copyright © 2011-2022 走看看