0 引言
ERP業務架構平臺層的主要目的之一在于為基于業務流程建模為導向的、以大規模系統化復用為指導思想的、以組件組裝及框架代碼生成為主要方式的多團隊協同開發提供有效支持。
W.M.P.van der Aalst(2001)認為[1]:當前的工作流系統通常假定每個工作項(WorkItem)是由單個的執行者(Worker)完成的,故不能對團隊協同方式的工作項執行提供支持。文獻[2]對支持團隊開發的企業組織模型進行了研究,給出了包含組織縱向和橫向結構的組織元模型,通過將組織規則和組織結構的分離,實現在組織結構不變的情況下,通過修改組織規則以達到提高企業敏捷性的目的;文獻[3]針對工作流系統對動態團隊和不確定任務支持的要求,利用面向對象建模團隊的組織結構,采用OCL語言規范化描述團隊內部結構約束和團隊-任務約束,用來解決團隊對應的工作流任務不確定問題;Action Technologies公司提供的Action Workflow著重支持以員工和/或團隊間通信為主的過程[4];文獻[5]進一步對基于工作流的ERP系統開發與實施方法進行了研究。
本文認為,現有研究中在對團隊工作流與行業版ERP構建相結合方面還很缺乏,在對協同任務內容描述與集成領域也需做進一步的研究。通過簡單集成現有工作流管理系統和群件產品尚不能對行業版ERP研發中各種協同活動提供有效支持。研究發現,適用于行業版ERP構建業務平臺的工作流管理具有一些新的特點和需求,表現在:
(1)行業版ERP構建工作流是項目驅動的,ERP研發項目任務、核心工作流中任務流及活動流網絡在任務內容上具有分層遞進性。任務及活動的輸入、輸出中涉及對復用資產庫及軟件制品的配置管理。
(2)在行業版ERP系統的構建過程中,既存在大量的非結構化的、自發的溝通與協同活動,也存在一些結構化的、有組織的管理與控制過程,并且這些性質各異的過程和活動往往交織在一起。因此,能夠有效支持行業版ERP構建的工作流管理平臺必須具有較好的適應性。
(3)行業版ERP構建任務的執行者在更多情況下表現為一組相互協作的團隊,如:可復用組件的獲�。ㄉa)團隊、組件使用團隊、面向行業領域工程的需求獲取團隊、系統測試團隊等。在面向特定行業構建行業版ERP系統的過程中,需要這些團隊在各自的任務領域具有很大的決策自主性,可以靈活設置局部工作流程,并且這些流程在團隊整體協同過程中經常發生調整。
(4)項目團隊成員具有動態性和不確定性,如:特定成員可以同時擔當多個角色,參與到幾個不同團隊中,而且在不同階段還可能發生角色的轉換。這使得在工作流定義階段任務指派規則難以確定,而過于精確的定義則缺乏靈活性和可操作性。其次,將不同性質而又有關聯關系的任務指派給不同的協作團隊、團隊成員等去執行,會帶來很多需要解決的問題,如:人員分工、安全維護、多用戶數據管理等。
(5)除了對開發團隊資源進行集成外,還要體現對各目標行業業務知識、企業(行業)模型及其他各類軟件組件的重用的考慮,以便對目標行業族ERP系統的整個生命周期進行有效管理與控制。
1 面向行業版ERP構建的工作流協同開發平臺框架總體考慮
(1)對集成項目管理功能的考慮
在工作流管理中集成項目管理功能是可行的[6,7]。項目管理用于描述協同產品開發的任務結構及過程控制,工作流用于描述協同產品開發的業務流程;項目管理的目標是在一定的時間、成本、質量等約束條件下,保證項目的順利完成,工作流管理則通過業務過程的自動化及監控保障各子任務得到及時處理;項目管理關注協同開發所涉及的工期、資源、進度、成本、質量等內容,各子任務具有明確的開始時間和結束時間,屬于企業管理范疇,而工作流管理關注業務流程的建模及運行控制,屬于過程自動化范疇�?梢�,二者的管理層次、關注點是不同的,具有互補性。通過項目管理與工作流管理的集成,可將項目中任務的內部過程"可視化",即將具體的產品開發業務過程與特定的項目管理相聯系,及時獲取項目的進展情況,提高協同開發過程的管理水平和管理效率。項目管理與工作流管理的集成可克服工作流中缺乏對任務工期優化、成本控制及多工作流系統之間的相互協調等不足。
(2)對集成軟件配置管理功能的考慮
軟件配置管理[8](Software Configuration Management,SCM)是指一套按規則管理軟件開發和維護其中各種中間軟件產品的方法,它研究怎樣在不同時刻標識軟件系統的配置,以便系統化地控制配置的變化,以及在整個軟件生命周期內維護配置的完整性和可追溯性,主要包括配置識別、變化控制、狀態記錄報告以及審計等4種活動�,F有的軟件配置管理支持平臺,通常提供版本控制、項目管理、成員權限控制、BUG追蹤、郵件列表等功能[9,10],這些功能滿足了項目開發的基本需要的最小子集,但功能之間呈現離散狀態,相互之間缺乏有機融合。而借助工作流技術中的"流程路由"則可以有機整合這些離散的功能集,表現在軟件開發過程支持上,就是可以實現集成的配置管理。同樣地,可實現對復用庫的集成管理。
(3)對團隊協同開發支持的考慮
可通過綜合多種途徑實現對團隊協同開發活動的支持:○1集成項目管理工具,實現對開發任務的分解,分解的結果體現為各開發團隊(如:組件生產團隊、行業ERP構建團隊、管理團隊)提供任務列表及關聯約束信息;○2在工作流建模元模型層次,提供用于團隊建模的支持元素,如:融入組織建模的相關概念(部門、團隊、人員、角色等)、支持流程定義的逐步求精等;○3融入主流群件產品及工具,如:即時通訊工具、Email、BBS等,支持開發人員之間的消息發布與及時溝通。
2 面向行業版ERP構建的工作流協同開發平臺框架
基于以上分析,現提出基于工作流的協同開發環境體系結構,見圖1。
圖1 基于工作流的協同開發環境體系結構
該協同開發環境體系結構以工作流建模與執行為核心,完全兼容工作流聯盟給出的通用工作流產品結構[10]。通過擴展工作流定義工具的能力,提供協同建模管理器以支持對多團隊、分布式、逐步求精的建模方式;通過軟件總線整合其他協同開發的相關平臺工具,主要有:項目管理工具、復用庫管理工具、配置管理工具、外部應用、群件系統等,從而對基于軟件資產復用方式的、以多團隊協同方式構建行業版ERP系統提供全面的支持。面向行業版ERP構建的工作流協同開發平臺框架主要涉及兩項關鍵技術,包括:支持多團隊協同開發的工作流建模技術,工作流管理與項目管理、軟件配置管理的集成技術。
2.1 支持多團隊協同開發的工作流建模
通過在現有的工作流建模工具進行擴展,融入對團隊等基本建模元素的支持,可以彌補傳統工作流管理系統對團隊協同建模支持能力的不足。在文獻[2,3]的基礎上,現給出支持團隊協同開發的工作流建模元素的靜態結構模型,如圖2。這里進一步給出相關的主要概念:
圖2 支持協同開發的工作流建模元素的靜態結構
定義1 團隊(Team):為完成一項共同任務而建立的組織單元,該組織單元可以是臨時性的、虛擬的,當任務結束后團隊解體;也可以是永久性的,此時可類似于傳統企業中的功能性組織部門。團隊具有類型,通常具有職位結構,團隊通常由多個團隊成員組成,團隊中的特定成員可以同時參加多個團隊組織,從而可支持矩陣型組織類型。
定義2 團隊類型(TeamType):是角色概念在團隊層次上的擴展,描述團隊使命、特征等意義上的分類。如:對行業版ERP構建組織而言,典型的團隊類型有組件獲取團隊、行業版ERP系統開發團隊、系統測試團隊等。
定義3 團隊職位(TeamPos):對團隊內職位需求的描述。對特定類型團隊而言,通常具有不同的職位結構,特定職位上需要的人員配置數量上也會有差異。如:對組件獲取團隊,通常會設置領域及行業工程顧問、需求獲取工程師、組件封裝與測試工程師,每一類職位需要的人數配置需求等。傳統意義上的角色可看作是只包含一個職位的團隊類型。
定義4 任務(Task):一個工作邏輯單元,通常任務是不可分割且必須完整執行。如果在任務執行期間發生任何錯誤,則必須采用"回滾"以保證任務的原子性。任務的不可分割性依賴于任務定義的環境。任務有手動、自動和半自動任務之分。
為了滿足分布式、分層次建模的需要,這里按照是否對目標任務進一步細化需要,把任務進一步分為原子任務(AtomicTask)和復合任務(ComplexTask)。復合任務是一類子任務的集合,可由原子任務和其它的復合任務構成。
為解決多成員協同建模問題,文獻[11]提出一種基于"條件分層有向圖"的工作流模型。在該模型中,有向圖中的節點可以表示活動節點、連接節點或子流程,有向圖中的有向邊表示節點間的依賴關系,整個工作流模型表示為一個層次網狀有向圖。由圖2可知,這里建立的工作流建模元素的靜態結構同樣可支持這種層次網狀圖的工作流模型的建立。
定義5 案例(Case):指一項具體業務。如:下采購訂單、入庫等。每個案例都有一個唯一標識,有自己的生命周期,有一系列狀態。
定義6 工作項(WorkItem):是案例(Case)和將要執行的任務的結合體。也可把工作項看作是被執行的實際工作塊。活動(Activity)是工作項的實際執行。工作項和活動都與具體案例有關。
定義7 工作流(Workflow):對業務過程的描述,工作流由任務和條件組成。工作流定義了案例的所有可能的執行路線,所有可能的狀態,從而定義了案例的生命周期。
2.2 工作流管理與項目管理、軟件配置管理的集成
(1)集成層次
面向行業版ERP開發強調的是多團隊協同工作方式。項目管理體現了軟件開發的過程組織特點,軟件系統是抽象的邏輯產品,軟件的開發、維護、版本的升級等基本上都具有很強的項目性特點,可通過項目管理工具對行業版ERP構建及可復用資產的提取及維護任務進行任務分解。另外,在產品研發及可復用組件獲取、分析、評價、封裝、測試等不同階段,不同子項目之間需要傳遞大量信息。如何根據各種業務流程來組織和控制行業版ERP產品構建或可復用資產獲取等的高效運行便是工作流的研究重點,而在軟件開發及組件開發的整個生命周期各階段中的各業務流程中各項子任務的執行,都會涉及各類組件(制品)的創建、組裝、訪問及其各中間制品版本的記錄與維護,而這正是軟件配置管理關注的重點。鑒于此,本文在文獻[6]的基礎上,提出一種面向行業版ERP構建過程管理的層次模式,見圖3。
圖3中,項目層位于協同開發過程的最高抽象層次,它直接服務與系統產品開發與實施的總目標;子項目層處于基于子項目任務集的群體協同工作方式的邏輯結構層,它從組織上保證產品協同開發的敏捷性和并行性;宏觀業務流程層是從全局角度對子項目及項目過程組織的抽象與建模,面向協作群體的業務過程組織;微觀活動序列層從細粒度上(如:特定開發團隊)對局部流程進一步求精。整個協同產品開發過程管理由上層的項目管理和下層的工作流所組成,項目管理主要完成項目的"宏觀過程"管理,工作流管理層主要完成"微觀過程"的管理。軟件配置管理活動則覆蓋整個軟件生命周期的各階段,與項目管理層和工作流管理層都有聯系。實際上,在各層次上都可引入工作流管理技術與工具,從而實現以工作流為中心的集成的管理與開發模式。
圖3 面向團隊協同的行業版ERP構建過程的層次管理模式
同時,這種層次型管理模式,實現了軟件開發的項目規劃、應用邏輯和過程邏輯的分離,從而可以在不變更項目目標或內容的前提下而只需修改任務模型即可改變項目的執行流程,提高了過程管理的柔性。
(2)集成框架
通過以上分析,現進一步提出一個集成項目管理、工作流管理和配置管理的集成框架,如圖4。
圖4 項目管理、工作流管理與配置管理的集成框架
這里采用共享數據庫的方式實現信息集成,其功能集成則通過任務執行調度組件及與外部應用的接口組件實現。任務調度組件既是項目管理中任務流的執行引擎,同時又是工作流系統中的流程執行調度組件,項目管理與工作流管理的集成是通過任務執行調度中間模塊接口及對調度規則知識、工作流執行相關數據、工作流模型庫中流程定義等信息的共享實現的;工作流管理與軟件配置管理的集成是通過在工作流流程定義階段建立各種配置和變更管理工作流[9],并加入對各類配置管理對象的任務描述,這樣,在任務執行階段,相關配置管理任務項在工作流引擎的控制下被路由到相關管理及開發人員,進而在與外部應用接口組件的支持下,以自動或手工方式激活相關外部應用的工作界面以實施配置管理活動或訪問外部復用庫,進而根據執行后的狀態更新工作流相關數據,從而實現工作流管理與配置管理的集成。
(3)集成的實現途徑
上述討論可知,這里采用共享數據庫的方式實現項目管理、工作流管理與軟件配置管理的集成。基于數據庫的信息集成不僅可以為集成對象提供方便、快捷、高效的數據調用,而且易于保證數據的一致性。圖5進一步給出了主要數據庫表及其關系。
圖5 基于數據庫的項目管理、工作流管理與軟件配置管理的集成機理
通過在項目管理數據庫的任務表中引入任務執行條件,在相應的工作流定義表及流程路由規則表中可建立對項目任務相關信息的參照關系;在工作流執行階段,通過跟蹤確認所定義的工作流中各任務的實際執行時間信息、所處狀態、執行異常情況等,可實現對項目進度的監控。另外,通過在工作表單(Form)模型中加入配置管理的需求信息、配置管理對象(如各類目標軟件制品)信息、相關的外部系統模塊及接口信息等,這樣,在相應的外部應用接口組件的支持下,可實現與配置管理平臺工具或復用庫管理工具的集成。而且,借助工作流管理系統,可改善現有配置管理平臺對流程管理能力的不足,真正實現基于流程的配置管理策略,能夠保證針對特定配置工作流只有特定人員才能訪問到特定資產。
這里實現集成的關鍵是對任務模型和工作表單模型的設計。任務是項目管理層次的一個基本操作單位,同時又是工作流管理層次上對工作流定義的重要依據;工作表單既是工作流中實現基于文檔協同的主要媒介,也是傳遞配置管理需求、外系統模塊及接口描述信息的重要數據結構,是進一步基于外部應用接口組件實現與外部平臺工具(如配置管理平臺工具、復用庫管理系統平臺)集成的關鍵。
根據系統集成管理的要求,這里把任務屬性進一步分為基本屬性、控制屬性和上下文屬性等三類屬性。常見的基本屬性有任務名稱、任務標識、任務目標、任務類型(如原子任務、復合任務)、任務編號、任務優先級等;任務控制屬性,如:執行者、執行者角色、時間信息(計劃周期、計劃開工時間、計劃完工時間、實際開工時間、實際完工時間等);任務上下文屬性,如:所屬項目、輸入信息、輸出信息、所需資源、應用軟件、過程規則等。控制屬性用于描述項目管理系統所涉及的參數等上層項目管理所必須的一些基本信息;任務上下文屬性描述工作流定義時所需要的相關參數,如:任務隸屬的項目名稱及類型、任務執行所需的各類資源、任務執行所需的各種應用軟件、任務路由決策的過程規則等。過程規則用于指導建立工作流模型中的任務路由路徑空間,涉及的資源分配、信息流向、組織角色選擇、操作信息對象等組成工作流的基本要素。
3 結束語
行業化是ERP發展的重要研究方向之一,行業版ERP的研發對于解決目前商品化ERP產品本身及ERP實施過程中存在的諸多問題提供了一個新途徑。ERP的自身特點決定了行業版ERP系統的構建過程是一個多群體的協同過程。本文建立了一個面向行業版ERP構建的、以工作流管理系統為核心的、集成項目管理和軟件配置管理的、支持多團隊協同開發的平臺框架,并對該框架的關鍵技術進行了深入研究,希望能對行業版ERP構建研究起到一定的借鑒作用。
參考文獻
[1] W.M.P. van der Aalst,A.Kumar.A reference model for team-enabled workflow management systems[J].Data & Knowledge Engineering, 2001,38: 335-363
[2] 朱海平,李培根,張國軍,等.支持團隊工作的工作流技術研究[J].計算機集成制造系統-CIMS,2003,9(8): 635~640
[3] 楊東,張申生,江志斌.基于UML OCL、支持團隊開發的企業組織元模型[J].高技術通訊,2004,6:60~64
[4] Wil van der Aalst , Kees van Hee.工作流管理--模型、方法和系統[M].北京:清華大學出版社,2004.
[5] 黃雙喜,范玉順.基于工作流的ERP系統開發與實施[J],計算機集成制造系統-CIMS,2004,10(2):139-143
[6] 孔建壽,張友良,汪惠芬,等.協同開發環境中項目管理與工作流管理的集成[J].中國機械工程,2003,14(13):1122-1127
[7] 彭毅,吳柞寶,張珂殊,等.并行工程產品開發過程的建模方法學[J].系統仿真學報,1996,8(3):14-18
[8] Anne Mette,Jonassen Hass.Configuration Management Principles and Practice[M]. Addison Wesley Professional,2003
[9] Brian A.White.Software Configuration Management Strategies and Rational Clearcase [M].Addison Wesley Publishing,2000
[10] David Hollingsworth.The Workflow Reference Model(Issue 1.1).Workflow Management Coalition,Document Number TC00-1003.
[11] LI Feng, GUO Yuchai, LIN Shouxun, etal. Dynamic modification in workflow prototype system--AWFlow. In: Proceedings of 4th International Workshop on CSCW in Design. Compiegne, France :111-114
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文網址:http://www.guhuozai8.cn/html/consultation/1082065303.html