業(yè)務(wù)對象模型(也叫領(lǐng)域模型)是描述業(yè)務(wù)用例實(shí)現的對象模型。它是對業(yè)務(wù)角色和業(yè)務(wù)實(shí)體之間應該如何聯(lián)系和協(xié)作以執行業(yè)務(wù)的一種抽象。
業(yè)務(wù)對象模型從業(yè)務(wù)角色內部的觀(guān)點(diǎn)定義了業(yè)務(wù)用例。該模型為產(chǎn)生預期效果確定了業(yè)務(wù)人員以及他們處理和使用的對象(“業(yè)務(wù)類(lèi)和對象”)之間應該具有的靜態(tài)和動(dòng)態(tài)關(guān)系。它注重業(yè)務(wù)中承擔的角色及其當前職責。這些模型類(lèi)的對象組合在一起可以執行所有的業(yè)務(wù)用例。
一、業(yè)務(wù)對象模型的核心元素
業(yè)務(wù)角色顯示了一個(gè)人承擔的一系列職責。
業(yè)務(wù)實(shí)體表示使用或產(chǎn)生的可交付工件、資源和事件。
業(yè)務(wù)用例實(shí)現顯示了協(xié)作的業(yè)務(wù)角色和業(yè)務(wù)實(shí)體如何執行某個(gè)工作流程。使用以下幾種圖來(lái)記錄業(yè)務(wù)用例實(shí)現:
圖顯示參與的業(yè)務(wù)角色和業(yè)務(wù)實(shí)體。
活動(dòng)圖,其中泳道顯示業(yè)務(wù)角色的職責,而對象流顯示如何在工作流程中使用業(yè)務(wù)實(shí)體。
序列圖描述業(yè)務(wù)角色和業(yè)務(wù)主角之間交互的詳細情況,并顯示如何在業(yè)務(wù)用例執行過(guò)程中訪(fǎng)問(wèn)業(yè)務(wù)實(shí)體。
業(yè)務(wù)對象模型將結構的概念和行為的概念結合了起來(lái)。
它是一個(gè)紐帶工件,用于對業(yè)務(wù)關(guān)系進(jìn)行清晰的表述,表述方式與軟件開(kāi)發(fā)人員的思考方式類(lèi)似,同時(shí)仍保留一些純粹的業(yè)務(wù)內容。將我們所知道的有關(guān)業(yè)務(wù)的信息按照對象、屬性和職責進(jìn)行了合并。
它探索業(yè)務(wù)領(lǐng)域知識的本質(zhì),所采用的方式使我們能夠從對業(yè)務(wù)問(wèn)題的思考轉變到對軟件應用程序的思考上來(lái)。
它是一種確定需求的方法,使需求能夠為待建信息系統使用,并得到該系統的支持。
確定業(yè)務(wù)對象定義、對象間關(guān)系、對象名稱(chēng)和對象間關(guān)系名稱(chēng)的流程使我們能夠以一種能被業(yè)務(wù)領(lǐng)域專(zhuān)家理解和驗證的精確方式來(lái)表達業(yè)務(wù)領(lǐng)域知識。
二、如何命名業(yè)務(wù)角色和業(yè)務(wù)實(shí)體
對每個(gè)業(yè)務(wù)角色和實(shí)體進(jìn)行命名,要求名稱(chēng)能夠表示對象的職責。
一個(gè)好的名稱(chēng)通常是名詞或動(dòng)詞的名詞形式。
每個(gè)名稱(chēng)都必須是唯一的。
避免使用發(fā)音或拼寫(xiě)類(lèi)似的詞以及同義詞作為名稱(chēng)。
可能需要用好幾個(gè)單詞來(lái)組成一個(gè)明確的、無(wú)需額外說(shuō)明的名稱(chēng)。
三、涉及業(yè)務(wù)用例的業(yè)務(wù)對象
當您研究參與業(yè)務(wù)中不同用例的業(yè)務(wù)角色和業(yè)務(wù)實(shí)體時(shí),可能會(huì )發(fā)現某些對象如此相似,以致于實(shí)際上是一個(gè)類(lèi)。即使不同的業(yè)務(wù)用例沒(méi)有相同的要求,類(lèi)之間也可能相似到足以被視為一個(gè)相同現象的程度。如果是這種情況,您應該將相似的類(lèi)合并在一起。這就產(chǎn)生了一個(gè)業(yè)務(wù)角色或業(yè)務(wù)實(shí)體,它擁有足以滿(mǎn)足不同業(yè)務(wù)用例要求的關(guān)系、屬性和操作。
因此,多個(gè)業(yè)務(wù)用例可以對同一個(gè)類(lèi)有不同的要求。對于業(yè)務(wù)角色來(lái)說(shuō),如果有些雇員有能力擔當所描述的一組角色,那么同樣還要有一些比較靈活可以勝任多個(gè)職位的雇員。這會(huì )使您的業(yè)務(wù)更加靈活。
四、業(yè)務(wù)對象模型和信息系統
在業(yè)務(wù)對象模型中,業(yè)務(wù)角色代表雇員將擔當的角色,而業(yè)務(wù)實(shí)體則代表雇員將處理的對象。一方面,可以使用業(yè)務(wù)對象模型來(lái)確定業(yè)務(wù)雇員將如何進(jìn)行交互,以產(chǎn)生業(yè)務(wù)主角所期望的結果。另一方面,系統用例模型和設計模型指定了業(yè)務(wù)的信息系統。
業(yè)務(wù)建模和系統建模解決不同的問(wèn)題,其抽象程度也不一樣。所以一般而言,信息系統不應該直接出現在業(yè)務(wù)模型中。
另一方面,雇員作為業(yè)務(wù)角色來(lái)使用信息系統,實(shí)現相互之間的通信、與主角的通信以及對業(yè)務(wù)實(shí)體信息進(jìn)行訪(fǎng)問(wèn)。所有的鏈接、關(guān)聯(lián)關(guān)系或屬性都有某個(gè)潛在的信息系統對其進(jìn)行支持。
這兩類(lèi)建模環(huán)境有以下關(guān)系:
作為特定業(yè)務(wù)角色的雇員與信息系統的一個(gè)系統主角相對應。如果建立的信息系統使該雇員在業(yè)務(wù)用例中的所有工作都得到一個(gè)系統用例的支持,則他最有可能得到最好的支持。
另外,如果業(yè)務(wù)用例規模大、生存期長(cháng)或者合并了多個(gè)獨立領(lǐng)域中的工作,信息系統用例將可以支持業(yè)務(wù)角色的操作。
雇員工作的對象(建模為業(yè)務(wù)實(shí)體)常在信息系統中得到表現。在信息系統的對象模型中,這些業(yè)務(wù)實(shí)體作為實(shí)體類(lèi)出現。
業(yè)務(wù)實(shí)體之間的關(guān)聯(lián)關(guān)系和聚合關(guān)系常常使設計模型中實(shí)體類(lèi)之間產(chǎn)生對應的關(guān)聯(lián)關(guān)系和聚合關(guān)系。
因此,系統用例訪(fǎng)問(wèn)并操作設計模型中的實(shí)體類(lèi),這些實(shí)體類(lèi)代表由被支持業(yè)務(wù)用例訪(fǎng)問(wèn)的業(yè)務(wù)實(shí)體。
最后,直接使用業(yè)務(wù)信息系統的業(yè)務(wù)主角也成為信息系統的系統主角。
當確定對支持業(yè)務(wù)的信息系統的需求時(shí),這些關(guān)系十分關(guān)鍵。
五、作為業(yè)務(wù)主角的信息系統
有時(shí)候,一個(gè)業(yè)務(wù)的雇員與另一個(gè)業(yè)務(wù)的雇員使用其他業(yè)務(wù)的信息系統進(jìn)行聯(lián)系。從建模后業(yè)務(wù)的角度來(lái)看,這個(gè)信息系統就是一個(gè)業(yè)務(wù)主角。
示例:
某個(gè)軟件開(kāi)發(fā)人員努力去理解他所負責的產(chǎn)品中出現的問(wèn)題。為了了解問(wèn)題是否源于他所使用的編程工具,他與供應商的萬(wàn)維網(wǎng)服務(wù)器聯(lián)系,并仔細研究編程工具當前版本中已知問(wèn)題的列表。通過(guò)這種方式,業(yè)務(wù)角色“軟件開(kāi)發(fā)人員”與業(yè)務(wù)角色“提供商的萬(wàn)維網(wǎng)服務(wù)器”進(jìn)行交互。
六、在業(yè)務(wù)對象模型中明確建模的信息系統
通常的做法是不在業(yè)務(wù)對象模型中對信息系統進(jìn)行明確建模,因為信息系統只是業(yè)務(wù)角色所使用的工具而已。但當業(yè)務(wù)的信息系統被客戶(hù)直接使用時(shí),這種做法就不合適了。如果這個(gè)交互是業(yè)務(wù)服務(wù)的主要部分,您可能會(huì )出于商業(yè)上重要性的考慮而希望在業(yè)務(wù)對象模型中將其展示出來(lái)。電話(huà)銀行業(yè)務(wù)就是此類(lèi)信息系統的一個(gè)很好的例子。
從業(yè)務(wù)建模的觀(guān)點(diǎn)來(lái)看,建議使用以下方法:
將信息系統看做一個(gè)和主角交互的完全自動(dòng)化的業(yè)務(wù)角色。
如果信息系統和任何其他業(yè)務(wù)角色或業(yè)務(wù)實(shí)體相關(guān),則考慮使用鏈接或關(guān)聯(lián)關(guān)系來(lái)說(shuō)明這種關(guān)系。系統可能會(huì )向某個(gè)業(yè)務(wù)角色通知其進(jìn)度,或者使用與某個(gè)業(yè)務(wù)實(shí)體相關(guān)的信息。
簡(jiǎn)單地說(shuō)明業(yè)務(wù)角色,同時(shí)列出代表業(yè)務(wù)對象模型中信息系統的服務(wù)。
在信息系統模型中對信息系統和其環(huán)境的所有細節和特征進(jìn)行建模。
引入一個(gè)命名約定,這樣可以容易地在業(yè)務(wù)角色中確定那些完全自動(dòng)化的業(yè)務(wù)角色,例如,一個(gè)前綴或后綴,如“自動(dòng)<業(yè)務(wù)角色名稱(chēng)>”或“<業(yè)務(wù)角色名稱(chēng)>(IT 系統)”。您甚至可以使用一個(gè)特殊的圖標來(lái)定義構造型。
七、好的業(yè)務(wù)對象模型的特征
總的來(lái)看,業(yè)務(wù)角色和業(yè)務(wù)實(shí)體執行業(yè)務(wù)用例中描述的所有活動(dòng),絕不多一點(diǎn),也絕不少一點(diǎn)。
業(yè)務(wù)對象模型有效、全面地對組織進(jìn)行了展示。 (來(lái)源:Rational Software Corp.)
聯(lián)系客服