1.前言
1.1 為什么需要分析現(xiàn)實(shí)任務(wù)執(zhí)行
1)規(guī)范對(duì)國內(nèi)的人工參與的流程關(guān)注不夠
在分析XPDL和其他規(guī)范時(shí),發(fā)現(xiàn)這些規(guī)范大多數(shù)都是關(guān)注于國外的情況,就是比較關(guān)注流程自動(dòng)化,對(duì)國內(nèi)經(jīng)常要求的那種人工干預(yù)和自由流等場(chǎng)景不大關(guān)注。你可以說國內(nèi)客戶把工作流用偏了,假若你站在國外的情況,但我們也可以這樣來看,國內(nèi)的這樣情況,是不是工作流新發(fā)展的一個(gè)動(dòng)力,是工作流從不成熟到成熟的一個(gè)階段。總之,關(guān)注客戶的需求,比規(guī)范本身重要,不管是國外客戶或是國內(nèi)客戶,客戶需求是技術(shù)法中的永恒動(dòng)力。
2)對(duì)工作流類任務(wù)和其他任務(wù)認(rèn)識(shí)不清
1.2 目的
設(shè)法分析現(xiàn)實(shí)任務(wù)類型和執(zhí)行情況,為設(shè)計(jì)任務(wù)模型做理論準(zhǔn)備。
2.內(nèi)容
現(xiàn)實(shí)中任務(wù)執(zhí)行情況非常復(fù)雜,我們有必要對(duì)現(xiàn)實(shí)的復(fù)雜情況進(jìn)行分析,在分析的基礎(chǔ)上抽象成幾種基本情況,其他的復(fù)雜情況可有這些基本情況組合而成。最好能拿出一個(gè)面向?qū)ο蟮娜蝿?wù)執(zhí)行模型(最好用UML表達(dá))為我們的工作流工作項(xiàng)處理作準(zhǔn)備。在實(shí)現(xiàn)時(shí)再分析一下那些現(xiàn)實(shí)的處理情況可以支持,那些情況不能支持,對(duì)不能支持的情況要說明情況(現(xiàn)實(shí)分析不清, 工作項(xiàng)處理模型不能表達(dá)現(xiàn)實(shí)情況,模型能表達(dá)但沒時(shí)間, 其他原因)。
為分析現(xiàn)實(shí)情況,讓我們用case的方式來分析,重點(diǎn)關(guān)注任務(wù)執(zhí)行情況。為了分析的真實(shí)性,我重點(diǎn)分析了一個(gè)真實(shí)的轉(zhuǎn)正流程(注:考慮了隱私,我隱去具體公司的名字和人名),下表是轉(zhuǎn)正流程的圖示表示,該圖可能沒有表示此流程的所有內(nèi)容,若分析需要我可能加一點(diǎn)東西來滿足現(xiàn)實(shí)的需要,我們盡量嚴(yán)格遵循現(xiàn)實(shí)流程的運(yùn)行情況,不考慮權(quán)限控制等實(shí)現(xiàn)問題,側(cè)重控制流程的運(yùn)轉(zhuǎn)和任務(wù)產(chǎn)生,分派等):
圖 1 XX公司員工轉(zhuǎn)正申請(qǐng)
1 直接完成任務(wù)
定義:任務(wù)接受者完成任務(wù)。
例子:(XX轉(zhuǎn)正流程)張三在XX公司實(shí)習(xí)了三個(gè)月,文秘發(fā)送轉(zhuǎn)正資料給張三(文秘發(fā)送轉(zhuǎn)正資料就相當(dāng)于啟動(dòng)一個(gè)轉(zhuǎn)正流程實(shí)例,現(xiàn)實(shí)中并沒有流程實(shí)例創(chuàng)建的概念,都是隱含的),此時(shí)該轉(zhuǎn)正流程走到填寫轉(zhuǎn)正申請(qǐng),張三有了一個(gè)任務(wù),填寫轉(zhuǎn)正申請(qǐng);張三在規(guī)定時(shí)間內(nèi)填寫轉(zhuǎn)正申請(qǐng),完成該任務(wù),流程到達(dá)初審活動(dòng)。
2 暫停某項(xiàng)任務(wù)
暫停某項(xiàng)任務(wù)又分幾種情況(可能不全)
情況1 :暫停某項(xiàng)任務(wù),不限定時(shí)間,在該任務(wù)未超時(shí)的情況下,可以隨時(shí)繼續(xù)。
例子:(XX公司轉(zhuǎn)正流程)張三轉(zhuǎn)正流程走到復(fù)審這一步,部門經(jīng)理有一項(xiàng)任務(wù),復(fù)審張三的轉(zhuǎn)正申請(qǐng),但部門經(jīng)理因有事要出差(多長時(shí)間不能確定),只能暫停復(fù)審任務(wù),等到有時(shí)間再復(fù)審。
情況二:暫停某項(xiàng)任務(wù)一段時(shí)間
例子:(XX公司轉(zhuǎn)正流程)張三轉(zhuǎn)正流程走到復(fù)審這一步,部門經(jīng)理有一項(xiàng)任務(wù),復(fù)審張三的轉(zhuǎn)正申請(qǐng),但宋剛因有事要出差(時(shí)間為一個(gè)星期),只能暫停復(fù)審任務(wù)一個(gè)星期,等過了一個(gè)星期,復(fù)審繼續(xù)。
情況三:暫停某項(xiàng)任務(wù),具體時(shí)間不知道,但重新開始的條件知道
例子:(XX公司轉(zhuǎn)正流程)張三轉(zhuǎn)正流程走到答辯這一步,答辯委員會(huì)成員(部室主任,部門經(jīng)理,文秘)和答辯人吳紅軍都有一項(xiàng)任務(wù),參加答辯會(huì),但是部門經(jīng)理有事要出差,不能參加,所有人的任務(wù)都處于暫停,部門經(jīng)理的情況屬于情況一,其他人的任務(wù)繼續(xù)的條件是部門經(jīng)理回來,他的任務(wù)重新開始。
此處有一個(gè)問題(對(duì)參加答辯會(huì)的產(chǎn)生的任務(wù)看法問題):把參加答辯會(huì)是看作一個(gè)任務(wù),有多人協(xié)作完成,還是看作多個(gè)任務(wù),還是既看作一個(gè)任務(wù),也看作多個(gè)任務(wù)。現(xiàn)實(shí)情況好象有一個(gè)隱含視角問題,從公司的角度(top-level ,不限于是公司)來看答辯會(huì)是一個(gè)任務(wù),很可能郭安艷代表公司在公司日程上有一條答辯會(huì)條目(相當(dāng)于待辦任務(wù)),從個(gè)人來說,每人都有一個(gè)任務(wù),現(xiàn)實(shí)中,他們很可能每人都在自己的待辦事宜內(nèi)記錄一條參加答辯會(huì)的條目(相當(dāng)于待辦工作項(xiàng))。
3 拒絕某項(xiàng)任務(wù)(不考慮原因)
例子:(精論軟件轉(zhuǎn)正流程)吳紅軍轉(zhuǎn)正流程走到答辯這一步,答辯委員會(huì)成員(部室主任,部門經(jīng)理,文秘)和答辯人張三都有一項(xiàng)任務(wù),參加答辯會(huì),因?yàn)椴渴抑魅握跍?zhǔn)備電力ppt,不想?yún)⒓樱桶l(fā)消息給部門經(jīng)理不想?yún)⒓樱▽?shí)質(zhì)上就是拒絕此任務(wù)),部門經(jīng)理就召集其他的人開答辯會(huì)(此處又涉及對(duì)拒絕任務(wù)的處理)。
4 終止(取消,結(jié)束)某項(xiàng)任務(wù)
例子:(XX公司轉(zhuǎn)正流程)張三轉(zhuǎn)正流程走到答辯這一步,答辯委員會(huì)成員(部室主任,部門經(jīng)理,文秘)和答辯人張三都有一項(xiàng)任務(wù),參加答辯會(huì),因?yàn)椴恢朗裁丛颍瑥埲蝗浑x開公司(假設(shè)情況),以上任務(wù)只能終止,實(shí)際上整個(gè)流程只能終止(此處涉及到一個(gè)任務(wù)結(jié)束對(duì)活動(dòng)和流程的影響,但不在此處祥解)。
注:在現(xiàn)實(shí)世界,終止,結(jié)束和取消的含義差不多,我們?cè)诂F(xiàn)實(shí)生活中可以經(jīng)常不加區(qū)分的使用這些詞,不過在軟件世界這些詞需要區(qū)別對(duì)待,具體區(qū)別有待在軟件產(chǎn)品分析中定義,主要是精確區(qū)分對(duì)資源的銷毀和回收情況。
5 指派/分派某項(xiàng)任務(wù)
指派任務(wù)的情況本身也非常復(fù)雜,以下把暫時(shí)能想到的情況列一下:
情況一:把自己的任務(wù)指派給他人
例子:(XX公司轉(zhuǎn)正流程)張三轉(zhuǎn)正流程走到答辯這一步,答辯委員會(huì)成員(部室主任,部門經(jīng)理,文秘)和張三都有一項(xiàng)任務(wù),參加答辯會(huì),因?yàn)椴渴抑魅握跍?zhǔn)備一個(gè)競(jìng)標(biāo)書,不想?yún)⒓樱椭概闪硗庖粋€(gè)人(被委托人)代表他參加答辯會(huì),這樣部室主任的任務(wù)就變成了被委托人的任務(wù)。
分析:此處假定任務(wù)能被重新指派給他人。在現(xiàn)實(shí)中,有些任務(wù)可以重新指派給他人,但有些任務(wù)就不可以,比如涉及某些需要簽署法律效應(yīng)的文件就不可以。在現(xiàn)實(shí)世界,一般也沒有詳細(xì)定義那些可以,那些不可以,人們基本隨機(jī)或按某種隱性規(guī)則處理。但若要在軟件領(lǐng)域處理此類情況,就需要精確定義,而要精確定義之前,就需要分析現(xiàn)實(shí)情況,并進(jìn)行抽象建模。
情況二:部門領(lǐng)導(dǎo)(主管等等)把本部門的任務(wù)指派給具體的員工。
例子:(XX公司轉(zhuǎn)正流程)張三轉(zhuǎn)正流程走到答辯這一步,部門經(jīng)理指派答辯委員1和答辯委員2參加答辯會(huì)。
以上只是對(duì)現(xiàn)實(shí)中各種可能情況的描述(注:不夠全面,僅側(cè)重于參與者[執(zhí)行者]是人的情況),并不是合理的抽象,(暫時(shí)不知道如何抽象好)不知你有什么看法?