當前位置:招聘信息大全網 - 物業管理 - 商業建模的例子

商業建模的例子

在上壹篇文章中,我們討論了很多關於用例的知識,但是當我們在企業中實施的時候,往往會覺得很難把握企業的用例,這壹點我們在用例的誤區中也提到過。在實際情況中,妳可能對角色的分類、用例的劃分、粒度的把握沒有概念,但是這些實際的東西對妳的項目影響很大。

在RUP,有許多概念支持用例的實現:業務參與者、業務實體、業務用例、業務工作者和業務用例實例。為了清晰地展示業務建模,我們采用了――UP方法的代表人物RUP。但在實際操作中,要看每個人的具體情況。這裏說的概念都是為了幫助妳理解建模過程,不是生搬硬套。

業務用例以及業務用例實例在RUP定義如下:

業務用例示例是在業務中執行的壹系列操作,它們為業務的各個主角產生可見的結果。業務用例定義了壹組業務用例實例。業務用例有名稱。

首先,妳可能對業務用例以及業務用例例子有疑問。實際上,它們可以看作是基類和子類的關系。在壹個企業中,可能有許多特定的工作流。比如妳去麥當勞,點漢堡和點薯條的工作流程是不壹樣的。眾多的過程使得調查需求變得困難。即使是最古老的哲學也告訴我們,表面現象是復雜的,本質是簡單的。為了簡化需求工作,我們會點漢堡和薯條作為點餐。這樣,點餐就是壹個業務用例,點漢堡和薯條就是相應的業務用例例子。

業務角色和業務主角的概念也很容易混淆。其實看他們的英語意願更容易理解他們的差異:商務工作者,商務演員。工作者是指工作者,演員是指參與者。所以他們的區別就是壹個在裏面,壹個在外面。業務角色是實現業務用例的人,業務主角是與業務相關的人。比如銀行的票據業務,客戶是業務的主角,他和業務有關系。而流通票據人員是業務角色,因為他們是實現業務用例的人。在RUP,它們的定義如下:

業務角色代表業務中的壹個角色或壹組角色。當參與業務用例的實現時,業務角色與其他角色進行交互,並操縱業務實體。

業務主角代表與業務相關的角色,由業務環境中的某人或某物扮演。

區分業務角色和業務主角取決於環境。當妳開發壹個企業的ERP系統時,部門的所有員工都屬於業務角色,而當妳開發壹個部門應用時,其他部門的員工可能屬於業務主角。

在壹些文章中,業務實體被稱為BusinessObject。不管妳叫它什麽,它的意思是壹樣的。以銀行信貸為例,我們涉及到很多業務主體:合同、單筆貸款、客戶等等。所以業務實體是企業中非常基本的元素。如果妳覺得銀行議付的例子不好理解。可想而知,餐廳裏的菜單、漢堡等等都是經營實體。在RUP,企業實體被定義為:

業務實體代表業務角色處理或使用的東西。

很久以前,我們討論過需求可變性。相對於需求的不斷變化,業務實體對象已經存在很久了。航空公司今天有優惠,明天就不打電話了。還有公開打折和秘密打折。但是機票從來沒有太大變化,只有幾個屬性:價格、航班、出發地、目的地。因此,經營實體相對穩定。這對我們來說意義重大:

壹個業務實體通常代表對多個業務用例或用例實例有價值的東西,因此業務實體對象的生命周期相當長。壹般來說,壹個好的商業實體不包含關於其用戶和使用方法的信息。(RUP)

業務實體組成的業務用戶會穩定很多。以前的開發方式是基於模塊的,當需求發生變化時,模塊就得重寫。如果使用穩定的業務實體來實現業務用例,那麽業務用例的變更只需要重新組合業務實體。當然,要實現還是有很多技術的,也沒那麽簡單。要知道,四個現代化不是壹天就能實現的。

使用業務實體還有壹個重要的原因:業務實體的特性決定了它們本質上是可重用的。就像麥當勞的銷售體系、生產體系、供應鏈體系中都有漢堡實體壹樣。天啊,多麽美麗的世界!

使用業務實體的最大困惑之壹是它們應該被視為類還是屬性。這取決於商業環境對這個實體的重視程度。客戶是銀行信貸部門中非常重要的壹類,但它只是票據部門中信用證實例的壹個屬性。這個問題很重要。設計上的失誤可能會導致未來系統改進的巨大痛苦。比如本來應該設計成類的業務實體,被設計成了屬性,以後添加屬性的時候,就要面臨數據庫的調整和系統的修改。