大多數(shù)軟件開(kāi)發(fā)實(shí)踐者都知道,UML在對(duì)真實(shí)世界的現(xiàn)象進(jìn)行建模時(shí)非常優(yōu)秀,
用UML進(jìn)行有效業(yè)務(wù)建模
。這一特性可以有效幫助分析員和客戶(hù)進(jìn)行溝通。一些希望使用業(yè)務(wù)建模的團(tuán)隊(duì)常常有一些經(jīng)驗(yàn)性的問(wèn)題,例如:
什么時(shí)候真正需要業(yè)務(wù)模型?什么時(shí)候用例模型獨(dú)立存在?
我在進(jìn)行精確的業(yè)務(wù)建模時(shí)我能用哪些UML圖形?我如何知道是否用順序圖或者交互圖。有例子嗎?
業(yè)務(wù)模型如何涉及到其他模型(如領(lǐng)域模型,用例模型等等)呢?我如何有機(jī)地組織這些模型?
很不幸,本文的焦點(diǎn)集中于應(yīng)用UML進(jìn)行業(yè)務(wù)建模的問(wèn)題,而很少把業(yè)務(wù)建模和系統(tǒng)建模進(jìn)行比較。這將使用戶(hù)和分析員對(duì)使用UML進(jìn)行業(yè)務(wù)建模的感到灰心。
本文主要通過(guò)一個(gè)例子講述它們的關(guān)系。這個(gè)例子主要用來(lái)改進(jìn)某企業(yè)的流程,主要涉及到IT部門(mén)、法律顧問(wèn)、企業(yè)架構(gòu)師、項(xiàng)目經(jīng)理。
業(yè)務(wù)用例模型概覽
在這個(gè)簡(jiǎn)單的例子中的第一步是完成業(yè)務(wù)用例模型概覽。如圖所示,有兩個(gè)業(yè)務(wù)主角和兩個(gè)業(yè)務(wù)用例。
我們總結(jié)業(yè)務(wù)用例如下:
Prepare Tender: 準(zhǔn)備系統(tǒng)說(shuō)明書(shū)的流程。
Select Vendor: 選擇賣(mài)方的流程。
我們總結(jié)業(yè)務(wù)主角如下:
End User Manager: 公司內(nèi)的需要自動(dòng)控制系統(tǒng)的部門(mén)。
Vendor Manager: 賣(mài)方的管理者。
在這個(gè)例子中,得到一個(gè)新系統(tǒng)的核心業(yè)務(wù)目標(biāo)被精化為兩個(gè)子目標(biāo):
詳細(xì)說(shuō)明想得到的系統(tǒng)。
選擇并評(píng)估候選人。
業(yè)務(wù)用例規(guī)約
這一部分,我們來(lái)看看如何描述業(yè)務(wù)用例,雖然RUP中對(duì)業(yè)務(wù)用例規(guī)約有很詳細(xì)的模版,但我們主要把精力放在基本流和擴(kuò)展流上。
Prepare Tender的基本流:
用例的目標(biāo)是確定招標(biāo)文件,同時(shí)可以將招標(biāo)文件發(fā)布給候選賣(mài)主。
指定用戶(hù)代表。
用戶(hù)代表準(zhǔn)備系統(tǒng)規(guī)約。
IT部門(mén)復(fù)審系統(tǒng)規(guī)約,并改進(jìn)它,形成招標(biāo)文件。
用戶(hù)代表批準(zhǔn)招標(biāo)文件。
擴(kuò)展流:
系統(tǒng)規(guī)約無(wú)效。當(dāng)IT部門(mén)發(fā)現(xiàn)需求太含糊,最終用戶(hù)的管理者必須重新制作需求。那么這個(gè)用例從第二步從新開(kāi)始,如果最終用戶(hù)管理者不想繼續(xù),也可以終止。
系統(tǒng)已存在。如果IT部門(mén)發(fā)現(xiàn)這個(gè)需要的系統(tǒng)和其它部門(mén)存在的系統(tǒng)很類(lèi)似,IT部門(mén)就提交給最終用戶(hù)管理者。如果最終用戶(hù)管理者希望繼續(xù)尋找新系統(tǒng),他必須寫(xiě)出該系統(tǒng)的特色,并重新提交該說(shuō)明書(shū),回到第二步,如果最終用戶(hù)管理者不想繼續(xù),也可以終止。
招標(biāo)文件和需求規(guī)約沖突。在第四步,最終用戶(hù)管理者發(fā)現(xiàn)招標(biāo)文件有問(wèn)題,它將被拒絕,IT部門(mén)必須重新做它,用例在第三步繼續(xù),
管理資料
《用UML進(jìn)行有效業(yè)務(wù)建模》(http://www.msguai.com)。業(yè)務(wù)用例實(shí)現(xiàn)
在這部分,我們從幾個(gè)方面去實(shí)現(xiàn)業(yè)務(wù)用例。
以工作流為中心
以流程自動(dòng)化為中心
以信息處理為中心
焦點(diǎn)集中在工作流
我們要精力集中在業(yè)務(wù)角色的職責(zé)上,如圖所示,Prepare Tender有三個(gè)業(yè)務(wù)角色:
下面的順序圖描述了Prepare Tender的基本流。
上圖中的消息可以映射到每個(gè)業(yè)務(wù)角色的職責(zé)(如下圖所示)。這個(gè)技術(shù)非常類(lèi)似于用例分析。由此可見(jiàn)RUP業(yè)務(wù)建模的技術(shù)是很強(qiáng)大的:相同的技術(shù)可用于業(yè)務(wù)建模和系統(tǒng)建模。
焦點(diǎn)集中在流程自動(dòng)化
現(xiàn)在我們準(zhǔn)備去探索業(yè)務(wù)主角和業(yè)務(wù)角色職責(zé),明確什么時(shí)候使用業(yè)務(wù)系統(tǒng)以及如何使用業(yè)務(wù)系統(tǒng)。在我們的例子中,我們有兩個(gè)業(yè)務(wù)系統(tǒng),如下圖所示。
TMS是準(zhǔn)備招標(biāo)和選擇賣(mài)主的系統(tǒng)。這是一個(gè)新系統(tǒng)。
CMS是跟蹤合同的系統(tǒng),已存在。
在RUP中,業(yè)務(wù)對(duì)象建模的指導(dǎo)方針建議可以對(duì)“業(yè)務(wù)系統(tǒng)”定義一個(gè)新的泛型圖標(biāo),在這篇文章中我們將使用“業(yè)務(wù)角色”圖標(biāo)來(lái)表示“業(yè)務(wù)系統(tǒng)”。將有一個(gè)新的圖標(biāo)在新的UML業(yè)務(wù)建模規(guī)范中。
下面的順序圖描述了Prepare Tender基本流的實(shí)現(xiàn),包含了需求的業(yè)務(wù)系統(tǒng)。
上圖中的消息可以映射到業(yè)務(wù)角色的職責(zé)。如下圖所示:
從上圖中可以得到系統(tǒng)用例,如下圖:
焦點(diǎn)集中在信息處理
現(xiàn)在讓我們看看業(yè)務(wù)用例在信息處理上的實(shí)現(xiàn),這就是說(shuō),有多少業(yè)務(wù)實(shí)體。經(jīng)過(guò)分析,我們將得到四個(gè)業(yè)務(wù)實(shí)體,如下圖:
下圖是實(shí)現(xiàn)Prepare Tender的交互圖(側(cè)重于信息處理)。
上面兩張圖的消息可以映射到每上業(yè)務(wù)實(shí)體的職責(zé),如下圖:
下圖是上圖的一個(gè)簡(jiǎn)化。
結(jié)論
軟件系統(tǒng)開(kāi)發(fā)出來(lái)是為了達(dá)到業(yè)務(wù)目標(biāo),可是,用戶(hù),分析員,和開(kāi)發(fā)人員常常生活在不同的世界;他們有不同的看法和用不同的行話(huà)。小組間的通訊障礙導(dǎo)致在解釋各種系統(tǒng)需求時(shí)發(fā)生很多激烈的爭(zhēng)論。具有代表性的一點(diǎn)是,他們的改變不是因?yàn)橛脩?hù)改變了想法,而是因?yàn)樽畛醯男枨笮枰獌艋?/p>
來(lái)自:http://tech.it168.com/m/2008-01-10/200801101004390.shtml