業(yè)務流程建模方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種業(yè)務流程建模方法及裝置。其中,該方法包括:根據(jù)統(tǒng)一建模語言(UML)類圖為業(yè)務流程所需要的每個業(yè)務能力接口建立各自的業(yè)務能力接口模型;為業(yè)務流程建立表示兩個業(yè)務能力接口模型之間邏輯關系的一個或多個邏輯關系模型;根據(jù)多個邏輯關系模型連接每個業(yè)務能力接口模型,并編排業(yè)務流程獲得編排后的業(yè)務流程的框架代碼。通過本發(fā)明,解決了用動態(tài)圖來表示業(yè)務流程的局限的問題,進而能夠達到方便第三方更容易地使用業(yè)務,降低開發(fā)者對編程能力和業(yè)務能力接口理解的要求,最終為用戶提供了一個所見即所得的業(yè)務能力及功能使用體驗的效果。
【專利說明】業(yè)務流程建模方法及裝置
【技術(shù)領域】
[0001]本發(fā)明涉及通信領域,具體而言,涉及一種業(yè)務流程建模方法及裝置。
【背景技術(shù)】
[0002]隨著電信網(wǎng)絡的逐步開放,具有特定功能的電信業(yè)務能力接口也越來越多。第三方開發(fā)者希望能夠更容易地使用這些電信業(yè)務能力接口,降低對電信業(yè)務能力接口的理解、以及程序設計能力的要求?;诖四康?,有必要通過圖形化業(yè)務建模方式來為用戶提供一個所見即所得的電信業(yè)務能力及功能使用體驗。
[0003]作為可以為面向?qū)ο筌浖O計提供統(tǒng)一的、標準的、可視化的建模語言,UML(Unified Modeling Language,統(tǒng)一建模語言)描述了一個系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為,將系統(tǒng)描述為一些離散的相互作用的對象并最終為外部用戶提供一定功能的模型。在UML中,UML圖包括靜態(tài)圖和動態(tài)圖,類圖屬于靜態(tài)圖,用來表示類的屬性、操作,以及類與類之間的關系;動態(tài)圖則用來表示系統(tǒng)對象的動態(tài)變化。在傳統(tǒng)的業(yè)務流程編排中,使用UML進行業(yè)務流程編排時都是利用類圖來表示對象,運用動態(tài)圖來實現(xiàn)業(yè)務流程編排,這充分利用到了靜態(tài)圖和動態(tài)圖的優(yōu)點。但是,類圖在使用時,只能描述一個對象或是兩個對象之間的關系(例如,實現(xiàn)、繼承等),而不能描述動態(tài)的業(yè)務流程及邏輯遷移。而在利用動態(tài)圖來表示業(yè)務流程編排時又存在另外一個問題,即動態(tài)圖涉及到的對象不能準確地描述一個具體的業(yè)務能力或其接口,動態(tài)圖的對象只存在一個屬性對象名稱”,而且,現(xiàn)存所有的UML建模軟件中,沒有一個動態(tài)圖能夠?qū)崿F(xiàn)流程到代碼的自動生成。
[0004]針對當前基于UML進行業(yè)務流程建模中,類圖不能描述動態(tài)的業(yè)務流程及邏輯遷移,動態(tài)圖涉及到的對象不能準確地描述一個具體的業(yè)務能力或其接口,而且無法實現(xiàn)流程到代碼的自動生成的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種業(yè)務流程建模方法及裝置,以至少解決上述問題。
[0006]根據(jù)本發(fā)明的一個方面,提供了一種業(yè)務流程建模方法,包括:根據(jù)統(tǒng)一建模語言(UML)類圖為業(yè)務流程所需要的每個業(yè)務能力接口建立各自的業(yè)務能力接口模型;為業(yè)務流程建立表示兩個業(yè)務能力接口模型之間邏輯關系的一個或多個邏輯關系模型;根據(jù)多個邏輯關系模型連接每個業(yè)務能力接口模型,并編排業(yè)務流程獲得編排后的業(yè)務流程的框架代碼。
[0007]優(yōu)選地,根據(jù)統(tǒng)一建模語言(UML)類圖為業(yè)務流程所需要的每個業(yè)務能力接口建立各自的業(yè)務能力接口模型,包括:將每個業(yè)務能力接口封裝為一個UML類圖,其中,每個UML類圖能夠指示其對應的業(yè)務能力接口所具備的業(yè)務功能;根據(jù)每個UML類圖指示的業(yè)務功能為UML類圖對應的業(yè)務能力接口建立一個業(yè)務能力接口模型。
[0008]優(yōu)選地,在根據(jù)每個UML類圖指示的業(yè)務功能為UML類圖對應的業(yè)務能力接口建立一個業(yè)務能力接口模型之后,方法還包括:為每個業(yè)務能力接口模型定義模型屬性;為每個業(yè)務能力接口模型定義模型功能,并進行封裝。
[0009]優(yōu)選地,模型屬性包括:模型背景、模型形狀、業(yè)務名稱以及模型圖標。
[0010]優(yōu)選地,模型功能包括:業(yè)務功能和函數(shù)調(diào)用功能,其中,函數(shù)調(diào)用功能能夠調(diào)用的函數(shù)中包括業(yè)務能力接口對應的業(yè)務的源代碼。
[0011]優(yōu)選地,為業(yè)務流程建立表示兩個業(yè)務能力接口模型之間邏輯關系的一個或多個邏輯關系模型,包括:判斷業(yè)務流程在邏輯遷移過程中的連接源模型和連接目的模型是否屬于業(yè)務能力接口模型;在判斷結(jié)果為是的情況下,建立連接源模型和連接目的模型之間的邏輯關系模型。
[0012]優(yōu)選地,獲得編排后的業(yè)務流程的框架代碼,包括:根據(jù)轉(zhuǎn)換機制將編排后的業(yè)務流程轉(zhuǎn)換為框架代碼,其中,轉(zhuǎn)換機制是對業(yè)務能力接口模型和邏輯關系模型進行映射得到的。
[0013]優(yōu)選地,每個業(yè)務能力接口模型中包括唯一的業(yè)務能力模型身份ID ;每個邏輯關系模型中包括唯一的邏輯關系模型身份ID。
[0014]根據(jù)本發(fā)明的另一方面,提供了一種業(yè)務流程建模裝置,包括:第一建立模塊,用于根據(jù)統(tǒng)一建模語言(UML)類圖為業(yè)務流程所需要的每個業(yè)務能力接口建立各自的業(yè)務能力接口模型;第二建立模塊,用于為業(yè)務流程建立表示兩個業(yè)務能力接口模型之間邏輯關系的一個或多個邏輯關系模型;編排模塊,用于根據(jù)多個邏輯關系模型連接每個業(yè)務能力接口模型,并編排業(yè)務流程獲得編排后的業(yè)務流程的框架代碼。
[0015]優(yōu)選地,第一建立模塊包括:封裝單元,用于將每個業(yè)務能力接口封裝為一個UML類圖,其中,每個UML類圖能夠指示其對應的業(yè)務能力接口所具備的業(yè)務功能;第一建立單元,用于根據(jù)每個UML類圖指示的業(yè)務功能為UML類圖對應的業(yè)務能力接口建立一個業(yè)務能力接口模型。
[0016]優(yōu)選地,第二建立模塊包括:判斷單元,用于判斷業(yè)務流程在邏輯遷移過程中的連接源模型和連接目的模型是否屬于業(yè)務能力接口模型;第二建立單元,用于在判斷結(jié)果為是的情況下,建立連接源模型和連接目的模型之間的邏輯關系模型。
[0017]優(yōu)選地,每個業(yè)務能力接口模型中包括唯一的業(yè)務能力模型身份ID ;每個邏輯關系模型中包括唯一的邏輯關系模型身份ID。
[0018]通過本發(fā)明,采用基于UML類圖進行動態(tài)業(yè)務流程的編排,為用戶提供了一個完全圖形化的業(yè)務流程編排過程,同時生成相應的框架代碼的方式,解決了用動態(tài)圖來表示業(yè)務流程的局限的問題,進而能夠達到方便第三方更容易地使用業(yè)務,降低開發(fā)者對編程能力和業(yè)務能力接口理解的要求,最終為用戶提供了一個所見即所得的業(yè)務能力及功能使用體驗的效果。
【專利附圖】
【附圖說明】
[0019]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
[0020]圖1是根據(jù)本發(fā)明實施例的業(yè)務流程建模方法流程圖;
[0021]圖2是根據(jù)本發(fā)明優(yōu)選實施例的業(yè)務流程建模方法流程圖;
[0022]圖3是根據(jù)本發(fā)明優(yōu)選實施例的業(yè)務流程編排流程圖;[0023]圖4是根據(jù)本發(fā)明優(yōu)選實施例的業(yè)務流程編排效果圖;
[0024]圖5是根據(jù)本發(fā)明優(yōu)選實施例的動態(tài)業(yè)務流程編排模型轉(zhuǎn)換的JAVA框架代碼示意圖;
[0025]圖6是根據(jù)本發(fā)明實施例的業(yè)務流程建模裝置的結(jié)構(gòu)框圖;以及
[0026]圖7是根據(jù)本發(fā)明優(yōu)選實施例的業(yè)務流程建模裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0027]下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0028]首先,對本發(fā)明實施例提供的業(yè)務流程建模方法的思路進行一個簡要介紹:在UML建模開發(fā)環(huán)境中將業(yè)務能力接口進行封裝為類圖,其中,每一個業(yè)務能力接口都可以看作是一個類,用類的方法和屬性來表示這個業(yè)務能力的功能。每一個業(yè)務能力的封裝可以看作成一個類的實例的封裝。進而,增加新的關系模型用于描述業(yè)務流程的邏輯遷移過程,新的關系模型區(qū)別于原先UML類圖中的關系模型,代表所連接的類圖之間的邏輯關系,用于表示業(yè)務能力接口的狀態(tài)轉(zhuǎn)移。進一步,為業(yè)務能力接口模型與描述邏輯遷移過程的關系模型創(chuàng)建對應的功能框架代碼。其中,每個新建立的業(yè)務能力接口模型和關系模型需要預先代碼封裝。最后,選擇代表所需業(yè)務能力接口的模型,根據(jù)邏輯關系,選擇新的邏輯關系模型,并連接相關的多個業(yè)務能力接口模型,完成業(yè)務流程編排,從而通過正向工程(UML類圖轉(zhuǎn)換為代碼)獲得所編排的業(yè)務流程對應的框架代碼。
[0029]圖1是根據(jù)本發(fā)明實施例的業(yè)務流程建模方法流程圖,如圖1所示,該方法主要包括以下步驟(步驟S102-步驟S106):
[0030]步驟S102,根據(jù)統(tǒng)一建模語言(UML)類圖為業(yè)務流程所需要的每個業(yè)務能力接口建立各自的業(yè)務能力接口模型;
[0031]步驟S104,為業(yè)務流程建立表示兩個業(yè)務能力接口模型之間邏輯關系的一個或多個邏輯關系模型;
[0032]步驟S106,根據(jù)多個邏輯關系模型連接每個業(yè)務能力接口模型,并編排業(yè)務流程獲得編排后的業(yè)務流程的框架代碼。
[0033]在本實例中,步驟S102可以這樣實施:先將每個業(yè)務能力接口封裝為一個UML類圖,其中,每個UML類圖能夠指示其對應的業(yè)務能力接口所具備的業(yè)務功能,再根據(jù)每個UML類圖指示的業(yè)務功能為UML類圖對應的業(yè)務能力接口建立一個業(yè)務能力接口模型。
[0034]其中,在根據(jù)每個UML類圖指示的業(yè)務功能為UML類圖對應的業(yè)務能力接口建立一個業(yè)務能力接口模型之后,還可以為每個業(yè)務能力接口模型定義模型屬性;為每個業(yè)務能力接口模型定義模型功能,并進行封裝。
[0035]在本實例中,模型屬性可以包括:模型背景、模型形狀、業(yè)務名稱以及模型圖標。
[0036]在本實例中,模型功能可以包括:業(yè)務功能和函數(shù)調(diào)用功能,其中,函數(shù)調(diào)用功能能夠調(diào)用的函數(shù)中包括業(yè)務能力接口對應的業(yè)務的源代碼。
[0037]在本實例中,步驟S104可以這樣實施:判斷業(yè)務流程在邏輯遷移過程中的連接源模型和連接目的模型是否屬于業(yè)務能力接口模型,在判斷結(jié)果為是的情況下,建立連接源模型和連接目的模型之間的邏輯關系模型。[0038]在本實例的步驟S106中,在獲得編排后的業(yè)務流程的框架代碼時,可以通過這樣的方式來實現(xiàn):根據(jù)轉(zhuǎn)換機制將編排后的業(yè)務流程轉(zhuǎn)換為框架代碼,其中,轉(zhuǎn)換機制是對業(yè)務能力接口模型和邏輯關系模型進行映射得到的。
[0039]在本實例中,每個業(yè)務能力接口模型中包括唯一的業(yè)務能力模型身份ID ;每個邏輯關系模型中包括唯一的邏輯關系模型身份ID。
[0040]下面結(jié)合圖2至圖5以及優(yōu)選實施例對上述業(yè)務流程建模方法的具體流程進行詳細說明。
[0041]圖2是根據(jù)本發(fā)明優(yōu)選實施例的業(yè)務流程建模方法流程圖,如圖2所示,該方法主要包括以下步驟(步驟S202-步驟S214):
[0042]步驟S202,使用UML類圖建立業(yè)務能力接口模型。
[0043](I)建立類圖基本實體模型對應的父類,該父類通過子類的ID,可以獲得子類代表的業(yè)務能力接口并存儲在父類的列表中,并可對子類對應的業(yè)務能力接口進行函數(shù)添加、刪除、查找、識別等操作。
[0044](2)使用UML類圖為某種業(yè)務能力接口建立一個業(yè)務能力接口模型(屬于獨立的實體模型),并應繼承自類圖基本實體模型(即建立業(yè)務流程的模型)對應的父類,并給業(yè)務能力接口模型定義一個主屬性(ID)以便識別。
[0045](3)將業(yè)務能力接口模型集成在UML建模工具的開發(fā)環(huán)境之中。此步驟依賴與具體的集成開發(fā)環(huán)境。
[0046]例如:在查詢天氣業(yè)務的實例中,包括發(fā)送查詢天氣短信和打包接收結(jié)果短信這兩個業(yè)務能力接口,則將這兩個能力接口使用類圖建立相應的實體模型。
[0047]步驟S204,為業(yè)務能力接口模型定義模型屬性。
[0048]為業(yè)務能力接口模型定義類圖模型屬性,包括模型背景,形狀及業(yè)務名稱、圖標等特有屬性。若一個業(yè)務流程編排中多次使用某一個業(yè)務能力接口,則此接口的屬性在原有基礎上加I,如實例中的名稱顯示為Sendl,Send2,但ID不會發(fā)生變化。
[0049]步驟S206,為業(yè)務能力接口模型定義相應的功能并封裝。
[0050]在本實施例中,業(yè)務能力接口模型除了支持類圖原先的基本功能,還能通過封裝源代碼來決定接口的功能,即分別建立針對不同業(yè)務模型的函數(shù),將相應業(yè)務的源代碼存儲于此函數(shù)之中,若有特殊情況,可將代碼做分段處理。存儲完成后,等待下一步的調(diào)用。
[0051]例如,短信天氣查詢中的SendModel業(yè)務能力接口表示的功能為發(fā)送查詢短信,則建立一個名為SendSource ()的方法,將發(fā)送查詢天氣短信的源代碼以字符串的形式存儲在其中。
[0052]步驟S208,建立表示業(yè)務流程的邏輯遷移過程的關系模型。
[0053]不同于原UML中類圖之間的關系模型,本實施例中,建立了一種新的可表示業(yè)務能力接口間邏輯關系的新型關系模型,該關系模型可識別所連接源與所連接目的模型的功能,即若連接源與目的都屬于步驟S202中定義的業(yè)務能力接口模型父類時,建立源業(yè)務接口與目的業(yè)務接口之間的邏輯關系方法。
[0054](I)首先建立新型關系模型父類。在實體模型對應的父類中使用了能夠識別在此模型后面的連接模型的add ()函數(shù),調(diào)用此函數(shù)將關系模型和業(yè)務能力接口模型連接在了一起。在關系模型的父類中定義獲取其連接的兩個業(yè)務能力接口模型的名稱信息函數(shù),通過此函數(shù)讀取連接目的和源業(yè)務能力接口模型的名稱屬性。
[0055](2)使用UML類圖為每一種或所需的邏輯關系(判斷/條件循環(huán)/無條件循環(huán)等)分別建立一種關系模型,并應繼承自關系模型父類,并給模型定義一個主屬性(ID)以便識另Ij。父類通過此ID,可以獲得子類代表的關系模型類型并存儲在父類的列表中,并可對子類對應的關系模型進行函數(shù)添加、刪除、查找、識別等操作。
[0056]步驟S210,為新的關系模型進行功能預定義與代碼封裝。
[0057](I)在通過ID識別出關系模型的類型(如動態(tài)調(diào)用、條件判定),生成相應的函數(shù)來儲存代碼,通過步驟S208中的步驟(I)找出此關系模型連接的源業(yè)務能力接口模型,將連接模型的代碼創(chuàng)建在此源業(yè)務能力接口源代碼的函數(shù)中。根據(jù)業(yè)務編排的邏輯順序,將代表業(yè)務間邏輯遷移過程的關系模型代碼放在源業(yè)務能力接口代碼位置之后。
[0058](2)對于一個業(yè)務能力接口模型有一個以上的關系模型相連的情況:為每個關系模型添加一個初始化為O的標簽變量,當遍歷父類列表時存在此關系,將標簽變量置1,多條連接線的變量間建立按位或的關系,若結(jié)果為1,則調(diào)用封裝所有關系模型代碼的函數(shù)。在封裝所有關系模型代碼的函數(shù)中,要重新判斷關系模型的種類,從而決定執(zhí)行哪些代碼模塊。
[0059]例如,在短信天氣查詢中,SendModel與GetModel之間的關系為SendModel需要在特定的一個條件下,執(zhí)行一個函數(shù)才能轉(zhuǎn)移到GetModel,則代表此函數(shù)的關系模型代碼添加在類的執(zhí)行主體之中,Public class Send{關系模型代碼}。根據(jù)查詢天氣業(yè)務的原理,可以知道上述這兩個類間存在條件判定后調(diào)用的關系,即發(fā)送查詢短信后,若發(fā)送的短信內(nèi)容符合要求,則會進行打包接收。通過上述步驟,建立一個名為Connectionl的關系模型,ID為ConnectionlModel,代碼以以下形式封裝在函數(shù)relation中:
[0060]Public voidmain () {
[0061]If() {class a=class.forname (/"getModelname (Target)) }
[0062]}
[0063]步驟S212,將業(yè)務能力接口模型與關系模型集成到開發(fā)環(huán)境中。
[0064]此步驟依賴與具體的集成開發(fā)環(huán)境,主要是以插件方式增加相應的業(yè)務接口模型、新型關系模型的視圖顯示及屬性到相應的集成開發(fā)環(huán)境中。
[0065]例如,定義一個繼承Eclipse中GEF工具欄的視圖區(qū)域,GEF中已有函數(shù)定義了工具欄的相關屬性,在函數(shù)變量中填入業(yè)務能力接口模型與關系模型的模型名稱,圖形標識與創(chuàng)建模型的指令。工具欄以列表形式將所有模型列出。
[0066]步驟S214,建立業(yè)務能力接口模型及關系模型映射為框架代碼的轉(zhuǎn)換機制。
[0067]( I)在建模環(huán)境中集成代碼轉(zhuǎn)換選項。
[0068]例如,采用Eclipse為集成開發(fā)環(huán)境,則需通過在Eclipse插件配置文件plugin,xml的extentions中添加菜單popupMenues,其擁有固定的可修改變量,更改后可在開發(fā)環(huán)境中出現(xiàn)java轉(zhuǎn)換選項。
[0069](2)建立代碼轉(zhuǎn)換運行機制:首先遍歷業(yè)務能力接口模型父類的ID列表,識別業(yè)務能力接口后,執(zhí)行封裝其源代碼的函數(shù),在此函數(shù)中,繼續(xù)遍歷關系模型父類列表,重置關系模型變量,按位或結(jié)果為I則調(diào)用relation函數(shù),讀取關系模型代碼。每一個業(yè)務能力接口模型分別轉(zhuǎn)換為一個代碼文件,顯示上述讀取完成后的包括業(yè)務能力接口與關系模型的源代碼。
[0070]圖3是根據(jù)本發(fā)明優(yōu)選實施例的業(yè)務流程編排流程圖,如圖3所示,該流程主要包括以下步驟(步驟S302-步驟S306):
[0071]步驟S302,在工具欄中選取合適的業(yè)務接口所對應的類圖模型,并對該圖形進行操作,自行添加變量、賦值與定義相關功能。
[0072]步驟S304,根據(jù)業(yè)務流程之間的邏輯聯(lián)系,在關系模型中選擇適合的模型,將前后業(yè)務進行邏輯連接。
[0073]步驟S306,通過代碼轉(zhuǎn)換工具選項將上述建立的類圖及關系模型轉(zhuǎn)換為框架代碼。
[0074]至于完成業(yè)務流程編排后的結(jié)果,請參考圖4,圖4是根據(jù)本發(fā)明優(yōu)選實施例的業(yè)務流程編排效果圖;為了更清楚地理解通過代碼轉(zhuǎn)換工具選項將上述建立的類圖及關系模型轉(zhuǎn)換得到的框架代碼,也請同時參考圖5,圖5是根據(jù)本發(fā)明優(yōu)選實施例的動態(tài)業(yè)務流程編排模型轉(zhuǎn)換的JAVA框架代碼示意圖。
[0075]采用上述實施例提供的業(yè)務流程建模方法,可以通過基于UML類圖進行動態(tài)業(yè)務流程的編排,為用戶提供了一個完全圖形化的業(yè)務流程編排過程,同時生成相應的框架代碼以方便用戶的編程實現(xiàn),進而實現(xiàn)第三方能夠更容易地使用業(yè)務,降低開發(fā)者對編程能力和業(yè)務能力接口理解的要求,最終為用戶提供了一個所見即所得的業(yè)務能力及功能使用體驗。
[0076]圖6是根據(jù)本發(fā)明實施例的業(yè)務流程建模裝置的結(jié)構(gòu)框圖,該裝置用以實現(xiàn)上述實施例提供的業(yè)務流程建模,該裝置主要包括:第一建立模塊10、第二建立模塊20以及編排模塊30。其中,第一建立模塊10,用于根據(jù)統(tǒng)一建模語言UML類圖為業(yè)務流程所需要的每個業(yè)務能力接口建立各自的業(yè)務能力接口模型;第二建立模塊20,連接至第一建立模塊10,用于為業(yè)務流程建立表示兩個業(yè)務能力接口模型之間邏輯關系的一個或多個邏輯關系模型;編排模塊30,連接至第二建立模塊20,用于根據(jù)多個邏輯關系模型連接每個業(yè)務能力接口模型,并編排業(yè)務流程獲得編排后的業(yè)務流程的框架代碼。
[0077]圖7是根據(jù)本發(fā)明優(yōu)選實施例的業(yè)務流程建模裝置的結(jié)構(gòu)示意圖,如圖7所示,在該優(yōu)選實施例提供的裝置中,第一建立模塊10可以包括:封裝單元12,用于將每個業(yè)務能力接口封裝為一個UML類圖,其中,每個UML類圖能夠指示其對應的業(yè)務能力接口所具備的業(yè)務功能;第一建立單元14,連接至封裝單元12,用于根據(jù)每個UML類圖指示的業(yè)務功能為UML類圖對應的業(yè)務能力接口建立一個業(yè)務能力接口模型。
[0078]在該優(yōu)選實施例提供的裝置中,第二建立模塊20可以包括:判斷單元22,用于判斷業(yè)務流程在邏輯遷移過程中的連接源模型和連接目的模型是否屬于業(yè)務能力接口模型;第二建立單元24,連接至判斷單元22,用于在判斷結(jié)果為是的情況下,建立連接源模型和連接目的模型之間的邏輯關系模型。
[0079]在該優(yōu)選實施例中,每個業(yè)務能力接口模型中包括唯一的業(yè)務能力模型身份ID ;每個邏輯關系模型中包括唯一的邏輯關系模型身份ID。
[0080]采用上述實施例提供的業(yè)務流程建模裝置,可以通過基于UML類圖進行動態(tài)業(yè)務流程的編排,為用戶提供了一個完全圖形化的業(yè)務流程編排過程,同時生成相應的框架代碼以方便用戶的編程實現(xiàn),進而實現(xiàn)第三方能夠更容易地使用業(yè)務,降低開發(fā)者對編程能力和業(yè)務能力接口理解的要求,最終為用戶提供了一個所見即所得的業(yè)務能力及功能使用體驗。
[0081]從以上的描述中,可以看出,本發(fā)明實現(xiàn)了如下技術(shù)效果:上述實施例是在UML建模軟件的環(huán)境下完成的,采用基于UML類圖進行動態(tài)業(yè)務流程的編排,為用戶提供了一個完全圖形化的業(yè)務流程編排過程,同時生成相應的框架代碼以方便用戶的編程實現(xiàn),實現(xiàn)了用類圖及增加新的關系模型來表示業(yè)務邏輯遷移的動態(tài)流程,實現(xiàn)了全部圖形化的業(yè)務流程編排,并支持將圖形化業(yè)務流程編排結(jié)果自動轉(zhuǎn)為相應的框架代碼。進一步地,能夠?qū)崿F(xiàn)第三方能夠更容易地使用業(yè)務,降低開發(fā)者對編程能力和業(yè)務能力接口理解的要求,最終為用戶提供了一個所見即所得的業(yè)務能力及功能使用體驗。
[0082]顯然,本領域的技術(shù)人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0083]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種業(yè)務流程建模方法,其特征在于,包括: 根據(jù)統(tǒng)一建模語言UML類圖為業(yè)務流程所需要的每個業(yè)務能力接口建立各自的業(yè)務能力接口模型; 為所述業(yè)務流程建立表示兩個所述業(yè)務能力接口模型之間邏輯關系的一個或多個邏輯關系模型; 根據(jù)多個所述邏輯關系模型連接每個所述業(yè)務能力接口模型,并編排所述業(yè)務流程獲得編排后的業(yè)務流程的框架代碼。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)統(tǒng)一建模語言UML類圖為業(yè)務流程所需要的每個業(yè)務能力接口建立各自的業(yè)務能力接口模型,包括: 將每個所述業(yè)務能力接口封裝為一個所述UML類圖,其中,每個所述UML類圖能夠指示其對應的所述業(yè)務能力接口所具備的業(yè)務功能; 根據(jù)每個所述UML類圖指示的業(yè)務功能為所述UML類圖對應的所述業(yè)務能力接口建立一個所述業(yè)務能力接口模型。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在根據(jù)每個所述UML類圖指示的業(yè)務功能為所述UML類圖對應的所述業(yè)務能力接口建立一個所述業(yè)務能力接口模型之后,所述方法還包括: 為每個所述業(yè)務能力接口模型定義模型屬性; 為每個所述業(yè)務能力接口模型定義模型功能,并進行封裝。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述模型屬性包括:模型背景、模型形狀、業(yè)務名稱以及模型圖標。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述模型功能包括:所述業(yè)務功能和函數(shù)調(diào)用功能,其中,所述函數(shù)調(diào)用功能能夠調(diào)用的函數(shù)中包括所述業(yè)務能力接口對應的業(yè)務的源代碼。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,為所述業(yè)務流程建立表示兩個所述業(yè)務能力接口模型之間邏輯關系的一個或多個邏輯關系模型,包括: 判斷所述業(yè)務流程在邏輯遷移過程中的連接源模型和連接目的模型是否屬于所述業(yè)務能力接口 1吳型; 在判斷結(jié)果為是的情況下,建立所述連接源模型和所述連接目的模型之間的邏輯關系模型。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,獲得編排后的業(yè)務流程的框架代碼,包括: 根據(jù)轉(zhuǎn)換機制將所述編排后的業(yè)務流程轉(zhuǎn)換為所述框架代碼,其中,所述轉(zhuǎn)換機制是對所述業(yè)務能力接口模型和所述邏輯關系模型進行映射得到的。
8.根據(jù)權(quán)利要求1至7中任一項所述的方法,其特征在于, 每個所述業(yè)務能力接口模型中包括唯一的業(yè)務能力模型身份ID ; 每個所述邏輯關系模型中包括唯一的邏輯關系模型身份ID。
9.一種業(yè)務流程建模裝置,其特征在于,包括: 第一建立模塊,用于根據(jù)統(tǒng)一建模語言UML類圖為業(yè)務流程所需要的每個業(yè)務能力接口建立各自的業(yè)務能力接口模型;第二建立模塊,用于為所述業(yè)務流程建立表示兩個所述業(yè)務能力接口模型之間邏輯關系的一個或多個邏輯關系模型; 編排模塊,用于根據(jù)多個所述邏輯關系模型連接每個所述業(yè)務能力接口模型,并編排所述業(yè)務流程獲得編排后的業(yè)務流程的框架代碼。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述第一建立模塊包括: 封裝單元,用于將每個所述業(yè)務能力接口封裝為一個所述UML類圖,其中,每個所述UML類圖能夠指示其對應的所述業(yè)務能力接口所具備的業(yè)務功能; 第一建立單元,用于根據(jù)每個所述UML類圖指示的業(yè)務功能為所述UML類圖對應的所述業(yè)務能力接口建立一個所述業(yè)務能力接口模型。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述第二建立模塊包括: 判斷單元,用于判斷所述業(yè)務流程在邏輯遷移過程中的連接源模型和連接目的模型是否屬于所述業(yè)務能力接口模型; 第二建立單元,用于在判斷結(jié)果為是的情況下,建立所述連接源模型和所述連接目的模型之間的邏輯關系模型。
12.根據(jù)權(quán)利要求9至11中任一項所述的裝置,其特征在于, 每個所述業(yè)務能力接口模型中包括唯一的業(yè)務能力模型身份ID ; 每個所述邏輯關系模型中包括唯一的邏輯關系模型身份ID。
【文檔編號】G06F9/44GK103513976SQ201210220486
【公開日】2014年1月15日 申請日期:2012年6月29日 優(yōu)先權(quán)日:2012年6月29日
【發(fā)明者】楊勇, 丁巖, 楊慶平 申請人:中興通訊股份有限公司