專家解析 UML業(yè)務(wù)流程建模不足之處
本文和大家重點(diǎn)討論一下UML業(yè)務(wù)流程建模中的不足,統(tǒng)一建模語言UML有很多值得學(xué)習(xí)的地方,那么他有什么不足呢,這里和大家分享一下。
UML業(yè)務(wù)流程建模中的不足
統(tǒng)一建建模模語言(UML)是一種由對(duì)象管理組織(OMG)創(chuàng)立的幫助開發(fā)人員對(duì)軟件系統(tǒng)進(jìn)行特定化、可視化和文檔化的模型。UML定義了十二種類型的圖例,分成三類:四種圖形代表靜態(tài)的應(yīng)用結(jié)構(gòu);五種代表動(dòng)態(tài)的行為;三種代表組織和管理應(yīng)用的模式。行為類型包括用例圖、順序圖、活動(dòng)圖、協(xié)作圖以及狀態(tài)圖。這些行為圖經(jīng)常被用來給業(yè)務(wù)流程建模。業(yè)務(wù)流程建模符號(hào)(BPMN)定義了一種圖形化的符號(hào)用于給業(yè)務(wù)流程建模,從這一點(diǎn)上與UML的行為圖是相關(guān)和類似的。盡管如此,BPMN和UML在業(yè)務(wù)流程建模方法上有著明顯的不同。
首先,UML是將業(yè)界多種圖形的最好實(shí)踐集合在一起而發(fā)展起來的,這是它的優(yōu)點(diǎn),但也是它的缺點(diǎn)。由于它是一種雜集,它從來沒有考慮設(shè)計(jì)成一種可以一起工作的方式,因而沒有規(guī)定它定義的這十二種類型的圖形之間的聯(lián)合性問題。
因此,開發(fā)人員只能用UML來給他們的應(yīng)用系統(tǒng)的某一部分建模,而其它部分則超出了UML規(guī)范的范圍之外,屬于用實(shí)現(xiàn)級(jí)層來描述,而不是建模層。相反地BPMN定義了單一類型,但提供了同屬于基于可執(zhí)行過程元模型的多種視圖。因而,BPMN只定義了一層——過程建模層,卻可以輸出可執(zhí)行BPML語言,這種語言部署在業(yè)務(wù)流程管理系統(tǒng)上可以立即執(zhí)行。
第二,UML業(yè)務(wù)流程是以一種面向?qū)ο蟮姆绞絹斫o應(yīng)用系統(tǒng)建模,而BPMN是以面向流程的方式給應(yīng)用系統(tǒng)建模。雖然UML定義的十二種圖形是等同的,但在UML最佳的實(shí)踐中往往傾向于優(yōu)先使用第一類圖形即所謂的結(jié)構(gòu)圖,它包括類圖,對(duì)象圖,組件圖和部署圖。由此而產(chǎn)生的結(jié)果便是:由UML定義的業(yè)務(wù)流程不可避免地傾向于必須事先定義好商業(yè)對(duì)象然后才能進(jìn)行事務(wù)過程這一狹隘的做法。這也許可以解釋UML為什么在真實(shí)的業(yè)務(wù)流程中沒有被商業(yè)人員廣泛采納的原因。
BPMN采用了一種幾乎完全相反的方式來給流程建模,它提倡這樣一種方式:首先對(duì)控制流和消息流建模,對(duì)象只是在流程建模中隱含地定義。這樣做并沒有防止顯性地定義附加的商業(yè)對(duì)象,或者集成已經(jīng)存在的通過商業(yè)服務(wù)而暴露的商業(yè)對(duì)象,但由于大部分商業(yè)對(duì)象模型在核心流程模型中只是部分地被隱含地定義,總體開發(fā)過程相當(dāng)簡(jiǎn)單,并以戲劇性地簡(jiǎn)單方式來更改以應(yīng)用到現(xiàn)有的過程當(dāng)中。
第三,UML業(yè)務(wù)流程的主要目標(biāo)是系統(tǒng)架構(gòu)師和軟件工程師,而BPMN的目標(biāo)是商業(yè)分析師,系統(tǒng)架構(gòu)師和軟件工程師。一方面,UML已經(jīng)發(fā)展為一種使軟件開發(fā)過程流水作業(yè)的方法,從架構(gòu)設(shè)計(jì)到應(yīng)用實(shí)現(xiàn)——這些任務(wù)都是由技術(shù)人員承擔(dān)。在另一方面,BPMN發(fā)展了一種貫穿整個(gè)商業(yè)過程的開發(fā)過程流水作業(yè)方法,從流程設(shè)計(jì)到流程部署,前一個(gè)任務(wù)是由商業(yè)人員承擔(dān),而第二個(gè)任務(wù)是由技術(shù)人員承擔(dān)。
最后,UML并沒有定義任何可執(zhí)行的元數(shù)據(jù)模型來幫助業(yè)務(wù)流程建模,而且,這樣一種可執(zhí)行元數(shù)據(jù)模型必須使用模型驅(qū)動(dòng)框架(MDA)來定義。與此相反,BPMN是建立在流程執(zhí)行元數(shù)據(jù)模型語言BPML之上的,遵守著設(shè)計(jì)驅(qū)動(dòng)框架(DDA)因而建立一種完全可執(zhí)行過程并不需要任何附加的步驟。
綜上所述,BPMN在業(yè)務(wù)流程建模方面比UML更勝一籌,有望成為業(yè)務(wù)流程建模的新標(biāo)準(zhǔn)。
【編輯推薦】
- UML業(yè)務(wù)流程建模中的不足
- 深入剖析建模工具UML中有哪些UML圖
- 使用Visio畫UML圖行之有效的辦法
- 四步輕松實(shí)現(xiàn)用Visio畫UML類圖
- UML中各種UML圖形的建立步驟簡(jiǎn)明介紹