自20世紀(jì)90年代初業(yè)務(wù)流程重組(business process reengineering,BPR)的概念提出以后,過(guò)程工程被公認(rèn)為企業(yè)提高生產(chǎn)率、改善產(chǎn)品和服務(wù)質(zhì)量、增強(qiáng)競(jìng)爭(zhēng)能力的關(guān)鍵。軟件過(guò)程也是一種企業(yè)過(guò)程,類(lèi)似于BPR的研究,軟件過(guò)程改進(jìn)(software process improvement,SPI)逐漸成為軟件工程領(lǐng)域和軟件體系結(jié)構(gòu)領(lǐng)域的重要研究方向之一。一方面伴隨著IS09000和CMM在軟件業(yè)的聲譽(yù)鵲起,SPI研究的深度和廣度在不斷擴(kuò)展;另一方面,20世紀(jì)90年代中期以后軟件過(guò)程和業(yè)務(wù)過(guò)程的研究出現(xiàn)了融合的趨勢(shì),許多業(yè)務(wù)過(guò)程的管理思想逐漸應(yīng)用于軟件企業(yè)。例如,Aoyma把“敏捷制造”的概念引入到軟件工程,形成了一種全新的軟件開(kāi)發(fā)模式——敏捷軟件過(guò)程(agile software process)。針對(duì)BPR理論和實(shí)施的脫節(jié)情況,提供了成熟的工作流解決方案。依據(jù)相似性,軟件過(guò)程也可以作為工作流來(lái)進(jìn)行分析,這樣的工作流的成功經(jīng)驗(yàn)可以進(jìn)一步應(yīng)用于軟件工程中。
SPI的研究范圍,從深度上可分為方法學(xué)、技術(shù)和工具3個(gè)層次,從廣度上包括過(guò)程、產(chǎn)品、資源、組織、度量等要素,其中,度量是核心。方法學(xué)是指采用何種改進(jìn)思想,如CMM和SPICE等,都是改進(jìn)的指導(dǎo)框架。技術(shù)是指在指導(dǎo)框架約束下所采用的改進(jìn)手段,如采用PSEE(process centered software engineering environment)環(huán)境,或者采用工作流技術(shù)。在選擇好改進(jìn)手段后,需要合適的開(kāi)發(fā)工具,PSEE環(huán)境就有眾多實(shí)現(xiàn)工具,比如OIKOS、EPOS、SPADE和北大青鳥(niǎo)等。方法學(xué)層還可以繼續(xù)細(xì)分,如RUP是CMM思想的具體實(shí)施辦法,它介于方法學(xué)和技術(shù)之間,可稱(chēng)為技術(shù)方法層。本文的研究可歸結(jié)到技術(shù)層和工具層,即根據(jù)RUP指導(dǎo),采用工作流作為支撐技術(shù)。由于軟件過(guò)程定義是SPI的一個(gè)關(guān)鍵因素,且仿真是軟件工程的使能技術(shù),是增強(qiáng)過(guò)程定義能力的有效手段,所以筆者嘗試用工作流仿真的方法貫穿于SPI實(shí)施的全過(guò)程。針對(duì)SPI研究的技術(shù)層面,本文將提出一個(gè)支持SPI的工作流實(shí)施框架和軟件工作流元模型,然后進(jìn)一步闡述工具層面的仿真執(zhí)行機(jī)制,最后給出一個(gè)軟件過(guò)程的仿真實(shí)例。
1 支持SPI的工作流實(shí)施框架
工作流技術(shù)日益成熟,已經(jīng)成為支持BPR的強(qiáng)大使能工具,同時(shí)隨著軟件工業(yè)和傳統(tǒng)工業(yè)相互借鑒的發(fā)展趨勢(shì),工作流技術(shù)可以應(yīng)用于軟件過(guò)程的研究,包括建模、仿真部分和具體執(zhí)行部分。將工作流仿真技術(shù)貫穿到SPI的整個(gè)生命周期,圖1就是一個(gè)以工作流技術(shù)為支撐的SPI實(shí)施框架。面對(duì)業(yè)務(wù)目標(biāo)、業(yè)務(wù)流程、競(jìng)爭(zhēng)環(huán)境和技術(shù)機(jī)會(huì)的不斷變化,軟件項(xiàng)目、生產(chǎn)線和企業(yè)必須不斷地適應(yīng)這種情況,結(jié)果就出現(xiàn)了大量的反饋現(xiàn)象。圖1包括4個(gè)反饋環(huán)節(jié),它們使企業(yè)在定量度量的基礎(chǔ)上,可以確定且演化分析、管理和改進(jìn)策略。這些策略有助于采用合適的目標(biāo)和方法來(lái)管理、完成項(xiàng)目,提高企業(yè)的軟件生產(chǎn)率、速度和質(zhì)量,并且能預(yù)測(cè)和利用變化,而不是消極地應(yīng)付變化。
圖1 支持SPI的工作流實(shí)施框架
2 軟件工作流元模型
在并行工程的研究過(guò)程中,為了描述產(chǎn)品開(kāi)發(fā)過(guò)程所涉及的各個(gè)要素之間的復(fù)雜關(guān)系,本文提出了P_PROCE(process,product,resource,or ganization,control&evaluation)參考模型。它是一個(gè)集成化的多視圖模型,以產(chǎn)品開(kāi)發(fā)過(guò)程為核心,對(duì)產(chǎn)品、資源和組織進(jìn)行綜合評(píng)價(jià)和控制,并以評(píng)價(jià)和控制的結(jié)果指導(dǎo)產(chǎn)品開(kāi)發(fā)過(guò)程的重組,達(dá)到產(chǎn)品開(kāi)發(fā)過(guò)程的優(yōu)化運(yùn)行和管理。后來(lái)隨著研究領(lǐng)域的擴(kuò)展(如軟件工程),該模型也根據(jù)RUP思想進(jìn)行了相應(yīng)的擴(kuò)充,并逐步發(fā)展為圖2所示的軟件工作流元模型。其目的是為了建立一個(gè)相對(duì)通用的指導(dǎo)模型,以后具體的建模就在該模型的約束框架下進(jìn)行,可以確保各個(gè)實(shí)際模型的同構(gòu)性。控制和評(píng)價(jià)以度量的方式體現(xiàn)出來(lái),度量目標(biāo)的最初來(lái)源是業(yè)務(wù)目標(biāo),它具體可分解為針對(duì)過(guò)程、產(chǎn)品、資源和組織的度量。該模型的最大特點(diǎn)是把各要素以及它們的度量結(jié)合在一起,從建模時(shí)就為仿真的評(píng)價(jià)問(wèn)題做好準(zhǔn)備。
圖2 軟件工作流元模型
為了對(duì)模型進(jìn)行形式化的描述,采用對(duì)象約束語(yǔ)言O(shè)CL(object constraint language)。它是UML的有機(jī)組成部分,一方面可以形式化描述UML類(lèi)模型,另一方面可以定義完整性約束。即在集合論的基礎(chǔ)上,描述類(lèi)中的變量和類(lèi)之間的關(guān)系。OCL是種類(lèi)型語(yǔ)言,基本要素是類(lèi)型和表達(dá)式,表達(dá)式的基本成分是對(duì)象和特性。
OCL不僅可以用模型結(jié)構(gòu)描述軟件工作流元模型實(shí)體,而且可以用表達(dá)式描述實(shí)體間的完整性約束關(guān)系。表達(dá)式中self表示一個(gè)類(lèi)的實(shí)例,通過(guò)由“·”操作符以及類(lèi)圖中的角色關(guān)聯(lián)組成的導(dǎo)航路徑,可以很方便地從一個(gè)對(duì)象引用到另一個(gè)對(duì)象本身或其屬性。除去常見(jiàn)的簡(jiǎn)單數(shù)據(jù)類(lèi)型的操作外,OCL還提供了眾多的集合操作,如select、reject、collect、forAll、exists和iterate操作等。約束關(guān)系可作為元模型的性質(zhì),其中既包括對(duì)基本的結(jié)構(gòu)需求的約束,也包括對(duì)屬性的約束。
3 仿真實(shí)例與結(jié)果分析
下面將以一個(gè)工作流軟件開(kāi)發(fā)過(guò)程為例進(jìn)行仿真實(shí)驗(yàn)。為敘述方便,圖3僅列出了一小部分活動(dòng),但它包括了基本的工作流環(huán)節(jié),足以說(shuō)明問(wèn)題。圖3是依據(jù)模型所描述的各要素間的關(guān)系,建立起的一個(gè)支持ECA規(guī)則的具體的模型。其中包括兩類(lèi)結(jié)點(diǎn)和兩類(lèi)關(guān)系。兩類(lèi)結(jié)點(diǎn)是活動(dòng)(矩形表示)和邏輯(圓形表示),活動(dòng)包括一般活動(dòng)和開(kāi)始/結(jié)束活動(dòng),均標(biāo)注有id號(hào);邏輯包括各種常見(jiàn)的工作流控制環(huán)節(jié)(串行、分支、子流程、反饋等),也編上了相應(yīng)的序號(hào)。兩類(lèi)關(guān)系是控制流(實(shí)線箭頭表示)和數(shù)據(jù)流(虛線箭頭表示)。有陰影的活動(dòng)是父活動(dòng)的,表示它還有下層子活動(dòng),如活動(dòng)2“系統(tǒng)分析”。元模型中的產(chǎn)品、資源、組織和度量信息均以屬性的形式構(gòu)造于各個(gè)活動(dòng)當(dāng)中,例如活動(dòng)5“評(píng)審”。邏輯結(jié)點(diǎn)表示活動(dòng)的執(zhí)行關(guān)系,邏輯結(jié)點(diǎn)1的內(nèi)容“EndOf(1)ORRule(4,2)”可以解析為“活動(dòng)1結(jié)束或者滿足邏輯結(jié)點(diǎn)4中的規(guī)則2”,在這種條件下活動(dòng)2才有可能執(zhí)行。就軟件開(kāi)發(fā)過(guò)程而言,數(shù)據(jù)流里主要包括文檔和代碼對(duì)象,把其狀態(tài)(分為active和inactive)也作為一種控制條件,結(jié)合常規(guī)的活動(dòng)狀態(tài)(waiting、ready、running和end)一起控制流程的運(yùn)行。
圖3 工作流軟件開(kāi)發(fā)過(guò)程
對(duì)仿真結(jié)果進(jìn)行度量需要一系列指標(biāo),從圖2的元模型可知,整個(gè)指標(biāo)體系是從過(guò)程、資源、組織、產(chǎn)品的角度進(jìn)行分類(lèi)的,對(duì)于軟件過(guò)程改進(jìn)而言,過(guò)程指標(biāo)是最重要的一組指標(biāo),其他指標(biāo)僅起輔助作用。
對(duì)圖3過(guò)程進(jìn)行30次仿真,然后按照計(jì)劃評(píng)審技術(shù)中的簡(jiǎn)便方法計(jì)算期望值E=(4m+a+b)/6,其中,m表示最可能的值,a表示最樂(lè)觀的估計(jì),b表示最悲觀估計(jì)。如果想改進(jìn)軟件過(guò)程,有2種方式,一種是流程結(jié)構(gòu)上的調(diào)整,如增刪活動(dòng);另一種是參數(shù)上的調(diào)整,如調(diào)整“評(píng)審”的通過(guò)率。由軟件開(kāi)發(fā)的特點(diǎn)很容易想到“評(píng)審”活動(dòng)是一個(gè)關(guān)鍵活動(dòng),如果將其進(jìn)行調(diào)整,必將引起指標(biāo)值的較大變化。如果提高通過(guò)率,顯然會(huì)減少時(shí)間、降低成本,但錯(cuò)誤數(shù)就有可能上升;如果在子流程中增加一個(gè)“分析評(píng)審”活動(dòng),如圖4所示,顯然會(huì)減少錯(cuò)誤數(shù),但時(shí)間、成本有可能上升。
圖4 改進(jìn)的系統(tǒng)分析子流程
4 結(jié)語(yǔ)
SPI研究的內(nèi)容非常豐富,研究方法也很多。本文從SPI的技術(shù)層面和工具層面進(jìn)行了探討,借鑒并行工程領(lǐng)域的成功經(jīng)驗(yàn),采用相對(duì)成熟的工作流技術(shù),尤其是仿真來(lái)涉足軟件工程領(lǐng)域的熱點(diǎn)問(wèn)題,在本文的基礎(chǔ)上還需要做進(jìn)一步的工作。根據(jù)CMM各級(jí)特點(diǎn),對(duì)仿真的要求是有差異的,仿真度量也存在一個(gè)逐漸提高的能力成熟度問(wèn)題,度量指標(biāo)在各個(gè)級(jí)別應(yīng)該是可以適當(dāng)裁減的。軟件過(guò)程仿真是最近幾年的研究熱點(diǎn),其手段以系統(tǒng)動(dòng)力學(xué)為主,系統(tǒng)動(dòng)力學(xué)對(duì)影響因子間關(guān)系的研究比較充分,應(yīng)該可以結(jié)合到離散事件仿真的整體框架之中。此外仿真還需要解決歷史數(shù)據(jù)的挖掘問(wèn)題,從中得到仿真環(huán)境的參考設(shè)置,增加仿真實(shí)驗(yàn)的可信度。仿真指標(biāo)可以用AHP或其他多目標(biāo)分析方法進(jìn)行綜合處理,定量地得到各組仿真結(jié)果的優(yōu)劣,而不是僅僅通過(guò)主觀判斷,這樣便于將來(lái)對(duì)輸入?yún)?shù)進(jìn)行自動(dòng)優(yōu)化,例如采取遺傳算法或模擬退火算法等優(yōu)化方法。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標(biāo)題:基于動(dòng)態(tài)工作流系統(tǒng)BPR的軟件過(guò)程改進(jìn)與控制
本文網(wǎng)址:http://m.hanmeixuan.com/html/consultation/1082059622.html