一. 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 處理BPM2.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 內建的樣本: