孟凡超,初佃輝,戰(zhàn)德臣 ,2,徐曉飛 ,2
(1.哈爾濱工業(yè)大學(威海)企業(yè)與服務(wù)智能計算研究中心,山東威海 264209,mengfanchao74@163.com;2.哈爾濱工業(yè)大學企業(yè)與服務(wù)智能計算研究中心,哈爾濱 150001)
一種基于擴展UML的企業(yè)應(yīng)用軟件PIM模型
孟凡超1,初佃輝1,戰(zhàn)德臣1,2,徐曉飛1,2
(1.哈爾濱工業(yè)大學(威海)企業(yè)與服務(wù)智能計算研究中心,山東威海 264209,mengfanchao74@163.com;2.哈爾濱工業(yè)大學企業(yè)與服務(wù)智能計算研究中心,哈爾濱 150001)
針對UML在企業(yè)應(yīng)用軟件建模中可用性差和效率低的問題,提出一種基于擴展UML的企業(yè)應(yīng)用軟件PIM模型.通過對企業(yè)應(yīng)用軟件特點的分析,建立了一個以業(yè)務(wù)對象為中心的多視圖集成PIM模型,對UML進行擴展,在它的元模型中增加了描述企業(yè)應(yīng)用軟件PIM模型中的概念及其之間關(guān)系的元類、版型和標記,并采用包對這些概念和關(guān)系進行不同視點的劃分.基于擴展UML的企業(yè)應(yīng)用軟件PIM模型通過業(yè)務(wù)對象的豐富語義實現(xiàn)了UML中各種圖之間基于語義的集成,改善了UML的可用性,提高了企業(yè)應(yīng)用軟件的建模效率.結(jié)果表明:通過實際案例驗證了該模型的可行性和有效性.
模型驅(qū)動的體系結(jié)構(gòu);平臺獨立模型;企業(yè)應(yīng)用軟件;業(yè)務(wù)對象
隨著軟件技術(shù)的發(fā)展和軟件應(yīng)用的推廣,企業(yè)應(yīng)用軟件(Enterprise Software and Applications,ESA)的規(guī)模和復(fù)雜度日益增加,軟件開發(fā)人員面臨著越來越多的來自于業(yè)務(wù)環(huán)境和IT實現(xiàn)技術(shù)方面的挑戰(zhàn),迫切地需要解決提高軟件開發(fā)效率、降低軟件成本的問題.OMG[1]提出了模型驅(qū)動的體系結(jié)構(gòu)(Model Driven Architecture,MDA),MDA是一種基于形式化模型的系統(tǒng)描述和互操作方法,它強調(diào)在不同層次模型之間的自動的轉(zhuǎn)換,已經(jīng)成為近幾年軟件工程界的研究熱點.MDA將模型劃分為:計算無關(guān)模型(Computation Independent Model,CIM)、平臺獨立模型(Platform Independent Model,PIM)、平臺相關(guān)模型(Platform Specific Model,PSM)和代碼(Code)4個層次,PIM處于4層模型中的承上啟下位置,是MDA的核心.
目前已經(jīng)出現(xiàn)許多企業(yè)應(yīng)用軟件的PIM建模方法和語言,例如,CIM-OSA、GRAI、ARIS和DEM等[2-5].然而這些方法主要關(guān)注于業(yè)務(wù)層次的建模,而對于軟件建模層次所描述的內(nèi)容則比較少.OMG[6]推薦使用UML作為MDA的標準建模語言.UML是一種圖形化建模語言,UML2.0版本提供了13種圖(Diagram),并通過不同圖使用的一個組合來描述特定領(lǐng)域模型.UML雖然能夠描述所有領(lǐng)域的PIM模型,但是其自身有一些局限性[7],從而影響了它在特定領(lǐng)域建模中的角色.為了改善UML的可用性,本文針對ESA的特點,提出了一個基于擴展UML的企業(yè)應(yīng)用軟件PIM模型(也稱為ICE-PIM),該模型是ICEMDA的一個重要組成部分[8].ICE-PIM基于業(yè)務(wù)對象的豐富語義實現(xiàn)了UML中各種圖之間基于語義的集成,改善了UML的可用性,提高了ESA的建模效率.
PIM是由CIM映射而來的.對于ESA來說,CIM是以過程為中心的,以企業(yè)的流程優(yōu)化為目的.PIM是以CIM層中的信息文檔及其流程化處理為中心.如果能夠?qū)⑾到y(tǒng)中的每個信息文檔的數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)依賴、將作用在每個信息文檔上的操作和活動、將信息文檔與信息文檔之間的銜接關(guān)系分析清楚,便可很好地完成 ESA的設(shè)計[9].而需要分析的這些內(nèi)容非常適合采用面向?qū)ο蟮姆椒ㄟM行描述,因此ICE-PIM采用面向?qū)ο蟮募夹g(shù)進行建模.
ICE-PIM中的主要對象被稱為業(yè)務(wù)對象(Business Object,BO).從用戶角度而言,BO是指用戶所采集、傳遞和處理的單據(jù)、報表等信息文檔,以及在其上的狀態(tài)處理和操作處理的集成體.從系統(tǒng)角度,業(yè)務(wù)對象是指具有獨立標識的、具有一定生命周期的、由若干數(shù)據(jù)集和操作集構(gòu)成的一個集成對象.
BO體現(xiàn)了業(yè)務(wù)數(shù)據(jù)的集成,將若干相互關(guān)聯(lián)的數(shù)據(jù)集圍繞一個核心數(shù)據(jù)集集成在一起,以整體的或可關(guān)聯(lián)的方式提供給用戶,使用戶可以非常方便地進行業(yè)務(wù)處理.BO是有生命周期的,從BO建立開始,到BO完成使命歸入檔案為止,體現(xiàn)了完整的生命周期.BO的操作集(也稱為BO活動)具有順序上的銜接關(guān)系,BO之間也存在處理上的銜接關(guān)系,這種銜接關(guān)系就體現(xiàn)了企業(yè)的業(yè)務(wù)過程(Business Process,BP).從BO角度,BP就是BO活動的銜接關(guān)系和BO銜接關(guān)系的描述,這種銜接關(guān)系體現(xiàn)了ESA軟件圍繞BO及其處理的集成.通常情況下,BO是靜態(tài)的,而BP是動態(tài)的.將BO的不同活動,按照用戶需要的方式、需要的順序、需要的銜接關(guān)系、需要的控制關(guān)系進行動態(tài)的組合,就是BP.在提出了BO后,這種變化可區(qū)分為相對穩(wěn)定的BO和可變的BO銜接關(guān)系,相對穩(wěn)定的BO由業(yè)務(wù)對象模型來刻畫,可變的BO則由基于BO的工作流模型來刻畫.
將業(yè)務(wù)對象模型中的每個BO所包含的數(shù)據(jù)部分提取出來,并加以細化可以形成系統(tǒng)的數(shù)據(jù)模型,數(shù)據(jù)模型可以分為兩個層次:基于BO關(guān)聯(lián)的全局數(shù)據(jù)模型和基于實體關(guān)系的單個BO數(shù)據(jù)模型.將工作流模型中的每個BO活動的執(zhí)行角色提取出來,同時建立與企業(yè)中相應(yīng)組織或崗位之間的關(guān)聯(lián)關(guān)系,可以建立系統(tǒng)的角色模型.因此,一個ICE-PIM是由業(yè)務(wù)對象模型、基于BO的工作流模型、數(shù)據(jù)模型和角色模型4部分構(gòu)成,圖1描述了ICE-PIM模型的構(gòu)成要素.
MDA采用了基于元對象設(shè)施(MOF)的4層元數(shù)據(jù)結(jié)構(gòu),從上到下依次是:M3層(元-元模型)、M2層(元模型)、M1層(模型)和 M0層(實例).在MDA的元模型方法中,有兩種構(gòu)建M2層元模型的方法[9]:1)利用MOF從語法和語義上構(gòu)建一個全新的元模型;2)是在UML元模型的基礎(chǔ)上,利用UML的擴展機制進行擴充,構(gòu)建一個基于UML的元模型.采用方法2既可以利用UML的擴展機制也可以利用UML的固有建模元素來來建模領(lǐng)域相關(guān)的概念和關(guān)系,目前大多數(shù)基于UML的MDA工具都支持這種擴展方式,不需要重新開發(fā)建模工具,工作量比較小,因此,采用UML的擴展機制來定義ICE-PIM元模型.
在UML元模型的基礎(chǔ)上[10],ICE-PIM 元模型增加了新的版型、標記和元類,并采用包來管理這些元素.為了提供對視點的顯示支持,在元模型層次上對ICE-PIM建模中的概念及其之間的關(guān)系進行不同視點的劃分,其中,每個視點是對ICE-PIM某一方面特征的描述.ICE-PIM元模型包含5個包:BO Model元模型、Workflow Model元模型、Role Model元模型和Data Model元模型,其中,BO Model元模型又包括:BO聯(lián)系圖元模型、BO類圖元模型、BO狀態(tài)圖元模型、BO數(shù)據(jù)模型圖元模型和BO用例圖元模型.圖2描述基于擴展UML的ICE-PIM元模型的結(jié)構(gòu).
圖1 ICE-PIM的構(gòu)成要素
圖2 基于擴展UML的ICE-PIM元模型(頂層)
BO聯(lián)系圖描述了一個系統(tǒng)所包含的業(yè)務(wù)對象以及業(yè)務(wù)對象之間的關(guān)系.業(yè)務(wù)對象之間的關(guān)系可以分為:關(guān)聯(lián)關(guān)系,集成關(guān)系和分類關(guān)系.業(yè)務(wù)對象之間的關(guān)聯(lián)關(guān)系是指不同的業(yè)務(wù)對象依據(jù)一定的規(guī)則建立的數(shù)據(jù)映射關(guān)系.根據(jù)相互關(guān)聯(lián)的兩個業(yè)務(wù)對象的數(shù)據(jù)映射關(guān)系,可以分為主鍵引用性關(guān)聯(lián)、主鍵多屬性關(guān)聯(lián)和模糊性關(guān)聯(lián).集成關(guān)系表示一個業(yè)務(wù)對象的實例經(jīng)過自動計算、生成、自動結(jié)轉(zhuǎn)等方式,而產(chǎn)生另一個業(yè)務(wù)對象.業(yè)務(wù)對象之間的集成是由相應(yīng)的活動來實現(xiàn),根據(jù)實現(xiàn)集成的活動所處的位置可以分為:拉式集成和推式集成.根據(jù)業(yè)務(wù)對象某些屬性的取值不同,可以派生出更具體的子業(yè)務(wù)對象,這些子業(yè)務(wù)對象可以擁有不同的數(shù)據(jù)集、狀態(tài)集以及活動集,這些屬性值用于為業(yè)務(wù)對象分類,因此稱作業(yè)務(wù)對象的值類型.
BO聯(lián)系圖元模型是在UML元模型中的kernel包、AssocationClass包和PowerTypes包的基礎(chǔ)上,采用重型擴展機制進行定義,它描述了一個系統(tǒng)所包含的業(yè)務(wù)對象以及業(yè)務(wù)對象之間的關(guān)聯(lián)、集成和分類關(guān)系.圖3描述了BO聯(lián)系圖元模型中所包含的元類.
業(yè)務(wù)對象(Business Object)是UML元模型中元類Class的子類,每個BusinessObject包含1個BO類圖、0個或多個BO狀態(tài)圖、0或1個BO用例圖和1個BO數(shù)據(jù)模型圖,這些圖分別在BO類圖元模型、BO狀態(tài)圖元模型、BO用例圖元模型和BO數(shù)據(jù)模型圖元模型中定義.業(yè)務(wù)對象關(guān)聯(lián)(BOAssociation)是UML元模型中的元類Association的子類,其存在于兩個BusinessObject之間,屬性Rule表示關(guān)聯(lián)規(guī)則,可以利用兩個關(guān)聯(lián)端的角色名稱來分別表示參與關(guān)聯(lián)的兩個數(shù)據(jù)集的名稱.集成(Integration)是UML元模型中的元類Assocaition的子類,其存在于兩個BusinessObject之間,其中,一個關(guān)聯(lián)端的導(dǎo)航性為false,另一關(guān)聯(lián)端的導(dǎo)航性為true,并且兩個關(guān)聯(lián)端的聚集性都為none.業(yè)務(wù)對象值類型(BOValueType)是UML元模型中的元類Class的子類,屬性BO:String表示被分類的業(yè)務(wù)對象的名稱,DataSets:String表示業(yè)務(wù)對象值類型所包含的數(shù)據(jù)集的集合.
在BO聯(lián)系圖元模型中,由于新定義的元類具有特殊的語義,因此,需要對這些元類所涉及的約束規(guī)則進行明確地說明和定義.本文采用對象約束語言O(shè)CL來定義這些約束規(guī)則.
規(guī)則1 BOCategories存在于BusinessObject和BOValueType之間,其中,父類為 BusinessObject,子類為 BOValueType.
規(guī)則3 KeyRefAssociation存在于兩個BusinessObject之間,其中,一個關(guān)聯(lián)端的導(dǎo)航性為none,另一個關(guān)聯(lián)端的導(dǎo)航性為ture,兩個關(guān)聯(lián)端的聚集性都為none.
規(guī)則5 Integration 存在于兩個BusinessObject之間,其中,一個關(guān)聯(lián)端的導(dǎo)航性為none,另一個關(guān)聯(lián)端的導(dǎo)航性為true,兩個關(guān)聯(lián)端的聚集性都為none.
圖3 BO聯(lián)系圖元模型
由于BO聯(lián)系圖是采用重型UML擴展機制進行定義的,因此,需要在模型層次上定義新的建模符號來描述BO聯(lián)系圖.對于UML中的類,目前通用的UML建模工具只能夠定義其所包含的行為圖(狀態(tài)圖、活動圖、順序圖和協(xié)作圖),而不能定義其所包含的類圖和用例圖.為了既能夠使用通用UML建模工具來建立BO聯(lián)系圖,又能夠體現(xiàn)基于業(yè)務(wù)對象集成的思想,本文采用命名規(guī)范來表示每個BusinessObject所包含的BO類圖、BO狀態(tài)圖和BO數(shù)據(jù)圖和BO用例圖,這樣可以進行規(guī)范化建模,提高了建模效率.對于BO及其關(guān)系,可以采用UML Profile來定義.目前,大多數(shù)通用UML建模工具都提供了構(gòu)造型和標記等擴展機制,可以非常容易地進行擴展,不會增加相應(yīng)的復(fù)雜度.由于特定領(lǐng)域的建模概念比UML中抽象的概念更容易被用戶理解,因此,減少了建模的復(fù)雜性.表1列出了BO聯(lián)系圖中每種元素所對應(yīng)的構(gòu)造型和標記.
表1 BO聯(lián)系圖中的構(gòu)造型和標記的定義
以威海海都食品有限公司的生產(chǎn)計劃編制過程為例,來說明采用BO聯(lián)系圖來描述業(yè)務(wù)對象及其之間的關(guān)系.
生產(chǎn)計劃的編制主要涉及7個業(yè)務(wù)對象:客戶申請、銷售合同、客戶訂單、年生產(chǎn)計劃、兩月生產(chǎn)計劃、周生產(chǎn)計劃和生產(chǎn)任務(wù)單.客戶訂單分為正常訂單和緊急訂單.客戶申請到客戶訂單、銷售合同到客戶訂單之間存在拉式集成關(guān)系,客戶訂單到周生產(chǎn)計劃存在推式集成關(guān)系.銷售合同與客戶訂單之間存在主鍵多屬性關(guān)聯(lián).客戶訂單與年生產(chǎn)計劃之間存在主鍵引用性關(guān)聯(lián).圖4描述了生產(chǎn)計劃的編制的BO聯(lián)系圖.
圖4 生產(chǎn)計劃編制BO聯(lián)系圖
目前,ICE-PIM已經(jīng)成功應(yīng)用于許多ERP項目中.實踐證明,通過采用ICE-PIM建模與基于標準UML建模比較,建模效率提高了40%,程序開發(fā)效率提高了60%.
1)ICE-PIM模型具有豐富的語義信息,因此,易于企業(yè)用戶理解和交流;
2)ICE-PIM模型是一個以業(yè)務(wù)對象為中心的集成模型,通過業(yè)務(wù)對象可以將UML中的各種Diagram顯式地集成在一起,從而可以有效地指導(dǎo)用戶進行一致化建模;
3)ICE-PIM元模型是在UML元模型的基礎(chǔ)上擴展而來的,同時屏蔽了UML元模型中與ESA建模不相關(guān)的內(nèi)容,從而使得建模者能夠更好地關(guān)注于業(yè)務(wù)需求的描述,同時也易于模型擴展.由于UML元模型是一個開放的、可擴展的元模型,因此,ICE-PIM元模型也具有可擴展性,它可以隨著領(lǐng)域需求的變化而不斷演化.
[1]SOLEY R M.The OMG Staff Strategy Group[R/OL].Model Driven Architecture:OMG,White Paper[2000 -11].http://www.omg.org/mda/papers.htm.
[2]DOUMEINGTS G,VALLESPIR B,CHEN D.Methodologies for designing CIM system:A survey[J].Computers in Industry, 1995,25(3):263-280.
[3]SCHEER A W.Architecture for integrated information system[C]//WILLIAMS T J.The Purdue Enterprise Reference Architecture.[S.l.]:Computers in Industry, 1994,24(2/3):141-158.
[4]WILLIAMS T J.The purdue enterprise reference architecture[J].Computers in Industry, 1994,24(2/3):141-158.
[5]ZACHMAN J.A framework for information systems architecture[J].IBM Systems Journal, 1987,26(3):276-292.
[6]OMG/ORMSC.Model Driven Architecture[R/OL].OMG Document Ormsc[2001 -07 -01].http://www.omg.org/mda.
[7]DAVID S F著.應(yīng)用MDA[M].鮑志云,譯.北京:人民郵電出版社,2003.
[8]戰(zhàn)德臣,馮錦丹,聶蘭順,等.ICEMDA:一種可互操作可配置可執(zhí)行的模型驅(qū)動體系結(jié)構(gòu)[J].電子學報, 2008,36(12A):120-127.
[9]ZHAN Dechen,XU Xiaofei,MENG Fanchao,et al.Interoperability Oriented Business Object Model[C]//Proceedings of the 3rd International Conference on Interoperability for Enterprise Software and Applications.London:Spriger,2007:459 -462.
[10]OMG.UML Superstructure,V2.1.1[R/OL].Formal[2007-02-05].http://www.omg.org/uml.
An enterprise software and application PIM model based on extended UML
MENG Fan-chao1,CHU Dian-hui1,ZHAN Den-chen1,2,XU Xiao-fei1,2
(1.Research Center of Intelligent Computing for Enterprises & Services,Harbin Institute of Technology at Weihai,Weihai 264209,China,mengfanchao74@163.com;2.Research Center of Intelligent Computing for Enterprises&Services,Harbin Institute of Technology,Harbin 150001,China)
Aimed at the poor usability and low efficiency of UML modeling for enterprise software and application(ESA),an ESA oriented platform-independent model(ESA-PIM)based on extended UML is proposed to solve the problem.First,an integrated multi-view PIM model based on business objects was constructed by analyzing the characteristics of ESA.Then using the extended mechanism of UML,the new meta-classes,stereotypes and tagged values that describe the concepts and relationships in ESA-PIM were added into UML2.0 meta-model,and they were divided into different viewpoints in the extended UML meta-model.The ESA-PIM proposed in this paper realizes the semantic-based integration between various UML diagrams through the richsemantic business objects,which improves the usability of UML and enhances the modeling efficiency of ESA.The feasibility and effectiveness of ESA-PIM were verified by an application case.
model driven architecture;platform-independent model;enterprise software and application;business object
TP311
A
0367-6234(2010)05-0791-06
2009-11-16.
國家自然科學基金資助項目(60773064);國家科技重大專項資助項目(2009ZX01045-001-002-4;國家高技術(shù)研究發(fā)展計劃資助項目(2007AA01Z 128,2008AA04Z101);山東省自然科學基金資助項目(2007ZRA10003);山東省科學技術(shù)發(fā)展計劃基金資助項目(2008GG10004010);江蘇省科學技術(shù)發(fā)展計劃資助項目(BE2009065);哈爾濱工業(yè)大學(威海)??茖W研究基金資助項目(HIT(WH)XB200901).
孟凡超(1974—),男,博士,講師;
戰(zhàn)德臣(1965—),男,教授,博士生導(dǎo)師;
徐曉飛(1962—),男,教授,博士生導(dǎo)師.
(編輯 張 紅)