惠 丹
(西安理工大學 藝術與設計學院,陜西 西安 710054)
由于傳統的結構化建模方法在建模階段不能從業務領域的角度出發考慮到企業實際生產過程中遇到的困難,對企業實際生產過程中的風險控制點的設置也不能貼近實際,而對于目前的面向對象的建模方法而言,還不能有效的把業務領域知識和軟件工程很好的聯系起來,致使國內企業在ERP 系統的應用往往不能達到理想的效果,適合中國企業自身特點,滿足中國企業要求的ERP 系統還有很大的研究空間,因此,研究RUP 技術在ERP 系統建模中的應用,利用RUP 二維建模模型并引入計算機集成系統(CIMS)的領域業務維角度,提出了基于RUP 技術的三維建模模型,把業務領域在建模階段就很好的和軟件工程相結合,從而達到提高ERP 系統實施成功率的目的。
RUP 二元迭代模型是一種基于面向對象的建模過程,它是一種以二維圖為基礎為系統的建模提供幫助的方法論,在這個二維圖中時間維表示了各個階段的迭代周期,而縱向的層次維說明了系統建模的各個時間段的工作重點。而這個二維圖就是RUP 過程在不同階段的二維工作展示圖,以需求、分析、設計、實現、測試這五個模型貫穿于整個系統開發的生命周期中,以二維圖這種直觀的方式為系統建模進行一種可視化的指導。但是RUP 的業務建模的過程明顯不能充分展現企業的業務需求,因此我們在進行系統的業務建模時引入CIM-OSA 的領域維視角。CIM-OSA(Computer Integrated Manufacturing-Open System Architecture)是歐共體的21家公司和大學組成的ESPRIT-AMICE 開發出的一個開放體系結構。通過定義多視圖來實現業務模型建模,其中五個視圖分別為工作流視圖、信息視圖、組織視圖、功能視圖與資源視圖,以工作流視圖作為核心配合其他視圖定義企業模型。這樣就能形成一個貫穿系統開發整個生命周期的、開放式的,并從各個層次與角度反映企業系統建模各個階段的參考體系。它以多視圖模型的方式分析業務建模過程,使用資源、組織、信息、工作流以及功能五種視圖模型把業務建模層次化、模塊化,使RUP 的二維模型延展成為三維模型如圖1 所示。

圖1 RUP 三維框架模型
1)領域維:以CIM-OSA 所提出的不同視角進行ERP 系統的研究,它用五種視圖模型把業務建模的過程層次化,規范化,利用功能視圖模型獲取業務的目的功能,利用工作流視圖分解功能,最終成為若干個工作流,利用資源視圖、組織視圖、信息視圖描述各個工作流所涉及的企業的資源以及組織信息。并最終把業務模型轉化為系統模型。
2)層次維:主要說明了系統建模的主要步驟,系統在一次迭代的生命周期中,主要包含了一下幾個方面:
業務建模:獲取系統的目的功能,并建立系統的業務模型。
需求:對系統的業務模型進行分析,把業務模型最終映射為需求模型。
分析:完成需求模型到分析模型的映射,并對其進行維護。
設計:完成分析模型到設計模型的映射,并對其進行維護。
實現:完成設計模型到實現模型的映射,并對其進行維護。
測試:在這個階段完成實現模型到測試模型的映射,并對其進行維護。
這樣,由這幾個模型就組成了RUP 三維建模的框架。
3)階段維:RUP 過程中以初始、細化、構造與移交作為劃分的幾個主要階段,他們組成了產品的整個開發周期,我們知道RUP 方法最大的特點就是迭代,而其開發的過程可以用多個原型迭代的過程來表述,利用RUP 開發系統,會從具有最基本的工作流的原型開始,不斷進行迭代與增量,最后在最初的迭代模型中不斷加入功能,從而達到了期望的功能系統。
本文下面開始說明三維框架模型在ERP 系統的業務建模中如何進行應用。ERP 系統的業務層構架模型是以功能視圖作為需求獲取的出發點,用工作流視圖作為核心,其他視圖輔助進行統一的建模。其中功能視圖對企業的業務領域中所需的特殊功能與目的進行說明,而利用活動圖來分解功能,并清楚的表明各活動之間的關系就是工作。因此,工作流的建立需要引入企業的資源、信息與人員組織,所以工作流視圖模型就受到了包括信息視圖、資源視圖、組織視圖模型的約束。

圖2 業務模型關系圖
通過分析CIM-OSA 的領域分析方法,我們決定以這五個視圖作為出發點進行Rational 統一過程的業務建模,研究RUP 技術在ERP 系統建模中的應用。
在對ERP 系統進行業務建模,我們利用UML作為工具來對五個視圖進行建模,其中工作流視圖模型利用了活動圖進行表示,用例圖用以說明功能視圖模型,并利用UML 的靜態類圖建立資源視圖、信息視圖與組織視圖這三個模型。我們首先要做的是功能視圖模型的建立,因為功能視圖可以詳細的告訴我們企業的業務領域所需的功用。獲取功能視圖后,我們通過工作流視圖對功能視圖進行功能的分解,利用活動描述各個功能的具體活動以及各活動的關聯關系,在這個過程中,所需要的組織、信息與資源我們相應的用組織視圖、信息視圖與資源視圖這三個視圖模型進行說明。
業務建模的第一步就是功能視圖模型的建立,功能建模主要用于描述企業的業務功能,它用以明確的業務活動或工作從而完成工作和業務范圍的劃定工作。功能模型的建模工作是整個系統建模能否成功的基礎,就像目標功能分解是為數個子功能,并最終工作流的方式進行實現,而且對信息對象,資源對象,組織人員的確定以及它們對應的三個視圖模型的確立有指導作用。因此,準確的建立功能模型是至關重要的。
1)我們利用UML 用例圖來對系統的功能與目的進行獲取,然后再對業務功能進行用例模型的描述。傳統的建模方法都是以經驗或者業務慣例作為建模的依據,這樣就無法考慮到非正式需求的應用,雖然這些需求經常遇到,但卻不能建立正式的模型與檔案,UML 用例圖可以對使用者與系統間的任何一次交互操作進行描述并說明系統為使用者所提供的功能,因此,我們可以捕捉系統的目標功能。用例是對使用者和系統相互作用的一個典型的描述,它代表了該系統所支持的目標功能。用例圖中的使用者包括人和事物。用例圖所說明的功能由系統邊界與外界區分,因此用例圖可以說明一個關聯的功能范圍。
2)我們在對業務的目標功能進行分析時很難通過復雜工作流程獲取業務功能。而每一個功能的實現都有完成這個功能的活動與這個活動的參與者,而活動的成功實現功能進行必須有這些參與者的參與。通過分析,我們會發現一個特點,領域業務中的活動可能非常的繁雜,我們很難從活動中獲取實際的業務功能目標,但我們發現,如果從參與活動的角色進行分析,就能相對容易的找到業務領域的實際的業務需求,因此以角色的操作作為基點,分析其操作所驅動的活動,就能準確的進行業務需求的定位以及確認,通過運用角色分析法,進行業務領域的功能分析手段,并利用UML 的用例圖來進行表現。
3)角色在RUP 中的定義就是無論人或者物,只要其參與到了一個業務活動中,那么它就具有角色屬性,我們可以把業務想象為一個人機交互系統,如果某人或某物和這個系統發生了互動,那么它就是角色。因此角色并不是指具體的人,而是代表了能夠驅動業務,觸發功能的一類人或物的抽象概念。在同一個業務發生的過程中,會有不同的個體卻在同一的時間地點參與系統相似活動,驅動同一個功能,此時他們的行為屬于同一角色行為。當捕捉到對業務系統進行功能驅動的人員或事物后,對驅動相同功能的人或事物分組和歸類,并利用業務系統的活動進行劃分,就能夠把角色進行整理和分析,然后對系統角色進行歸類,使主次要角色區別開來。主要角色是功能目標的驅動者,而次要角色在完成功能的活動中發揮了作用。
4)確定和設計用例,在完成上面的工作后,確定了角色,下面我們需要從角色出發,對用例進行設計,而且這一過程也應該按先主后次的順序進行。首先要為角色確立一個框架用例,然后根據具體角色參與了哪些業務活動,進行了什么操作,以及這個業務活動所涉及到的資源,來豐滿這個框架用例,這樣通過不斷的迭代,就能得到成熟的用例了。
5)簡要描述:得到正式用例后,為了能夠清晰的表達用例中角色與活動的各種關系,需要對用例中的活動,以及角色的操作等進行文字性的說明,從而準確的描述功能從觸發到完成的主要流程。
6)整體描述:對于已經確定的用例進行綜合描述,以整體的視角解讀用例,說明角色和用例模型的交互過程,并闡述他們之間的關系。
完成了功能視圖的建模,已經能夠得到一個整體的業務用例,然而這樣的用例是很多個活動的集合,這樣復雜的功能模型很難去在具體的開發過程中實現,因此工作流圖模型作為五個視圖模型的核心,就是要對功能圖模型進行分解,把功能視圖分解成若干個工作流,并且通過分支、順序、聚合、并行、條件、循環來表現整個業務流程的邏輯順序結構,工作流圖可以由UML 的活動圖來進行表達,而且工作流圖是動態模型,如果業務的業務需求發生了變化,可以通過更改活動圖的狀態來完成,從而實現了對需求的快速響應。工作流視圖作為核心視圖,它起到的作用是分析功能視圖模型所提供的信息,從其中獲取以單位功能為基礎的活動流,并最終對每個單位功能建立起活動流視圖模型。而業務用例模型的用例都具有實現的過程,工作流模型根據每個用例,以及具體的領域業務,把用例實現成為有組織關聯的活動流,并以活動圖進行說明。工作流模型作為RUP 技術系統建模的關鍵,它與其他領域維模型也有著直接的關系。
工作流圖中的角色已經具有活動集,以ERP 系統為例,系統管理員負責對系統中各個職責人員的權限分配以及整個系統的運行維護,而銷售業務員負責在其所控制的范圍內的訂單的管理與合同的具體操作。系統創建用戶之初,就要區別用戶的職責,然后對其進行權限的分配。權限的分配也是區分角色的手段。通過上述方法,組織視圖是對工作流圖中的各類角色的屬性與關系進行說明的模型。
信息視圖建模:信息視圖模型是對工作流圖模型中的對象進行分析,抽離出對象的信息屬性,對對象的信息屬性進行概念化。信息視圖模型基于類圖的一直表達,它能直觀將系統的各種信息做數據庫映射。
資源視圖顧名思義是對資源的描述,資源視圖同樣是使用UML 的類圖進行說明的,而這里需要強調的是,資源視圖中的人力資源并不是我們日常所提到的人力資源,而是把人的生產力作為資源來看的。而物質資源,支持類資源和應用資源根據企業的類型不同,也會有一些差異,就不在這里贅述了。
文章通過研究RUP 技術在ERP 系統建模中的應用,把業務領域在建模階段就很好的和軟件工程相結合,從而達到提高ERP 系統實施成功率的目的。
[1]羅 鴻.ERP 原理·設計·實施[M].第2 版.北京;電子工業出版社,2004.
[2]劉志成,翁健紅.基于RUP 的業務用例和系統用例的應用[J].電腦知識與技術,2006(11):37-38.
[3]呂西紅,陳志剛.統一軟件開發過程RUP 中的關鍵技術研究[J].信息技術,2006(1):15-16.
[4]李 慧,陶陪基,李文鋒.XP、RUP 結合起來開發小型項目[J].計算機工程與設計,2005(6):19-20.
[5]江 瑜.PSP 支持RUP 的應用研究[J].計算機工程與設計,2005(9):36-37.
[6]張 潔.統一軟件開發過程RUP[J].山東輕工業學院學報:自然科學版,2006(3):11-12.
[7]屈正平.基于UML 的中小型化工企業ERP 系統建模與實現[D].上海:華東師范大學,2009.
[8]沈彥南.基于UML 的ERP 系統建模研究與應用[D].杭州:浙江工業大學,2006.