一種基于數(shù)據(jù)驅(qū)動的業(yè)務(wù)流程設(shè)計(jì)方法
【專利摘要】本發(fā)明公開了一種基于數(shù)據(jù)驅(qū)動的業(yè)務(wù)流程設(shè)計(jì)方法,該方法通過基于流程走向的邏輯條件和基于數(shù)據(jù)的數(shù)據(jù)條件來控制流程運(yùn)行,完美符合實(shí)際業(yè)務(wù)流程的需要。本發(fā)明基于角色的任務(wù)執(zhí)行模式,可以更有效地將多個流程實(shí)例的同一任務(wù)推送給屬于同一角色的多個人執(zhí)行,從而提高業(yè)務(wù)流程運(yùn)行效率和人員利用率;相比較傳統(tǒng)的業(yè)務(wù)流程設(shè)計(jì),本發(fā)明在完美支持實(shí)際業(yè)務(wù)流程設(shè)計(jì)的前提下,極大簡化了流程設(shè)計(jì)的內(nèi)容,且這些內(nèi)容更加直觀和易讀,更容易被非專業(yè)的流程設(shè)計(jì)人員所接受。本發(fā)明在流程執(zhí)行過程中添加了“顯示數(shù)據(jù)”功能,這一功能支持流程實(shí)例的參與者可以從各自視角來觀察該流程的執(zhí)行狀態(tài),這也是與傳統(tǒng)業(yè)務(wù)流程設(shè)計(jì)相比一個本質(zhì)的區(qū)別。
【專利說明】一種基于數(shù)據(jù)驅(qū)動的業(yè)務(wù)流程設(shè)計(jì)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于業(yè)務(wù)流程建模【技術(shù)領(lǐng)域】,具體涉及一種基于數(shù)據(jù)驅(qū)動的業(yè)務(wù)流程設(shè)計(jì)方法。
【背景技術(shù)】
[0002]一般來說,業(yè)務(wù)流程是為達(dá)成某一特定業(yè)務(wù)目標(biāo)而由若干參與者共同完成的一系列活動。其中,參與者的參與順序有較為嚴(yán)格的指定,一般與具體的活動綁定,活動的執(zhí)行順序則由流程的當(dāng)時狀態(tài)決定。從生命周期來看,業(yè)務(wù)流程主要包括流程設(shè)計(jì)、發(fā)布運(yùn)行、實(shí)例管理和結(jié)束等。從用途來看,業(yè)務(wù)流程主要用于優(yōu)化企業(yè)資源、提高企業(yè)生產(chǎn)效率和降低企業(yè)運(yùn)營成本等。
[0003]業(yè)務(wù)流程管理系統(tǒng)(BPMS)是業(yè)務(wù)流程管理的技術(shù)實(shí)現(xiàn),它使得企業(yè)能夠?qū)诵牧鞒踢M(jìn)行建模、部署和管理。
[0004]BPMS所必需擁有的功能如下:
[0005]1.跟蹤信息是如何被用來完成業(yè)務(wù)的,據(jù)此來準(zhǔn)確定位和了解現(xiàn)有的業(yè)務(wù)流程;
[0006]2.迅速實(shí)現(xiàn)商業(yè)規(guī)則和商業(yè)目標(biāo)改變的能力:BPMS必須提供實(shí)現(xiàn)改變的必要技術(shù)并確保企業(yè)能夠?qū)φ诟淖兊臉I(yè)務(wù)狀況作出迅速的反應(yīng);
[0007]3.以前后一致的方式定義、改變和實(shí)現(xiàn)業(yè)務(wù)流程的能力:BPMS必須具有從企業(yè)戰(zhàn)略目標(biāo)到業(yè)務(wù)流程的直接轉(zhuǎn)化能力,系統(tǒng)必須能夠?yàn)槠髽I(yè)高層提供決策支持等。企業(yè)管理系統(tǒng)各部分和各單元之間的關(guān)系是“協(xié)同”關(guān)系,即為實(shí)現(xiàn)共同的功能而協(xié)作發(fā)揮作用。在現(xiàn)代企業(yè)管理和信息化系統(tǒng)開發(fā)過程中,業(yè)務(wù)流程設(shè)計(jì),處于核心地位,其設(shè)計(jì)合理與否,往往直接決定了企業(yè)管理和信息化水平的高低,決定了企業(yè)信息化解決方案部署和實(shí)施能否獲得成功。
[0008]業(yè)務(wù)流程設(shè)計(jì)作為BPMS的一個重要組成部分,主要是以底層模型元素的定義作為參考標(biāo)準(zhǔn),來設(shè)計(jì)實(shí)現(xiàn)符合具體實(shí)際業(yè)務(wù)需求的一套流程。它是整個業(yè)務(wù)流程的基礎(chǔ),對后面流程的發(fā)布運(yùn)行和實(shí)例管理有著重要作用。
[0009]傳統(tǒng)的業(yè)務(wù)流程設(shè)計(jì)方式主要以流程本身為中心,圍繞流程控制進(jìn)行設(shè)計(jì),然后基于活動或參與者來驅(qū)動整個流程的運(yùn)行。在流程運(yùn)行過程中,因?yàn)榱鞒躺婕暗降臄?shù)據(jù)并沒有得到足夠的關(guān)注,所以無法全面地了解流程當(dāng)前運(yùn)行狀態(tài),這在實(shí)際使用過程中不可避免地給相關(guān)人員帶來不便。
【發(fā)明內(nèi)容】
[0010]針對現(xiàn)有技術(shù)所存在的上述技術(shù)缺陷,本發(fā)明提供了一種基于數(shù)據(jù)驅(qū)動的業(yè)務(wù)流程設(shè)計(jì)方法,通過基于流程走向的邏輯條件和基于數(shù)據(jù)的數(shù)據(jù)條件來控制流程運(yùn)行,完美符合實(shí)際業(yè)務(wù)流程的需要。
[0011]一種基于數(shù)據(jù)驅(qū)動的業(yè)務(wù)流程設(shè)計(jì)方法,包括如下步驟:
[0012](I)分析具體的業(yè)務(wù)流程,確定其需求及處理邏輯;
[0013](2)為業(yè)務(wù)流程創(chuàng)建數(shù)據(jù)表單,并為數(shù)據(jù)表單添加具體表項(xiàng);
[0014](3)根據(jù)業(yè)務(wù)流程所涉及的角色,創(chuàng)建對應(yīng)的角色信息;
[0015](4)創(chuàng)建任務(wù)及其執(zhí)行完畢后的數(shù)據(jù)狀態(tài),根據(jù)業(yè)務(wù)流程的處理邏輯,在任務(wù)與數(shù)據(jù)狀態(tài)之間添加連線,以標(biāo)明整個業(yè)務(wù)流程的處理關(guān)系;
[0016](5)對所述的任務(wù)及數(shù)據(jù)狀態(tài)進(jìn)行配置。
[0017]所述的步驟(5)中對任務(wù)進(jìn)行配置的具體過程如下:
[0018]1.1配置任務(wù)的執(zhí)行類型,若執(zhí)行類型為人工,則從角色信息中指定執(zhí)行該任務(wù)的角色;
[0019]1.2從數(shù)據(jù)表單中指定任務(wù)需要讀入的表項(xiàng)和寫回的表項(xiàng);
[0020]1.3若任務(wù)由多個前驅(qū)狀態(tài)觸發(fā),則指定這多個前驅(qū)狀態(tài)觸發(fā)該任務(wù)的邏輯條件。
[0021]所述的步驟(5)中對數(shù)據(jù)狀態(tài)進(jìn)行配置的具體過程如下:
[0022]2.1從數(shù)據(jù)表單中指定數(shù)據(jù)狀態(tài)需要讀入的表項(xiàng)和顯示的表項(xiàng);
[0023]2.2若數(shù)據(jù)狀態(tài)由多個前驅(qū)任務(wù)生成,則指定這多個前驅(qū)任務(wù)生成該數(shù)據(jù)狀態(tài)的邏輯條件;
[0024]2.3根據(jù)讀入的表項(xiàng)指定數(shù)據(jù)狀態(tài)的每個后繼任務(wù)觸發(fā)的數(shù)據(jù)條件;
[0025]2.4若數(shù)據(jù)狀態(tài)具有多個滿足數(shù)據(jù)條件的后繼任務(wù),則指定這多個后繼任務(wù)觸發(fā)的邏輯條件。
[0026]所述的邏輯條件包括以下三種:或、與、異或。
[0027]若任務(wù)T由數(shù)據(jù)狀態(tài)S觸發(fā),則數(shù)據(jù)狀態(tài)S為任務(wù)T的前驅(qū)狀態(tài),任務(wù)T則為數(shù)據(jù)狀態(tài)S的后繼任務(wù);若數(shù)據(jù)狀態(tài)S由任務(wù)T生成,則任務(wù)T為數(shù)據(jù)狀態(tài)S的前驅(qū)任務(wù),數(shù)據(jù)狀態(tài)S則為任務(wù)T的后繼狀態(tài)。
[0028]上述技術(shù)方案中,步驟(I)是整個業(yè)務(wù)流程設(shè)計(jì)的前提,在設(shè)計(jì)業(yè)務(wù)流程之前,最好要透徹地分析出業(yè)務(wù)流程的需求和邏輯關(guān)系,并依此完成步驟(2)至(4)。
[0029]所述的表項(xiàng)為原始的數(shù)據(jù)實(shí)體,包括數(shù)據(jù)名稱和類型等,必須存在于表單中;所述的表單由若干具有一定業(yè)務(wù)關(guān)系的表項(xiàng)所組成的數(shù)據(jù)集合;所述的角色信息為流程涉及到的相關(guān)人員的信息,按照角色進(jìn)行劃分;所述的角色為流程中具有相同任務(wù)參與行為的人員的集合;所述的任務(wù)為類似于傳統(tǒng)業(yè)務(wù)流程中的活動;所述的數(shù)據(jù)狀態(tài)決定了下一步要執(zhí)行的任務(wù)。
[0030]本發(fā)明的有益技術(shù)效果在于:
[0031](I)流程的邏輯功能完善,本發(fā)明通過基于流程走向的邏輯條件和基于數(shù)據(jù)的數(shù)據(jù)條件來控制流程運(yùn)行,完美符合實(shí)際業(yè)務(wù)流程的需要。
[0032](2)本發(fā)明基于角色的任務(wù)執(zhí)行模式,可以更有效地將多個流程實(shí)例的同一任務(wù)推送給屬于同一角色的多個人執(zhí)行,從而提高業(yè)務(wù)流程運(yùn)行效率和人員利用率。
[0033](3)本發(fā)明簡化了流程設(shè)計(jì)內(nèi)容,相比較傳統(tǒng)的業(yè)務(wù)流程設(shè)計(jì),本發(fā)明在完美支持實(shí)際業(yè)務(wù)流程設(shè)計(jì)的前提下,極大簡化了流程設(shè)計(jì)的內(nèi)容,且這些內(nèi)容更加直觀和易讀,更容易被非專業(yè)的流程設(shè)計(jì)人員所接受。
[0034](4)本發(fā)明在流程執(zhí)行過程中添加了“顯示數(shù)據(jù)”(在數(shù)據(jù)狀態(tài)的配置中配置需要顯示的表項(xiàng))功能,這一功能支持流程實(shí)例的參與者可以從各自視角來觀察該流程的執(zhí)行狀態(tài),這也是與傳統(tǒng)業(yè)務(wù)流程設(shè)計(jì)相比一個本質(zhì)的區(qū)別。
【專利附圖】
【附圖說明】
[0035]圖1為JTAF流程設(shè)計(jì)工具的實(shí)現(xiàn)框架示意圖。
[0036]圖2為JTAF流程管理的流程示意圖。
[0037]圖3為JTAF流程設(shè)計(jì)的流程示意圖。
【具體實(shí)施方式】
[0038]為了更為具體地描述本發(fā)明,下面結(jié)合附圖及【具體實(shí)施方式】對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。
[0039]本實(shí)施方式旨在開發(fā)一套以本發(fā)明為標(biāo)準(zhǔn)的可視化流程設(shè)計(jì)工具,取名為JTAF流程設(shè)計(jì)工具(以下以JTAF簡稱)。如圖1所示,JTAF流程設(shè)計(jì)工具的具體實(shí)現(xiàn)如下:
[0040](I)以Eclipse RCP技術(shù)為基礎(chǔ),實(shí)現(xiàn)流程設(shè)計(jì)的界面框架,包括表單管理視圖、角色管理視圖、流程設(shè)計(jì)主編輯視圖和相關(guān)屬性配置視圖等,以及一些流程管理操作;
[0041](2)以GEF作為流程設(shè)計(jì)的底層框架,設(shè)計(jì)實(shí)現(xiàn)“任務(wù)”、“狀態(tài)”、“連線”等可視化的流程模型元素,并負(fù)責(zé)響應(yīng)相關(guān)數(shù)據(jù)的配置、與相關(guān)視圖進(jìn)行交互;
[0042](3)以XMLBeans作為流程管理的主要框架,設(shè)計(jì)實(shí)現(xiàn)“保存”和“打開”等流程管理的操作。
[0043]如圖2所示,本實(shí)施方式JTAF流程管理的處理過程如下:
[0044](I) JTAF支持加載一個已有流程文件和直接創(chuàng)建一個新的流程文件,若選擇創(chuàng)建一個新的流程文件,則在JTAF中會直接初始化一個空的流程設(shè)計(jì)界面;
[0045](2)若選擇加載一個已有流程文件,并加載成功,則在初始化一個空的流程設(shè)計(jì)界面后,利用XMLBeans框架加載流程文件中的相關(guān)配置;
[0046](3)若加載一個已有流程文件失敗,JTAF則仿照第I步,創(chuàng)建一個新的流程文件;
[0047](4)經(jīng)過以上步驟后,在JTAF便可進(jìn)行流程設(shè)計(jì),這也是本發(fā)明的主要內(nèi)容,下文詳述。
[0048](5)流程設(shè)計(jì)完畢,JTAF利用XMLBeans框架將流程內(nèi)容封裝到流程文件中。
[0049]如圖3所示,JTAF中流程設(shè)計(jì)的處理過程即一種基于數(shù)據(jù)驅(qū)動的業(yè)務(wù)流程設(shè)計(jì)方法的具體處理過程:
[0050](I)在正式的流程設(shè)計(jì)開始之前,需要添加一些流程設(shè)計(jì)過程中會用到的數(shù)據(jù)信息,這包括表單數(shù)據(jù)和人員角色信息等;
[0051](2)表單數(shù)據(jù)是一個表單集,由若干同屬于該流程卻又業(yè)務(wù)邏輯上相對獨(dú)立的表單組成,每個表單由若干業(yè)務(wù)邏輯上相互關(guān)聯(lián)的表項(xiàng)組成。該部分?jǐn)?shù)據(jù)通過表單視圖進(jìn)行配置;
[0052](3)人員角色信息是一個角色集,由若干參與該流程卻又處于不同位置或角度的角色組成,每個角色由若干實(shí)際業(yè)務(wù)人員的信息組成。該部分?jǐn)?shù)據(jù)通過角色視圖進(jìn)行配置;
[0053](4)完成以上的數(shù)據(jù)準(zhǔn)備工作后,接下來開始設(shè)計(jì)“任務(wù)”和“狀態(tài)”之間的流程關(guān)系,這主要通過在流程設(shè)計(jì)的主編輯視圖實(shí)現(xiàn)。具體地,在主編輯視圖中根據(jù)業(yè)務(wù)需要,添加任務(wù)節(jié)點(diǎn)和狀態(tài)節(jié)點(diǎn),并為它們建立連線,以確定各個任務(wù)和狀態(tài)之間的處理關(guān)系;
[0054](5)接下來通過屬性配置視圖對任務(wù)節(jié)點(diǎn)和狀態(tài)節(jié)點(diǎn)進(jìn)行配置;
[0055](6)針對任務(wù)節(jié)點(diǎn),需要配置該任務(wù)的:
[0056]①執(zhí)行類型;分為自動執(zhí)行和人工執(zhí)行兩類,若為人工執(zhí)行,則需要從角色視圖中為該任務(wù)選擇一個執(zhí)行角色;
[0057]②被觸發(fā)的邏輯條件;由于任務(wù)可能含有若干前驅(qū)狀態(tài),即上一階段任務(wù)的執(zhí)行結(jié)果,所以需要指定這些前驅(qū)狀態(tài)觸發(fā)該任務(wù)的邏輯條件:若為“或”,則任一個前驅(qū)狀態(tài)如果可以到達(dá)該任務(wù),該任務(wù)即被觸發(fā)執(zhí)行,同理理解“與”和“異或;
[0058]③需要讀取的數(shù)據(jù);在任務(wù)執(zhí)行過程中,可能會用到若干數(shù)據(jù),這就需要從表單數(shù)據(jù)中選擇出來,并與該任務(wù)進(jìn)行綁定;
[0059]④需要寫回的數(shù)據(jù);在任務(wù)執(zhí)行過程完畢時,可能會更新若干數(shù)據(jù),這就需要從表單數(shù)據(jù)中選擇出來,并與該任務(wù)進(jìn)行綁定。
[0060](7)針對狀態(tài)節(jié)點(diǎn),需要配置該狀態(tài)的:
[0061]①被觸發(fā)的邏輯條件;由于狀態(tài)可能含有若干前驅(qū)任務(wù),即多個任務(wù)均可以到達(dá)該狀態(tài),所以需要指定這些前驅(qū)任務(wù)觸發(fā)該狀態(tài)的邏輯條件:若為“或”,則任一個前驅(qū)任務(wù)完成后,該狀態(tài)即被觸發(fā),同理理解“與”和“異或;
[0062]②需要讀取的數(shù)據(jù);在狀態(tài)分析過程中,可能會用到若干數(shù)據(jù),這就需要從表單數(shù)據(jù)中選擇出來,并與該狀態(tài)進(jìn)行綁定;
[0063]③需要顯示的數(shù)據(jù);在流程處于該狀態(tài)過程中,可能有若干數(shù)據(jù)需要顯示給外部,這就需要從表單數(shù)據(jù)中選擇出來,并與該狀態(tài)進(jìn)行綁定;
[0064]④觸發(fā)后繼任務(wù)的數(shù)據(jù)條件;當(dāng)前狀態(tài)可能有多個后繼任務(wù),如何根據(jù)流程狀態(tài)的實(shí)時數(shù)據(jù)值來決定觸發(fā)哪個任務(wù)是一個關(guān)鍵問題。這就需要在狀態(tài)節(jié)點(diǎn)中為每個后繼任務(wù)指定被觸發(fā)的數(shù)據(jù)條件,該數(shù)據(jù)條件由若干表單數(shù)據(jù)的限定范圍和數(shù)據(jù)間的邏輯關(guān)系構(gòu)成;
[0065]⑤觸發(fā)后繼任務(wù)的邏輯條件;當(dāng)前狀態(tài)可能有多個后繼任務(wù),當(dāng)多個后繼任務(wù)同時符合數(shù)據(jù)條件時,如何結(jié)束當(dāng)前狀態(tài),從而執(zhí)行后面的任務(wù)是個問題。所以需要指定這些后繼任務(wù)被觸發(fā)的邏輯條件:若為“或”,則一旦有一個任務(wù)符合被觸發(fā)條件,則該狀態(tài)立即結(jié)束,并轉(zhuǎn)入執(zhí)行該任務(wù),同理理解“與”和“異或”;
[0066]⑥通過以上步驟的配置,完整的基于數(shù)據(jù)驅(qū)動的流程設(shè)計(jì)工作便已完成。在真實(shí)的業(yè)務(wù)流程中,本發(fā)明只是整個業(yè)務(wù)流程生命周期的第一步,后面還需要有對應(yīng)的流程引擎來解析流程,并驅(qū)動其發(fā)布運(yùn)行,因該部分與本發(fā)明無關(guān),在此不再贅述。
[0067]最后應(yīng)說明的是,以上實(shí)例僅用以說明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實(shí)例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,依然可以對本發(fā)明進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改或者局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
【權(quán)利要求】
1.一種基于數(shù)據(jù)驅(qū)動的業(yè)務(wù)流程設(shè)計(jì)方法,包括如下步驟: (1)分析具體的業(yè)務(wù)流程,確定其需求及處理邏輯; (2)為業(yè)務(wù)流程創(chuàng)建數(shù)據(jù)表單,并為數(shù)據(jù)表單添加具體表項(xiàng); (3)根據(jù)業(yè)務(wù)流程所涉及的角色,創(chuàng)建對應(yīng)的角色信息; (4)創(chuàng)建任務(wù)及其執(zhí)行完畢后的數(shù)據(jù)狀態(tài),根據(jù)業(yè)務(wù)流程的處理邏輯,在任務(wù)與數(shù)據(jù)狀態(tài)之間添加連線,以標(biāo)明整個業(yè)務(wù)流程的處理關(guān)系; (5)對所述的任務(wù)及數(shù)據(jù)狀態(tài)進(jìn)行配置。
2.根據(jù)權(quán)利要求1所述的業(yè)務(wù)流程設(shè)計(jì)方法,其特征在于:所述的步驟(5)中對任務(wù)進(jìn)行配置的具體過程如下: 1.1配置任務(wù)的執(zhí)行類型,若執(zhí)行類型為人工,則從角色信息中指定執(zhí)行該任務(wù)的角色; 1.2從數(shù)據(jù)表單中指定任務(wù)需要讀入的表項(xiàng)和寫回的表項(xiàng); 1.3若任務(wù)由多個前驅(qū)狀態(tài)觸發(fā),則指定這多個前驅(qū)狀態(tài)觸發(fā)該任務(wù)的邏輯條件。
3.根據(jù)權(quán)利要求1所述的業(yè)務(wù)流程設(shè)計(jì)方法,其特征在于:所述的步驟(5)中對數(shù)據(jù)狀態(tài)進(jìn)行配置的具體過程如下: 2.1從數(shù)據(jù)表單中指定數(shù)據(jù)狀態(tài)需要讀入的表項(xiàng)和顯示的表項(xiàng); 2.2若數(shù)據(jù)狀態(tài)由多個前驅(qū)任務(wù)生成,則指定這多個前驅(qū)任務(wù)生成該數(shù)據(jù)狀態(tài)的邏輯條件; 2.3根據(jù)讀入的表項(xiàng)指定數(shù)據(jù)狀態(tài)的每個后繼任務(wù)觸發(fā)的數(shù)據(jù)條件; 2.4若數(shù)據(jù)狀態(tài)具有多個滿足數(shù)據(jù)條件的后繼任務(wù),則指定這多個后繼任務(wù)觸發(fā)的邏輯條件。
4.根據(jù)權(quán)利要求2或3所述的業(yè)務(wù)流程設(shè)計(jì)方法,其特征在于:所述的邏輯條件包括以下三種:或、與、異或。
5.根據(jù)權(quán)利要求2或3所述的業(yè)務(wù)流程設(shè)計(jì)方法,其特征在于:若任務(wù)T由數(shù)據(jù)狀態(tài)S觸發(fā),則數(shù)據(jù)狀態(tài)S為任務(wù)T的前驅(qū)狀態(tài),任務(wù)T則為數(shù)據(jù)狀態(tài)S的后繼任務(wù);若數(shù)據(jù)狀態(tài)S由任務(wù)T生成,則任務(wù)T為數(shù)據(jù)狀態(tài)S的前驅(qū)任務(wù),數(shù)據(jù)狀態(tài)S則為任務(wù)T的后繼狀態(tài)。
【文檔編號】G06Q10/06GK104517186SQ201410808961
【公開日】2015年4月15日 申請日期:2014年12月23日 優(yōu)先權(quán)日:2014年12月23日
【發(fā)明者】李瑩, 張楊濤, 范彬彬, 尹建偉, 鄧水光, 吳健, 吳朝暉 申請人:浙江大學(xué)