欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

在用于監(jiān)控開(kāi)發(fā)人員對(duì)軟件代碼開(kāi)發(fā)過(guò)程的遵守的系統(tǒng)中的規(guī)則合并的制作方法

文檔序號(hào):6424750閱讀:238來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):在用于監(jiān)控開(kāi)發(fā)人員對(duì)軟件代碼開(kāi)發(fā)過(guò)程的遵守的系統(tǒng)中的規(guī)則合并的制作方法
技術(shù)領(lǐng)域
本公開(kāi)一般地涉及軟件代碼的開(kāi)發(fā),并且特別地涉及用于在用于監(jiān)控開(kāi)發(fā)人員對(duì)軟件代碼開(kāi)發(fā)過(guò)程的遵守的系統(tǒng)中合并規(guī)則的技術(shù)。
背景技術(shù)
軟件代碼——包括可以用于控制和命令諸如微處理器、微控制器、協(xié)處理器等一個(gè)或多個(gè)處理設(shè)備的操作的指令——無(wú)所不在,并且遍及現(xiàn)代技術(shù)的很多方面。軟件開(kāi)發(fā)項(xiàng)目領(lǐng)域(有時(shí)涉及進(jìn)行為期數(shù)月甚至數(shù)年的工作的大量軟件開(kāi)發(fā)人員(即負(fù)責(zé)軟件代碼的實(shí)際編寫(xiě)的那些人員))要求使用軟件代碼開(kāi)發(fā)過(guò)程,開(kāi)發(fā)人員需要采用該軟件代碼開(kāi)發(fā)過(guò)程以便提供高質(zhì)量的代碼。這種軟件開(kāi)發(fā)過(guò)程一般地規(guī)定了開(kāi)發(fā)人員在考慮軟件代碼 “完成”之前必須采取的各種步驟。例如,軟件開(kāi)發(fā)過(guò)程可以規(guī)定,在使用公知的配置管理和 /或源控制倉(cāng)庫(kù)工具來(lái)進(jìn)行簽入之前,開(kāi)發(fā)人員將如何查看代碼質(zhì)量、執(zhí)行單元測(cè)試、修復(fù)缺陷等。實(shí)踐已經(jīng)證明,確保軟件代碼開(kāi)發(fā)過(guò)程的高保真采用會(huì)得到更高質(zhì)量的代碼。這種軟件代碼的改善的質(zhì)量最終導(dǎo)致整個(gè)集成軟件項(xiàng)目的改善的質(zhì)量,并且最終得到改善的終端用戶(hù)滿(mǎn)意度。相反,開(kāi)發(fā)人員不遵守這種軟件代碼開(kāi)發(fā)過(guò)程會(huì)導(dǎo)致更有可能出現(xiàn)更低質(zhì)量的代碼、代碼功能中的更多錯(cuò)誤、增加的集成問(wèn)題以及終端用戶(hù)的不滿(mǎn)意度。即便不考慮以下代碼開(kāi)發(fā)過(guò)程的重要性,當(dāng)前項(xiàng)目管理者仍然難以驗(yàn)證開(kāi)發(fā)人員實(shí)際上遵守了所推薦的軟件代碼開(kāi)發(fā)過(guò)程(特別是對(duì)于采用了大量和/或地理上分散的開(kāi)發(fā)人員的大型項(xiàng)目而言)。由于軟件代碼的實(shí)際創(chuàng)建典型地發(fā)生在多個(gè)開(kāi)發(fā)人員的本地工作站和集成開(kāi)發(fā)環(huán)境(IDE)中,從物理上說(shuō)項(xiàng)目管理者幾乎總是不可能直接監(jiān)控每個(gè)開(kāi)發(fā)人員的工作站及他/她的工作。這種監(jiān)管缺失通常導(dǎo)致開(kāi)發(fā)人員繞過(guò)軟件代碼開(kāi)發(fā)過(guò)程由此降低了所得到的代碼的質(zhì)量。另外,修正所產(chǎn)生的質(zhì)量問(wèn)題所需的時(shí)間和工作量降低了完成開(kāi)發(fā)項(xiàng)目的整體效率。為解決這些問(wèn)題,已經(jīng)開(kāi)發(fā)了系統(tǒng)來(lái)提供對(duì)于開(kāi)發(fā)人員對(duì)軟件開(kāi)發(fā)過(guò)程的遵守的自動(dòng)化監(jiān)控。例如,Johnson 和 Kou 在 AGILE 2007 中的 “Automated Recognition of Test-Driven Development with Zorro,,一t 中了Mi胃的 Zorro 胃·。 ZorrogMiJ 用開(kāi)源框架(Hackystat)來(lái)在各種開(kāi)發(fā)環(huán)境工具中部署“傳感器”,以收集加有時(shí)間戳的原始事件數(shù)據(jù)。軟件開(kāi)發(fā)流分析(SDSA)應(yīng)用分析原始事件數(shù)據(jù),以確定“事項(xiàng)(episode)”在按時(shí)間排序的事件數(shù)據(jù)流內(nèi)的存在。Zorro應(yīng)用繼而對(duì)事項(xiàng)執(zhí)行基于規(guī)則的分析以確定開(kāi)發(fā)人員是否遵守了特定的開(kāi)發(fā)過(guò)程,例如測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)。盡管諸如Zorro之類(lèi)的系統(tǒng)對(duì)于確定開(kāi)發(fā)人員對(duì)所希望的過(guò)程的遵守而言是有益的,但是可以預(yù)見(jiàn),更復(fù)雜的過(guò)程將需要跟蹤大量狀態(tài)(例如Zorro系統(tǒng)中所使用的事項(xiàng)),從而導(dǎo)致大量的更復(fù)雜的規(guī)則。 為了更好地縮放如Zorro之類(lèi)的過(guò)程遵守監(jiān)控系統(tǒng),提供用于更高效地管理用于評(píng)價(jià)過(guò)程遵守的規(guī)則的技術(shù)將是有益的。

發(fā)明內(nèi)容
本 公開(kāi)使得項(xiàng)目管理者等能夠監(jiān)控軟件開(kāi)發(fā)人員對(duì)一個(gè)或多個(gè)軟件代碼開(kāi)發(fā)過(guò)程的遵守。一般地,這是通過(guò)如下方式實(shí)現(xiàn)的,即捕獲由開(kāi)發(fā)人員執(zhí)行的相關(guān)活動(dòng)的發(fā)生 (正如由其所使用的開(kāi)發(fā)工具所表明的那樣),并且隨后將這些活動(dòng)與所希望的軟件代碼開(kāi)發(fā)過(guò)程的基于規(guī)則的模型相比較。給定的基于規(guī)則的模型與所捕獲的活動(dòng)之間的差異表明并未遵守軟件開(kāi)發(fā)過(guò)程。在一個(gè)實(shí)施方式中,當(dāng)接收了第一過(guò)程模式和第二過(guò)程模式并將其合并以提供合并后的過(guò)程模式時(shí),會(huì)促進(jìn)對(duì)規(guī)則的管理。每個(gè)過(guò)程模式,其可以由處理設(shè)備經(jīng)由文本和/或圖形用戶(hù)接口來(lái)接收,代表了所希望的軟件代碼開(kāi)發(fā)過(guò)程的至少一部分。可選地,可以將合并后的過(guò)程模式呈遞給主題專(zhuān)家以獲得對(duì)其的反饋。繼而,可以將合并后的過(guò)程模式轉(zhuǎn)換為可執(zhí)行過(guò)程驗(yàn)證規(guī)則,其用于在監(jiān)控過(guò)程遵守時(shí)使用。在一個(gè)實(shí)施方式中,通過(guò)首先將各過(guò)程模式轉(zhuǎn)換為曲線(xiàn)圖形式來(lái)完成對(duì)過(guò)程模式的合并。對(duì)所得到的第一曲線(xiàn)圖和第二曲線(xiàn)圖進(jìn)行比較以確定第一曲線(xiàn)圖與第二曲線(xiàn)圖之間的交點(diǎn),從而使得可以產(chǎn)生合并后的曲線(xiàn)圖。繼而,將合并后的曲線(xiàn)圖轉(zhuǎn)換為合并后的過(guò)程模式并隨后如上所述地進(jìn)行處理。在此處描述的一個(gè)實(shí)施方式中,事件收集組件收集由開(kāi)發(fā)人員生成的開(kāi)發(fā)過(guò)程事件信息,并且規(guī)則執(zhí)行組件將其與軟件代碼開(kāi)發(fā)過(guò)程的一個(gè)或多個(gè)可執(zhí)行驗(yàn)證規(guī)則代表相比較。根據(jù)這些比較,如果不符合至少一個(gè)可執(zhí)行驗(yàn)證規(guī)則的任何條件,則生成和存儲(chǔ)一個(gè)或多個(gè)故障指示。此后,報(bào)告組件可以生成關(guān)于故障指示的報(bào)告,以便隨后呈遞給用戶(hù)。在又一實(shí)施方式中,事件收集組件采用數(shù)據(jù)收集組件,該數(shù)據(jù)收集組件從由開(kāi)發(fā)人員使用的一個(gè)或多個(gè)開(kāi)發(fā)工具收集原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù)。此后,采用過(guò)濾規(guī)則來(lái)對(duì)原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù)進(jìn)行過(guò)濾以提供開(kāi)發(fā)過(guò)程事件信息??梢圆捎貌樵?xún)形成組件來(lái)制訂過(guò)濾規(guī)則。在此進(jìn)一步描述根據(jù)這些實(shí)施方式和其他實(shí)施方式的各種方法和裝置。以這種方式,本公開(kāi)提供如下技術(shù),該技術(shù)提高了自動(dòng)化過(guò)程遵守監(jiān)控系統(tǒng)能夠確定開(kāi)發(fā)人員對(duì)一個(gè)或者多個(gè)軟件代碼開(kāi)發(fā)過(guò)程的遵循程度的效率。例如,在此描述的規(guī)則合并能力減少了必須維持的規(guī)則的數(shù)量以及評(píng)價(jià)這種規(guī)則所需的處理。也就是說(shuō),減輕了跟蹤并定期評(píng)價(jià)多個(gè)不同規(guī)則的負(fù)擔(dān),而由合并后的規(guī)則所提供的覆蓋相對(duì)于未合并的規(guī)則而言并沒(méi)有任何損失。另外,可以改進(jìn)評(píng)估規(guī)則的速度。在不進(jìn)行合并的情況下,將需要針對(duì)每個(gè)規(guī)則而獨(dú)立地評(píng)價(jià)兩個(gè)或更多規(guī)則實(shí)際上共有的狀態(tài)。為了評(píng)價(jià)所有規(guī)則,這會(huì)導(dǎo)致增加的處理負(fù)擔(dān)。這種共有狀態(tài)的合并消除了其冗余評(píng)價(jià),降低了處理開(kāi)銷(xiāo),并且有益地減小了其為評(píng)價(jià)規(guī)則而耗費(fèi)的時(shí)間。因此,這種改善的監(jiān)控能力確保了更好的過(guò)程遵守和隨后在軟件代碼質(zhì)量、整體開(kāi)發(fā)效率和終端用戶(hù)滿(mǎn)意度方面有所改善。


在所附權(quán)利要求書(shū)中特別地闡明了本公開(kāi)中所描述的特征。在結(jié)合附圖而考慮以下詳細(xì)描述后,這些特征和伴隨的優(yōu)點(diǎn)將變得明顯。現(xiàn)在僅通過(guò)示例的方式、參考附圖來(lái)描述一個(gè)或多個(gè)實(shí)施方式,在附圖中,類(lèi)似的參考標(biāo)號(hào)表示類(lèi)似的元素,并且其中圖1是根據(jù)本公開(kāi)的裝置的框圖2是更詳細(xì)地圖示出的圖1的裝置的事件收集組件的框圖;圖3是更詳細(xì)地圖示出的圖1的裝置的規(guī)則執(zhí)行組件的框圖;圖4是可以用于實(shí)現(xiàn)在此描述的各種實(shí)施方式的處理設(shè)備的框圖;圖5是圖示出根據(jù)本公開(kāi)對(duì)過(guò)程模式的處理的流程圖;圖6是圖示出根據(jù)在此描述的實(shí)施方式的、用于捕獲過(guò)程模式的圖形用戶(hù)接口的實(shí)施方式的示圖;圖7至圖9是根據(jù)本公開(kāi)的曲線(xiàn)圖形式的過(guò)程模式及其合并的示例的圖示;圖10是圖示出根據(jù)在此描述的各種實(shí)施方式的、用于監(jiān)控開(kāi)發(fā)人員對(duì)軟件代碼開(kāi)發(fā)過(guò)程的遵守的方法的流程圖;以及圖11至圖13是圖示出根據(jù)在此描述的各種實(shí)施方式的圖形用戶(hù)接口的各種實(shí)施方式的示圖。
具體實(shí)施方式
現(xiàn)在參考圖1,其示出了用于在監(jiān)控軟件代碼開(kāi)發(fā)人員對(duì)一個(gè)或多個(gè)軟件代碼開(kāi)發(fā)過(guò)程的遵守時(shí)使用的裝置100。特別地,裝置100包括事件收集組件102,該事件收集組件102操作性地連接到規(guī)則執(zhí)行組件104。規(guī)則配置組件106操作性地連接到規(guī)則存儲(chǔ)組件108,規(guī)則存儲(chǔ)組件108接著操作性地連接到規(guī)則執(zhí)行組件104。結(jié)果存儲(chǔ)組件110操作性地連接到規(guī)則執(zhí)行組件104和報(bào)告組件112兩者,正如所示。正如進(jìn)一步所示,一個(gè)或多個(gè)開(kāi)發(fā)工具120經(jīng)由事件收集組件102與系統(tǒng)100通信。一般地,事件收集組件102從一個(gè)或多個(gè)開(kāi)發(fā)工具120收集開(kāi)發(fā)過(guò)程事件信息。開(kāi)發(fā)過(guò)程事件信息包括關(guān)于由開(kāi)發(fā)人員采取的動(dòng)作的數(shù)據(jù),正如由一個(gè)或多個(gè)開(kāi)發(fā)工具120 所顯現(xiàn)的。這種數(shù)據(jù)可以包括對(duì)由開(kāi)發(fā)人員采取的動(dòng)作(或由開(kāi)發(fā)人員引起的事件)的特定性質(zhì)的指示,事件或動(dòng)作發(fā)生的日期和/或時(shí)間,以及引起事件或動(dòng)作發(fā)生的特定開(kāi)發(fā)人員的標(biāo)識(shí)。開(kāi)發(fā)工具120包括開(kāi)發(fā)人員在編寫(xiě)或產(chǎn)生軟件代碼時(shí)使用的任何裝置,該裝置易于實(shí)現(xiàn)對(duì)構(gòu)成開(kāi)發(fā)過(guò)程事件信息的數(shù)據(jù)的自動(dòng)化收集。例如,開(kāi)發(fā)工具120可以包括多個(gè)公知IDE工具中的任何一種,諸如“ECLIPSE” IDE,Microsoft的“VISUAL STUDIO,,, BEA的“WORKSHOP”,Oracle的“ JDEVEL0PER”等。正如本領(lǐng)域中所知,開(kāi)發(fā)工具120典型地包括允許收集事件信息的應(yīng)用協(xié)議接口(API)。盡管在圖1中未詳細(xì)繪出,事件收集組件 102與開(kāi)發(fā)工具120之間的連接可以是根據(jù)公知技術(shù)的,并且可以包括例如正如由局域網(wǎng)、 專(zhuān)用或公共(例如萬(wàn)維網(wǎng)/因特網(wǎng))廣域網(wǎng)等實(shí)現(xiàn)的網(wǎng)絡(luò)連接?;谌绱耸占拈_(kāi)發(fā)過(guò)程事件信息,規(guī)則執(zhí)行組件104將由一個(gè)或多個(gè)可執(zhí)行驗(yàn)證規(guī)則(存儲(chǔ)在規(guī)則存儲(chǔ)組件108中)確立的條件與開(kāi)發(fā)過(guò)程事件信息相比較。存儲(chǔ)在規(guī)則存儲(chǔ)組件108中的每個(gè)可執(zhí)行驗(yàn)證規(guī)則,在如下程度上代表了軟件代碼開(kāi)發(fā)過(guò)程,即由可執(zhí)行驗(yàn)證規(guī)則確立的條件確立了如下動(dòng)作或事件,這些動(dòng)作或事件需要在開(kāi)發(fā)過(guò)程事件信息內(nèi)標(biāo)識(shí),以便確認(rèn)開(kāi)發(fā)人員已經(jīng)(或尚未)正確地遵守軟件代碼開(kāi)發(fā)過(guò)程。例如,軟件代碼開(kāi)發(fā)過(guò)程可能要求在對(duì)給定代碼部分的最新近的編輯之后、但在這種代碼被簽入到配置管理倉(cāng)庫(kù)中之前,在該代碼的給定部分(例如模塊、子例程等)上使用給定代碼質(zhì)量工具。在可執(zhí)行形式下,這一軟件代碼開(kāi)發(fā)過(guò)程可能要求一系列動(dòng)作/事件,在該動(dòng)作/事件中對(duì)該代碼部分在開(kāi)發(fā)人員的IDE內(nèi)被修改的最近指示具有早于對(duì)正在該代碼部分上運(yùn)行的質(zhì)量工具的指示的時(shí)間/日期戳,正在該代碼部分上運(yùn)行的質(zhì)量工具的指示轉(zhuǎn)而必須具有早于對(duì)該代碼部分已經(jīng)被簽入到配置管理倉(cāng)庫(kù)中的指示的日期/時(shí)間戳。如果未能滿(mǎn)足這些條件中的任何一個(gè),無(wú)論是由于未能執(zhí)行多個(gè)操作之一(例如在該代碼部分上運(yùn)行代碼質(zhì)量工具),還是不按順序執(zhí)行這些操作(例如在最新近一次在該代碼部分上執(zhí)行代碼質(zhì)量工具之后對(duì)所表明的該代碼部分的進(jìn)一步編輯),都將導(dǎo)致生成故障指示。在一個(gè)實(shí)施方式中,針對(duì)開(kāi)發(fā)過(guò)程事件信息執(zhí)行規(guī)則是在某個(gè)定期間隔(例如每周、每?jī)芍堋⒚總€(gè)月等)上執(zhí)行的。執(zhí)行規(guī)則的頻率部分地基于在給定所關(guān)注的開(kāi)發(fā)人員數(shù)量的情況下對(duì)這種執(zhí)行進(jìn)行縮放的需要。另外,對(duì)于相對(duì)復(fù)雜的規(guī)則,非常有可能的是有關(guān)的事件/狀態(tài)可以在時(shí)間上相對(duì)地間隔開(kāi)。在這些實(shí)例中,可能希望的是不太頻繁的規(guī)則執(zhí)行以便確保充分的時(shí)間。更進(jìn)一步,可能希望的是以不同的頻率執(zhí)行不同類(lèi)型的規(guī)則,例如更頻繁地執(zhí)行不太復(fù)雜的規(guī)則,并且不太頻繁地執(zhí)行更復(fù)雜的規(guī)則。 故障指示包括表明特定可執(zhí)行驗(yàn)證規(guī)則(代表對(duì)應(yīng)的軟件代碼開(kāi)發(fā)過(guò)程)尚未得到滿(mǎn)足的數(shù)據(jù)。在一個(gè)實(shí)施方式中,故障指示包括對(duì)已經(jīng)違反的特定軟件代碼開(kāi)發(fā)過(guò)程/ 可執(zhí)行驗(yàn)證規(guī)則的指示以及對(duì)導(dǎo)致該違反的開(kāi)發(fā)人員的指示。為了進(jìn)一步為開(kāi)發(fā)人員和管理者提供關(guān)于過(guò)程是如何被違反的信息,故障指示可以包括關(guān)于未被滿(mǎn)足的確切規(guī)則部分的附加信息,從而支持確定補(bǔ)救步驟,諸如訓(xùn)練、過(guò)程重新設(shè)計(jì)等。正如所述,這種故障指示存儲(chǔ)在結(jié)果存儲(chǔ)設(shè)備110中。例如,結(jié)果存儲(chǔ)設(shè)備110可以組織為數(shù)據(jù)庫(kù),從而使得可以使用數(shù)據(jù)庫(kù)查詢(xún)接口來(lái)實(shí)現(xiàn)報(bào)告組件112。以這種方式,可以形成查詢(xún)(使用公知技術(shù))來(lái)確定結(jié)果存儲(chǔ)設(shè)備110中的哪些故障指示滿(mǎn)足規(guī)定的查詢(xún)。繼而,可以使用公知技術(shù)以任何合適的格式并且經(jīng)由合適的接口將所返回的結(jié)果提供給用戶(hù)。在一個(gè)實(shí)施方式中,規(guī)則配置組件106支持用于從用戶(hù)接收關(guān)于軟件代碼開(kāi)發(fā)過(guò)程的數(shù)據(jù),和將該數(shù)據(jù)轉(zhuǎn)換為可執(zhí)行驗(yàn)證規(guī)則的一個(gè)或多個(gè)用戶(hù)接口方法。特別地,用戶(hù)接口用于向規(guī)則配置組件106供給一個(gè)或多個(gè)過(guò)程模式。過(guò)程模式包括由用戶(hù)提供的如下數(shù)據(jù),該數(shù)據(jù)描述了給定的開(kāi)發(fā)過(guò)程并且可以被轉(zhuǎn)換、變換或以其他方式進(jìn)行處理,以提供可執(zhí)行驗(yàn)證規(guī)則。例如,正如下面更詳細(xì)地描述的那樣,可以使用圖形用戶(hù)接口(其示例在圖 6中圖示出)來(lái)規(guī)定過(guò)程模式。備選地,還可以采用用戶(hù)用以輸入描述過(guò)程的文本串的文本用戶(hù)接口,例如“在使用Y配置管理工具時(shí),開(kāi)發(fā)人員應(yīng)當(dāng)在對(duì)模塊進(jìn)行編輯之后并且在簽入該模塊之前,運(yùn)行X質(zhì)量檢查工具”。無(wú)論所采用的接口類(lèi)型如何,規(guī)則配置組件106都允許用戶(hù)靈活地限定和/或編輯過(guò)程模式,該過(guò)程模式接著可以用于提供可執(zhí)行驗(yàn)證規(guī)則?,F(xiàn)在參考圖2,其更詳細(xì)地圖示出了事件收集組件102。在所圖示的實(shí)施方式中, 事件收集組件102包括操作性地連接到多個(gè)開(kāi)發(fā)工具202a-n的多個(gè)數(shù)據(jù)收集組件204a-n。 用于實(shí)現(xiàn)這種數(shù)據(jù)收集組件204的各種各樣的技術(shù)對(duì)于本領(lǐng)域普通技術(shù)人員而言是已知的。例如,在所圖示的實(shí)施方式中,每個(gè)數(shù)據(jù)收集組件204可以經(jīng)由一個(gè)或多個(gè)中介通信網(wǎng)絡(luò)來(lái)訪(fǎng)問(wèn)其相應(yīng)的開(kāi)發(fā)工具202的API。備選地,每個(gè)數(shù)據(jù)收集組件204可以和與其對(duì)應(yīng)的開(kāi)發(fā)工具202共同駐留在給定工作站上,從而經(jīng)由該工作站的內(nèi)部信道與開(kāi)發(fā)工具202通信。更進(jìn)一步,給定的數(shù)據(jù)收集組件204可以直接集成到其對(duì)應(yīng)的開(kāi)發(fā)工具202中,如在本例中作為所謂的“插件”程序等。每個(gè)數(shù)據(jù)收集組件204可以在“推送”或“拉取”配置下操作,正如本領(lǐng)域中已知。在推送配置下,數(shù)據(jù)收集組件204主動(dòng)地按照所檢測(cè)到的那樣提供原始事件數(shù)據(jù)。相反,在拉取模式下,數(shù)據(jù)收集組件204定期地請(qǐng)求或另外(例如通過(guò)讀取由開(kāi)發(fā)工具維護(hù)的日志)從開(kāi)發(fā)工具202獲得原始事件數(shù)據(jù)。可選地,可以提供配置管理組件208以允許用戶(hù)部署特定傳感器,選擇哪些傳感器應(yīng)當(dāng)為激活的,等等。下面將參考圖 12對(duì)這種配置管理組件208的實(shí)施方式進(jìn)行描述。每個(gè)數(shù)據(jù)收集組件204高效地操作為傳感器以收集原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù)206。 原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù)206在如下程度上構(gòu)成“含噪”數(shù)據(jù)流,除對(duì)系統(tǒng)100有特定用處的事件數(shù)據(jù)之外,還有很大一部分原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù)206對(duì)于該目的而言是無(wú)用的。如果不過(guò)濾掉這種無(wú)關(guān)的數(shù)據(jù),則將負(fù)面地影響系統(tǒng)100監(jiān)控過(guò)程遵守的效率并且潛在地影響其準(zhǔn)確度。例如,在開(kāi)發(fā)工具包括單獨(dú)開(kāi)發(fā)人員的工作站上的IDE的實(shí)例的情況下,除感興趣的事件(例如“已創(chuàng)建的模塊”、“已打開(kāi)的模塊”、“已編輯的模塊”、“已關(guān)閉的模塊”、 “已調(diào)用的單元測(cè)試”、“在編輯會(huì)話(huà)中添加或修改的“行”數(shù)量”等)之外,由對(duì)應(yīng)的數(shù)據(jù)收集組件收集的原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù)206可以包括其他事件數(shù)據(jù),諸如“用戶(hù)登錄”、對(duì)軟件代碼文件所執(zhí)行的特定操作(例如變量的添加或修改)等,該其他事件數(shù)據(jù)并不輔助監(jiān)控過(guò)程的遵守。應(yīng)當(dāng)注意,由于原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù)206可以出于很多目的而重新使用, 數(shù)據(jù)收集組件204收集全面的一組數(shù)據(jù),諸如時(shí)間戳、開(kāi)發(fā)人員姓名、機(jī)器名稱(chēng)、事件類(lèi)別、 事件子類(lèi)別、工具名稱(chēng)、事件日志等。
原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù)206可以存儲(chǔ)在諸如計(jì)算機(jī)存儲(chǔ)器之類(lèi)的合適的存儲(chǔ)組件中,正如由例如通過(guò)合適的數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn)的數(shù)據(jù)庫(kù)所體現(xiàn)的。此后,可以使用查詢(xún)處理組件214來(lái)基于由查詢(xún)形成組件212提供的適當(dāng)配置的查詢(xún),來(lái)僅提取原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù)206的有用部分。接著,由查詢(xún)形成組件212提供的查詢(xún)可以根據(jù)由系統(tǒng)100的用戶(hù)提供的過(guò)濾特征210來(lái)形成。例如,考慮想要僅集中于與代碼質(zhì)量工具有關(guān)的事件并且進(jìn)一步僅集中于特定工具的項(xiàng)目;例如PMD (結(jié)合“JAVA”語(yǔ)言程序而使用的公知代碼質(zhì)量工具)。在此情況下,查詢(xún)將使用事件類(lèi)別和工具名稱(chēng)參數(shù)來(lái)過(guò)濾原始事件數(shù)據(jù),并且僅提取由PMD生成的那些事件。在一個(gè)實(shí)施方式中,過(guò)濾特征210由項(xiàng)目用戶(hù)限定為一組對(duì)系統(tǒng)的配置性質(zhì)選項(xiàng)。例如,可以使用配置文件或用戶(hù)接口機(jī)制來(lái)輸入過(guò)濾特征210,用戶(hù)接口機(jī)制為用戶(hù)提供了一組可用的特征,從而使得用戶(hù)根據(jù)需求選擇/取消選擇特征。使用這些過(guò)濾特征,查詢(xún)形成組件212實(shí)質(zhì)上創(chuàng)建了過(guò)濾器。作為實(shí)現(xiàn)示例,過(guò)濾器可以實(shí)現(xiàn)為在原始事件數(shù)據(jù)206上起作用的SQL查詢(xún)。例如,諸如“SELECT*FROMEVENTS WHERE TOOL LIKE ‘PMD’”的查詢(xún)將選擇由PMD工具生成的事件的所有特征??梢酝ㄟ^(guò)包括特定字段作為SELECT語(yǔ)句的一部分來(lái)實(shí)現(xiàn)進(jìn)一步過(guò)濾,例如,使用開(kāi)發(fā)人員姓名和時(shí)間戳作為約束條件將得到經(jīng)處理的事件信息,該經(jīng)處理的事件信息包括已經(jīng)執(zhí)行了 PMD的開(kāi)發(fā)人員和執(zhí)行時(shí)間。查詢(xún)處理組件214的輸出是開(kāi)發(fā)過(guò)程事件信息216。在已經(jīng)如上所述地進(jìn)行了過(guò)濾的情況下,開(kāi)發(fā)過(guò)程事件信息216應(yīng)當(dāng)包括對(duì)應(yīng)于在確定軟件開(kāi)發(fā)過(guò)程遵守時(shí)最有用的那些事件的數(shù)據(jù)。正如原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù)206的情況那樣,開(kāi)發(fā)過(guò)程事件信息216可以存儲(chǔ)在諸如計(jì)算機(jī)存儲(chǔ)器之類(lèi)的合適的存儲(chǔ)組件中,正如由例如通過(guò)合適的數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn)的數(shù)據(jù)庫(kù)所體現(xiàn)的。圖3更詳細(xì)地圖示出了規(guī)則執(zhí)行組件104的實(shí)施方式。特別地,規(guī)則執(zhí)行組件104 包括規(guī)則引擎302,規(guī)則引擎302基于一個(gè)或多個(gè)可執(zhí)行驗(yàn)證規(guī)則304 (例如從規(guī)則存儲(chǔ)組件108獲得)和開(kāi)發(fā)過(guò)程事件信息而操作。在一個(gè)實(shí)施方式中,規(guī)則執(zhí)行組件104實(shí)現(xiàn)為所存儲(chǔ)的、由一個(gè)或多個(gè)處理設(shè)備執(zhí)行的指令,正如本領(lǐng)域中已知。因此,首先生成規(guī)則引擎302的實(shí)例,并且將可執(zhí)行驗(yàn)證規(guī)則304加載到由規(guī)則引擎使用的工作存儲(chǔ)器中。另外, 還將開(kāi)發(fā)過(guò)程事件信息216(或者其至少一部分)加載到規(guī)則引擎302的工作存儲(chǔ)器中。正如本領(lǐng) 域中已知,對(duì)規(guī)則引擎302的工作存儲(chǔ)器進(jìn)行填充的過(guò)程稱(chēng)為事實(shí)判定。在利用必需的規(guī)則和事件信息填充工作存儲(chǔ)器之后,規(guī)則引擎的規(guī)則推斷機(jī)制嘗試找到所判定的事實(shí)(事件信息)與規(guī)則之間的匹配。正如本領(lǐng)域中進(jìn)一步已知,規(guī)則推斷機(jī)制可以采用前向成鏈,其中規(guī)則推斷機(jī)制將每個(gè)規(guī)則的前驅(qū)或條件與所判定的事實(shí)相比較,如果找到匹配,則將每個(gè)規(guī)則的后繼添加到所判定的事實(shí),即如果符合其條件則該規(guī)則被滿(mǎn)足。備選地,規(guī)則推斷機(jī)制可以采用后繼成鏈,其中該后繼成鏈?zhǔn)紫葒L試匹配每個(gè)規(guī)則的后繼,當(dāng)找到這種匹配時(shí),進(jìn)一步嘗試找到與所匹配的規(guī)則的前驅(qū)的匹配,即如果找到了規(guī)則的目標(biāo),則如果還找到了其條件聲明的話(huà),規(guī)則被滿(mǎn)足。備選地,給定的規(guī)則在如下程度上不會(huì)被給定的一組所判定的事實(shí)涉及,即其前驅(qū)和目標(biāo)都不會(huì)在所判定的事實(shí)中被識(shí)另IJ。規(guī)則引擎302的又一種實(shí)現(xiàn)對(duì)于本領(lǐng)域普通技術(shù)人員而言可能是顯然的。無(wú)論所采用的機(jī)制如何,在已經(jīng)檢查了所有的規(guī)則之后,可以正如所示地將其相應(yīng)的狀態(tài)(即滿(mǎn)足、違反和/或未涉及)放置在結(jié)果存儲(chǔ)組件110中。另外,還可以將關(guān)于任何規(guī)則違反的附加信息存儲(chǔ)在結(jié)果存儲(chǔ)組件110中。例如,這種附加信息可以包括引發(fā)由給定規(guī)則違反所涉及的事件的開(kāi)發(fā)人員的標(biāo)識(shí)、關(guān)于這種事件是何時(shí)發(fā)生的時(shí)間戳、所違反的規(guī)則的標(biāo)識(shí)等。現(xiàn)在參考圖4,其進(jìn)一步圖示出了可以用于實(shí)現(xiàn)本公開(kāi)的教導(dǎo)的代表性處理設(shè)備 400。設(shè)備400可以用于實(shí)現(xiàn)例如圖1至圖3中所圖示的一個(gè)或多個(gè)組件。無(wú)論如何,設(shè)備 400包括耦合到存儲(chǔ)組件404的處理器402。存儲(chǔ)組件404接著包括所存儲(chǔ)的可執(zhí)行指令 416和數(shù)據(jù)418。在一個(gè)實(shí)施方式中,處理器402可以包括一個(gè)或多個(gè)處理設(shè)備,諸如微處理器、微控制器、數(shù)字信號(hào)處理器或者其組合,該組合能夠執(zhí)行所存儲(chǔ)的指令416并且對(duì)所存儲(chǔ)的數(shù)據(jù)418進(jìn)行操作。類(lèi)似地,存儲(chǔ)組件404可以包括一個(gè)或多個(gè)設(shè)備,諸如易失性或非易失性存儲(chǔ)器,包括但不限于隨機(jī)存取存儲(chǔ)器(RAM)或只讀存儲(chǔ)器(ROM)。更進(jìn)一步,存儲(chǔ)組件404可以體現(xiàn)為各種各樣的形式,諸如硬盤(pán)驅(qū)動(dòng)器、光盤(pán)驅(qū)動(dòng)器、軟盤(pán)驅(qū)動(dòng)器等。圖 4中所圖示的類(lèi)型的處理器和存儲(chǔ)布置對(duì)于本領(lǐng)域普通技術(shù)人員而言是公知的。在一個(gè)實(shí)施方式中,在此描述的處理技術(shù)實(shí)現(xiàn)為存儲(chǔ)組件404內(nèi)的可執(zhí)行指令和數(shù)據(jù)的組合。正如所示,設(shè)備400可以包括與處理器402通信的一個(gè)或多個(gè)用戶(hù)輸入設(shè)備406、 顯示器408、外設(shè)接口 410、其他輸出設(shè)備412以及網(wǎng)絡(luò)接口 414。用戶(hù)輸入設(shè)備406可以包括用于向處理器402提供用戶(hù)輸入的任何機(jī)制。例如,用戶(hù)輸入設(shè)備406可以包括鍵盤(pán)、 鼠標(biāo)、觸摸屏、麥克風(fēng)和合適的語(yǔ)音識(shí)別應(yīng)用或者設(shè)備400的用戶(hù)可以用以向處理器402提供用戶(hù)輸入的任何其他裝置。顯示器408可以包括任何常規(guī)的顯示機(jī)制,諸如陰極射線(xiàn)管 (CRT)、平板顯示器、或者本領(lǐng)域普通技術(shù)人員已知的任何其他顯示機(jī)制。在一個(gè)實(shí)施方式中,顯示器408結(jié)合合適的所存儲(chǔ)的指令416,可以用于實(shí)現(xiàn)圖形用戶(hù)接口。以這種方式實(shí)現(xiàn)圖形用戶(hù)接口對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)說(shuō)是公知的。外設(shè)接口 410可以包括與各種外圍設(shè)備通信所需的硬件、固件和/或軟件,諸如媒體驅(qū)動(dòng)器(例如磁盤(pán)驅(qū)動(dòng)器或光盤(pán)驅(qū)動(dòng)器)、其他處理設(shè)備或者結(jié)合本技術(shù)而使用的任何其他輸入源。類(lèi)似地,其他輸出設(shè)備412 可以可選地包括類(lèi)似的媒體驅(qū)動(dòng)機(jī)制、其他處理設(shè)備或者能夠向設(shè)備400的用戶(hù)提供信息的其他輸出目的地,諸如揚(yáng)聲器、LED、觸覺(jué)輸出等。最后,網(wǎng)絡(luò)接口 414可以包括允許處理器402經(jīng)由有線(xiàn)或無(wú)線(xiàn)網(wǎng)絡(luò)(無(wú)論是局域的還是廣域的,私有的還是公共的)與其他設(shè)備通信的硬件、固件和/或軟件,正如本領(lǐng)域中已知。例如,這種網(wǎng)絡(luò)可以包括萬(wàn)維網(wǎng)或因特網(wǎng),或者私有企業(yè)網(wǎng)絡(luò),正如本領(lǐng)域中已知。盡管已經(jīng)將設(shè)備400描述為用于實(shí)現(xiàn)在此描述的技術(shù)的一種形式,但本領(lǐng)域普通技術(shù)人員將意識(shí)到可以采用其他的、功能性上等同的技術(shù)。例如,正如本領(lǐng)域中已知,經(jīng)由可執(zhí)行指令實(shí)現(xiàn)的某些或全部功能性還可以使用諸如專(zhuān)用集成電路(ASIC)、可編程邏輯陣列、狀態(tài)機(jī)等固件和/或硬件來(lái)實(shí)現(xiàn)。另外,設(shè)備400的其他實(shí)現(xiàn)可以包括比所圖示的更多或更少數(shù)量的組件。再一次,本領(lǐng)域普通技術(shù)人員將意識(shí)到,可以按照這種方式使用的大量變型。更進(jìn)一步,雖然圖4中圖示出了單個(gè)設(shè)備400,但是應(yīng)當(dāng)理解可以將這種處理設(shè)備的組合配置為聯(lián)合操作 (例如使用已知的聯(lián)網(wǎng)技術(shù))以實(shí)現(xiàn)本公開(kāi)的教導(dǎo)。圖5是圖示出根據(jù)本公開(kāi)對(duì)過(guò)程模式進(jìn)行處理的流程圖。在一個(gè)實(shí)施方式中,圖5 中所圖示的操作由圖4中所圖示的設(shè)備400在實(shí)現(xiàn)圖1的系統(tǒng)100時(shí)執(zhí)行。由此,開(kāi)始于框502,處理開(kāi)始,其中例如由規(guī)則配置組件106接收第一過(guò)程模式和第二過(guò)程模式。如上所述,這可以通過(guò)使用合適的文本和/或圖形用戶(hù)接口來(lái)實(shí)現(xiàn)。用于這一目的的圖形用戶(hù)接口的代表性實(shí)施方式在圖6中進(jìn)一步圖示出。在所圖示的示例中,圖形用戶(hù)接口 600包括配置窗口 602和控制面板窗口 604。配置窗口 602和控制面板窗口 604共同實(shí)現(xiàn)了用于捕獲過(guò)程模式的特定于域的語(yǔ)言(DSL)的前端。在一個(gè)實(shí)施方式中,圖形用戶(hù)接口 600可以使用對(duì)特定于域的語(yǔ)言的開(kāi)發(fā)提供輔助的多個(gè)公知工具中的任何一種(諸如結(jié)合集成了 Eclipse的軟件開(kāi)發(fā)環(huán)境(IDE)而使用的通用Eclipse建模系統(tǒng)(GEMS))來(lái)實(shí)現(xiàn)。正如本領(lǐng)域中已知,與例如通用編程語(yǔ)言相反,特定于域的語(yǔ)言是專(zhuān)用于特定域、表示技術(shù)和/或解決方案技術(shù)的編程或規(guī)范語(yǔ)言。這在圖6 中圖示出,其中在控制面板窗口 606內(nèi)提供特定于軟件開(kāi)發(fā)過(guò)程的多個(gè)模板組件604。正如所示,每個(gè)模板組件604體現(xiàn)了典型地在軟件開(kāi)發(fā)過(guò)程的域中找到的已知狀態(tài)(或者動(dòng)作、 事件等)。例如,在軟件開(kāi)發(fā)領(lǐng)域中已知,應(yīng)當(dāng)發(fā)生的典型事件是開(kāi)發(fā)人員編輯特定的代碼部分。因此,這一點(diǎn)的發(fā)生表示為由標(biāo)記為“編輯代碼”的模板組件來(lái)表明的通用狀態(tài)。需要發(fā)生以便證明開(kāi)發(fā)人員事實(shí)上已經(jīng)編輯了代碼的底層原始事件被限定為在“編輯代碼” 模板中闡明的條件(例如通過(guò)主題專(zhuān)家指示)。使用這一已知技術(shù),可以限定典型的和/或所希望的狀態(tài)的進(jìn)一步示例,以便確保所有所希望的軟件開(kāi)發(fā)過(guò)程都可以充分地捕獲。在圖6中所圖示的示例中,每個(gè)模板組件由圖形式圖標(biāo)和文本串的組合來(lái)表示, 盡管本領(lǐng)域普通技術(shù)人員將意識(shí)到這并非必要條件。在一個(gè)實(shí)施方式中,可以經(jīng)由結(jié)合圖形用戶(hù)接口而操作的用戶(hù)輸入設(shè)備接收選擇信息,該用戶(hù)輸入設(shè)備例如是鼠標(biāo)和光標(biāo)組合,從而用戶(hù)將光標(biāo)定位在給定圖標(biāo)上,并且點(diǎn)擊鼠標(biāo)上的按鈕以選擇該圖標(biāo)。再次參考圖 6中所圖示的實(shí)施方式,選擇信息可以進(jìn)一步包括表明用戶(hù)已經(jīng)將所選擇的圖標(biāo)拖曳并放下(再次使用例如光標(biāo)/鼠標(biāo)組合)到配置窗口 602中的信息??梢灾貜?fù)這些過(guò)程,直到將所有所希望的狀態(tài)610都被放置在窗口 602中為止。此外,提供連接符模板608以指示各種狀態(tài)之間的流。如現(xiàn)有技術(shù)中已知,當(dāng)定義狀態(tài)圖時(shí),連接符611可以配置用于定義導(dǎo)致?tīng)顟B(tài)機(jī)從一個(gè)狀態(tài)向另一狀態(tài)移動(dòng)的條件。總體上,所希望的狀態(tài)610和此類(lèi)狀態(tài)之間的連接符611定義過(guò)程模式的示例。如進(jìn)一步示出,可以提供規(guī)則名稱(chēng)域612,從而使得用戶(hù)可以提供用于規(guī)則的名稱(chēng),而提供規(guī)則描述域614以便捕獲由過(guò)程模式定義的規(guī)則的更詳細(xì)的文本描述。一旦過(guò)程 模式和所附的數(shù)據(jù)612、614已經(jīng)被完整地提供,用戶(hù)可以選擇保存按鈕616以便存儲(chǔ)所輸入的數(shù)據(jù)以供后續(xù)使用。如上所述,與使用圖形用戶(hù)接口 600來(lái)捕獲過(guò)程模式不同,為了這一目的,可以等同地采用文本用戶(hù)接口。正如本領(lǐng)域中已知,這種接口可以包括使得用戶(hù)能夠限定一組所希望的條件的必要提示(以例如下拉菜單和文本輸入域的形式)。例如,可以提供用于輸入限定“if-then”(如果-那么)條件的數(shù)據(jù)的提示??梢园凑疹?lèi)似的方式限定其他條件。更進(jìn)一步,可以提供提示來(lái)將各種所限定的條件鏈接在一起(例如,諸如“and(與)”、 “or (或)”、“not (非)”等邏輯運(yùn)算符),從而使得可以完整地限定所希望的狀態(tài)。例如,使用這一方法,可以捕獲規(guī)則如“項(xiàng)目要求所有開(kāi)發(fā)人員在代碼簽入之前‘修復(fù)’ ‘優(yōu)先級(jí)1’ 問(wèn)題”。本領(lǐng)域普通技術(shù)人員將容易地限定進(jìn)一步的示例。更進(jìn)一步,用于實(shí)現(xiàn)這種用來(lái)捕獲過(guò)程模式的文本接口的技術(shù)對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)說(shuō)是已知的。再一次參考圖5,如上所述,在框502處使用例如上述用戶(hù)接口機(jī)制中的任何一種來(lái)接收第一過(guò)程模式和第二過(guò)程模式。注意,第一過(guò)程模式和第二過(guò)程模式并非一定需要在相對(duì)于彼此的短暫時(shí)間內(nèi)接收;事實(shí)上,因?yàn)樗鼈兇鎯?chǔ)在合適的存儲(chǔ)設(shè)備中,所以實(shí)際上在第一過(guò)程模式的接收與第二過(guò)程模式的接收之間可能經(jīng)過(guò)任何時(shí)間段。然而,在一個(gè)實(shí)施方式中,可能希望,在創(chuàng)建新的過(guò)程模式時(shí),例如當(dāng)用戶(hù)選擇保存按鈕616時(shí),將新創(chuàng)建的過(guò)程模式與現(xiàn)有的過(guò)程模式相比較。無(wú)論如何,處理在框504處繼續(xù),其中確定是否有機(jī)會(huì)合并第一過(guò)程模式和第二過(guò)程模式。在一個(gè)實(shí)施方式中,這是通過(guò)對(duì)限定每個(gè)過(guò)程模式的各種狀態(tài)進(jìn)行比較來(lái)實(shí)現(xiàn)的。注意,在規(guī)則當(dāng)前并不是如在上述過(guò)程模式的情況下那樣以狀態(tài)圖形式表示的情況下,可以使用公知技術(shù)將規(guī)則轉(zhuǎn)換為這種狀態(tài)圖形式。另外, 用于對(duì)曲線(xiàn)圖表示進(jìn)行比較的技術(shù)在本領(lǐng)域中是公知的??梢允褂弥T如JUNG(當(dāng)前可在 http Il iunR/sourceforRe. net/獲得)之類(lèi)的公知曲線(xiàn)圖分析庫(kù)來(lái)進(jìn)行曲線(xiàn)圖比較。與此類(lèi)似,可以通過(guò)使用諸如GQL4JUNG(當(dāng)前可在http://code. ROORle. com/p/gql4iung/獲得)之類(lèi)的工具,使用XPATH查詢(xún)語(yǔ)言來(lái)進(jìn)行曲線(xiàn)圖查詢(xún)和比較。無(wú)論所使用的方法如何, 曲線(xiàn)圖比較都確立了兩個(gè)曲線(xiàn)圖之間的頂點(diǎn)和邊之間的共性度。由此,共性度越高,兩個(gè)曲線(xiàn)圖的這些區(qū)段相似的置信度越高。這一點(diǎn)的示例在圖7至圖9中圖示出。圖7圖示出了可以稱(chēng)為“質(zhì)量檢查遵守”的第一過(guò)程模式。正如所示,質(zhì)量檢查遵守過(guò)程模式表示為如下?tīng)顟B(tài)圖,其中初始狀態(tài)是“新代碼文件”或“簽出代碼”,前者針對(duì)創(chuàng)建新代碼文件的實(shí)例,而后者針對(duì)代碼倉(cāng)庫(kù)中已經(jīng)存在代碼文件的實(shí)例。無(wú)論如何,圖7中圖示的其他狀態(tài)包括“代碼編輯”(其中開(kāi)發(fā)人員對(duì)代碼文件進(jìn)行編輯)、“編譯代碼”(對(duì)應(yīng)于編譯代碼文件中的代碼的動(dòng)作)、“運(yùn)行質(zhì)量工具”(對(duì)應(yīng)于所關(guān)注的代碼文件上正在執(zhí)行的代碼質(zhì)量工具)以及“簽入代碼”(其中將代碼文件簽入到代碼倉(cāng)庫(kù)中)。正如進(jìn)一步示出的那樣,可以限定每個(gè)狀態(tài)之間的多個(gè)狀態(tài)轉(zhuǎn)移。每個(gè)狀態(tài)可以包括用于限定該狀態(tài)的給定實(shí)例的各種各樣的信息,該狀態(tài)諸如任何輸入狀態(tài)(導(dǎo)致這一狀態(tài)的狀態(tài))和/或輸出狀態(tài)(后接這一狀態(tài)的狀態(tài));標(biāo)識(shí)哪一部分代碼與該狀態(tài)的這一實(shí)例相關(guān)的實(shí)體信息;進(jìn)入時(shí)間;退出時(shí)間;在完成狀態(tài)后提供可識(shí)別的結(jié)果的那些情況下的狀態(tài)結(jié)果;以及表明對(duì)于給定的一組原始事件數(shù)據(jù),這一狀態(tài)被遍歷的次數(shù)的訪(fǎng)問(wèn)計(jì)數(shù)。類(lèi)似地,每次轉(zhuǎn)移可以包括各種信息,諸如輸入狀態(tài)(轉(zhuǎn)移從中源發(fā)的狀態(tài))和輸出狀態(tài)(轉(zhuǎn)移在其中終止的狀態(tài));在狀態(tài)結(jié)果可用的那些實(shí)例中的最后的狀態(tài)結(jié)果;表明轉(zhuǎn)移何時(shí)發(fā)生的發(fā)起時(shí)間;以及表明對(duì)于給定的一組原始數(shù)據(jù),發(fā)生了多少次轉(zhuǎn)移的訪(fǎng)問(wèn)計(jì)數(shù)。正如所示,多個(gè)轉(zhuǎn)移包括對(duì)對(duì)應(yīng)于該轉(zhuǎn)移的發(fā)生的狀態(tài)結(jié)果的指示。例如,在“編譯代碼”狀態(tài)的情況下,“失敗”狀態(tài)結(jié)果對(duì)應(yīng)于轉(zhuǎn)移回“代碼編輯”狀態(tài),而“通過(guò)”狀態(tài)結(jié)果對(duì)應(yīng)于轉(zhuǎn)移回“代碼編輯”狀態(tài)或轉(zhuǎn)移到“運(yùn)行質(zhì)量工具”狀態(tài)。另外,圖示為虛線(xiàn)的各種有害轉(zhuǎn)移被示出為有時(shí)根據(jù)事件數(shù)據(jù)而發(fā)生但不應(yīng)當(dāng)發(fā)生的轉(zhuǎn)移的示例。例如,根據(jù)所限定的過(guò)程,“運(yùn)行質(zhì)量工具”狀態(tài)中的“失敗”結(jié)果應(yīng)當(dāng)導(dǎo)致轉(zhuǎn)移到“代碼編輯”狀態(tài)。然而,以某個(gè)頻率發(fā)生的有害轉(zhuǎn)移是從“運(yùn)行質(zhì)量工具”狀態(tài)轉(zhuǎn)移到“簽入代碼”狀態(tài),而不論 “失敗”結(jié)果是否發(fā)生。以類(lèi)似的風(fēng)格,圖8圖示出了可以稱(chēng)為“TDD遵守”的過(guò)程模式。TDD(或測(cè)試驅(qū)動(dòng)設(shè)計(jì))是基于測(cè)試和代碼編輯的相對(duì)快速的迭代的軟件開(kāi)發(fā)的方法。無(wú)論如何,在所示的示例中,TDD遵守過(guò)程模式包括多個(gè)實(shí)際上相同的狀態(tài),正如在圖7和圖8中用具有加粗輪廓的橢圓來(lái)突出顯示的那樣,即“新代碼文件”、“代碼編輯”、“編譯代碼”、“簽入代碼”和“ 結(jié)束”狀態(tài)。然而,與質(zhì)量檢查遵守過(guò)程模式不同,唯一的開(kāi)始狀態(tài)是不同的狀態(tài),稱(chēng)為“新單元測(cè)試文件”(對(duì)應(yīng)于開(kāi)發(fā)人員創(chuàng)建單元測(cè)試文件),隨后是“單元測(cè)試編輯”(其中開(kāi)發(fā)人員對(duì)單元測(cè)試文件進(jìn)行各種改變)。另外,圖7中所圖示的“運(yùn)行質(zhì)量工具”狀態(tài)基本上被圖8中所示的“運(yùn)行單元測(cè)試”狀態(tài)所替換。如同之前,圖8中所圖示的新?tīng)顟B(tài)包括狀態(tài)之間的各種轉(zhuǎn)移,包括若干經(jīng)常發(fā)生的有害轉(zhuǎn)移的示例。使用本領(lǐng)域普通技術(shù)人員已知的曲線(xiàn)圖比較技術(shù),識(shí)別兩個(gè)曲線(xiàn)圖之間的類(lèi)似狀態(tài),即“新代碼文件”、“代碼編輯”、“編譯代碼”、“簽入代碼”和“結(jié)束”狀態(tài)。一般地,當(dāng)多個(gè)曲線(xiàn)圖具有共同的起點(diǎn)和終點(diǎn),并且中間狀態(tài)可以通過(guò)單獨(dú)曲線(xiàn)圖中所限定的普通狀態(tài)轉(zhuǎn)移來(lái)達(dá)到時(shí),可以合并曲線(xiàn)圖。進(jìn)一步,如果存在任何停滯狀態(tài)或不可達(dá)到的狀態(tài),則不能合并曲線(xiàn)圖。由此,在本示例中,基于這一狀態(tài)共性,可以如圖9中進(jìn)一步圖示的那樣合并兩個(gè)過(guò)程模式。正如所示,合并后的過(guò)程模式包括共同狀態(tài)以及第一過(guò)程模式和第二過(guò)程模式中的每一個(gè)所特有的附加狀態(tài)兩者。注意,為易于說(shuō)明,圖9中所圖示的合并后的過(guò)程模式不包括圖7和圖8中所示的任何有害轉(zhuǎn)移示例。當(dāng)然,仍然應(yīng)當(dāng)理解,在如下程度上圖9中所圖示的那些轉(zhuǎn)移之外的轉(zhuǎn)移可以構(gòu)成有害轉(zhuǎn)移,即它們不符合合并后的過(guò)程模式。再次參考圖5,如果沒(méi)有找到過(guò)程模式之間的合并機(jī)會(huì),則處理在框510處繼續(xù), 其中將相應(yīng)的過(guò)程模式轉(zhuǎn)換為可執(zhí)行過(guò)程驗(yàn)證規(guī)則,如果先前沒(méi)有完成的話(huà)。例如,在GEMS 的上下文中,如上所述,可以獲得插件程序來(lái)將過(guò)程模式轉(zhuǎn)換為可執(zhí)行代碼。如果不是已經(jīng)存儲(chǔ),則隨后存儲(chǔ)所得到的可執(zhí)行過(guò)程驗(yàn)證規(guī)則,正如在框512處所表明的那樣。然而,如果在框504處找到了合并機(jī)會(huì),則在框506處繼續(xù)處理,其中如例如圖9中所示合并第一過(guò)程模式和第二過(guò)程模式。此后,處理可以可選地在框508處繼續(xù),其中將合并后的過(guò)程模式提供給用戶(hù),以便獲得對(duì)合并后的過(guò)程模式的反饋(如果有的話(huà))。在一個(gè)實(shí)施方式中,用戶(hù)可以是主題專(zhuān)家,其具有關(guān)于針對(duì)給定軟件開(kāi)發(fā)項(xiàng)目的所希望的軟件開(kāi)發(fā)過(guò)程的特定知識(shí)。本領(lǐng)域普通技術(shù)人員將意識(shí)到,可以合并過(guò)程模式的事實(shí)并非在全部情形下都是所希望的,或者可能僅在以某種方式修改了合并后的過(guò)程模式之后才是所希望的。例如,可以經(jīng)由圖中6所圖示類(lèi)型的圖形用戶(hù)接口將圖9中所圖示的合并后的過(guò)程模式呈遞給用戶(hù),從而允許用戶(hù)同意它而不需要進(jìn)一步的編輯,編輯它然后表明同意,或者拒絕合并后的過(guò)程模式。假定用戶(hù)同意合并后的過(guò)程模式(需要或不需要進(jìn)一步編輯),則處理僅基于合并后的過(guò)程模式在框510、512處繼續(xù),如上所述。現(xiàn)在參考圖10,其示出了圖示出用于監(jiān)控開(kāi)發(fā)人員對(duì)軟件代碼開(kāi)發(fā)過(guò)程的遵守的方法的流程圖。在一個(gè)實(shí)施方式中,由圖1中所圖示的系統(tǒng)100至少部分地執(zhí)行針對(duì)圖10 而描述的處理。另外,圖10中所圖示的處理可以在一個(gè)或多個(gè)處理設(shè)備(諸如以上針對(duì)圖 4所描述的)的輔助下執(zhí)行。無(wú)論如何,處理在框1002處開(kāi)始,在此配置系統(tǒng)100。在一個(gè)實(shí)施方式中,這種配置包括執(zhí)行建立一個(gè)或多個(gè)傳感器以與各種開(kāi)發(fā)工具120 —起工作, 以及如上所述地為該系統(tǒng)配置一個(gè)或多個(gè)規(guī)則。前者的示例在圖11中圖示出,該圖提供了圖形用戶(hù)接口 1102。接口 1102可以通過(guò)例如規(guī)則配置組件106來(lái)實(shí)現(xiàn)。正如所示,接口 1102包括配置傳感器按鈕1104、規(guī)則管理器按鈕1106和報(bào)告按鈕1108。選擇配置傳感器按鈕1104引起將用戶(hù)接口 1102顯示為使得用戶(hù)可以配置先前部署的傳感器。例如,正如所示,每個(gè)傳感器可以包括所圖示的表中的一行(例如通過(guò)其相應(yīng)的描述來(lái)區(qū)分),從而用戶(hù)能夠操縱復(fù)選框以啟用(選擇)或禁用(取消選擇)給定傳感器。另外,提供列,從而可以指定針對(duì)每個(gè)傳感器的間隔,這種間隔將被用于確定給定傳感器應(yīng)當(dāng)提供其原始事件數(shù)據(jù)的頻率(或被檢查以獲得這種原始事件數(shù)據(jù))。正如進(jìn)一步所示,在給定傳感器是經(jīng)由例如web服務(wù)或其他遠(yuǎn)程服務(wù)來(lái)實(shí)現(xiàn)的情況下,可以提供到給定服務(wù)的路徑名稱(chēng)。備選地,在傳感器被簡(jiǎn)單地嵌入給定工具、應(yīng)用等的情況下,該傳感器可以簡(jiǎn)單地根據(jù)所選擇的頻率來(lái)推送原始事件數(shù)據(jù)。提供概要視圖窗口 1110,從而可以顯示當(dāng)前已啟用和配置的傳感器和/或規(guī)則的數(shù)量。一旦已經(jīng)選擇和配置了所希望的傳感器,用戶(hù)就可以選擇保存?zhèn)鞲衅髋渲冒粹o1112 來(lái)保存輸入傳感器配置數(shù)據(jù)。正如本領(lǐng)域普通技術(shù)人員已知的那樣,隨后使用所保存的傳感器配置數(shù)據(jù)以確保正確的傳感器正在根據(jù)需要而運(yùn)行。 針對(duì)圖12進(jìn)一步圖示出了以上針對(duì)框1002而描述的后一類(lèi)型的配置的另一示例。特別地,選擇規(guī)則管理器按鈕1106可能引起提供圖形用戶(hù)接口 1202。注意,假定使用圖11的傳感器配置數(shù)據(jù),概要視圖窗口 1110反映了在此時(shí)已經(jīng)配置了四個(gè)不同的傳感器的事實(shí)。以類(lèi)似于傳感器配置接口 1102所采用的方式,規(guī)則管理器接口 1202可以針對(duì)每個(gè)可用的規(guī)則提供分開(kāi)的行。再一次,在所圖示的示例中,各種規(guī)則通過(guò)其相應(yīng)的文本描述來(lái)區(qū)分。當(dāng)然,為了這一目的,可以等同地采用某些其他的識(shí)別標(biāo)記,諸如其相應(yīng)的標(biāo)題。 無(wú)論如何,可以提供復(fù)選框,從而用戶(hù)能夠啟用或禁用給定規(guī)則。如果已經(jīng)啟用了所有所希望的規(guī)則,則用戶(hù)可以選擇保存規(guī)則配置按鈕1206,由此引起保存所輸入的規(guī)則配置數(shù)據(jù)。 備選地或附加地,可以選擇添加定制規(guī)則按鈕1208,從而用戶(hù)能夠使用例如上述圖形用戶(hù)接口 600來(lái)限定新規(guī)則。在已經(jīng)以這種方式限定了新規(guī)則的情況下,用戶(hù)隨后可以如上所述地啟用該規(guī)則。再一次參考圖10,在已經(jīng)如需要配置了系統(tǒng)之后,處理可以在框1004處繼續(xù),其中根據(jù)配置信息來(lái)收集上述開(kāi)發(fā)過(guò)程事件信息。在框1006處繼續(xù),可以將以這種方式收集的開(kāi)發(fā)過(guò)程事件信息與先前在框1002處啟用的各種可執(zhí)行過(guò)程驗(yàn)證規(guī)則相比較。然后,在框1008處確定在框1008處是否有任何可執(zhí)行過(guò)程驗(yàn)證規(guī)則尚未得到滿(mǎn)足,即是否已經(jīng)違反了任何規(guī)則。如果為否,則處理在框1004處繼續(xù),其中重復(fù)搜集開(kāi)發(fā)過(guò)程事件數(shù)據(jù)和將其與已啟用的規(guī)則相比較的過(guò)程。注意,關(guān)于是否已經(jīng)違反了規(guī)則的確定可以由限定該規(guī)則的意義來(lái)規(guī)定。例如,肯定規(guī)則可以表明要鼓勵(lì)的行為,即該規(guī)則僅在開(kāi)發(fā)過(guò)程事件數(shù)據(jù)表明過(guò)程以某種方式偏離時(shí)才被違反。備選地,否定規(guī)則可以表明要避免的行為,即該規(guī)則僅在開(kāi)發(fā)過(guò)程事件數(shù)據(jù)表明事實(shí)上執(zhí)行了不希望的過(guò)程時(shí)才被違反。本領(lǐng)域普通技術(shù)人員將認(rèn)識(shí)到,用于限定規(guī)則的各種意義(肯定或否定)可能具有伴隨的優(yōu)點(diǎn)和缺點(diǎn)。例如,在多個(gè)事件中的任何一個(gè)可能導(dǎo)致不期望的偏離的情況下,肯定規(guī)則可能更有用。相反,在不期望的過(guò)程被開(kāi)發(fā)人員頻繁采用的那些實(shí)例中,否定規(guī)則可能有用。無(wú)論如何,如果確定已經(jīng)違反了至少一個(gè)規(guī)則,則處理在框1010處繼續(xù),其中如上所述地生成故障指示,并將其存儲(chǔ)在合適的存儲(chǔ)組件中。最后,在框1012處,可以可選地生成報(bào)告并將其呈遞給發(fā)出請(qǐng)求的用戶(hù)。針對(duì)圖13進(jìn)一步圖示出可以用于這一目的的圖形用戶(hù)接口 1302的示例。在一個(gè)實(shí)施方式中,圖形用戶(hù)接口 1302可以由報(bào)告組件112提供。特別地,當(dāng)用戶(hù)選擇報(bào)告按鈕1108時(shí),可以采用接口 1302。正如所示,該接口可以包括用于選擇要生成的報(bào)告的類(lèi)型的機(jī)制;在所圖示的示例中,為了這一目的,采用了下拉菜單。本領(lǐng)域普通技術(shù)人員將意識(shí)到,除下拉菜單之外的機(jī)制可以用于這一目的。無(wú)論用于選擇報(bào)告的機(jī)制如何,都可以基于使在此處描述的過(guò)程遵守系統(tǒng)而獲得的數(shù)據(jù)來(lái)生成報(bào)告 1306。在所圖示的示例中,提供針對(duì)每個(gè)規(guī)則的過(guò)程違反數(shù)量。使用公知技術(shù),可以將報(bào)告 1306提供給任何所希望的信道(例如用于硬副本輸出的打印機(jī)、用于生成和存儲(chǔ)電子文件的合適應(yīng)用、電子郵件、RSS饋送等)。如上所述,本公開(kāi)描述了用于改善對(duì)用于 過(guò)程遵守監(jiān)控系統(tǒng)中的各種規(guī)則的管理的各種方法和裝置。這一般地通過(guò)如下方式來(lái)實(shí)現(xiàn),即在可能的情況下合并過(guò)程模式并且使用所得到的合并后的過(guò)程模式來(lái)生成可執(zhí)行過(guò)程驗(yàn)證規(guī)則。然后,可以在過(guò)程遵守監(jiān)控系統(tǒng)中采用這種規(guī)則,以確定對(duì)由可執(zhí)行過(guò)程驗(yàn)證規(guī)則代表的一個(gè)或多個(gè)過(guò)程的遵守程度。通過(guò)以這種方式合并規(guī)則,可以減少規(guī)則數(shù)量,從而消除了在將規(guī)則與開(kāi)發(fā)過(guò)程事件數(shù)據(jù)相比較時(shí)的冗余處理。另外,可以按照這種方式減少規(guī)則的數(shù)量,從而簡(jiǎn)化對(duì)系統(tǒng)的管理。至少由于這些原因,上述技術(shù)代表了優(yōu)于現(xiàn)有技術(shù)教導(dǎo)的進(jìn)步。盡管已經(jīng)示出和描述了特定的優(yōu)選實(shí)施方式,但本領(lǐng)域普通技術(shù)人員將意識(shí)到, 在不脫離本教導(dǎo)的情況下,可以進(jìn)行改變和修改。因此,可以想到,上述教導(dǎo)的任何和所有修改、變型或等同形式都落入上述基本底層原理和在所要求保護(hù)的范圍內(nèi)。
權(quán)利要求
1.一種用于開(kāi)發(fā)用于監(jiān)控開(kāi)發(fā)人員對(duì)軟件代碼開(kāi)發(fā)過(guò)程的遵守的規(guī)則的方法,包括 由通過(guò)處理設(shè)備實(shí)現(xiàn)的規(guī)則配置組件接收描述所述軟件代碼開(kāi)發(fā)過(guò)程的至少一部分的第一過(guò)程模式;由所述規(guī)則配置組件接收描述所述軟件代碼開(kāi)發(fā)過(guò)程的至少另一部分的第二過(guò)程模式;由所述規(guī)則配置組件合并所述第一過(guò)程模式和所述第二過(guò)程模式以提供合并后的過(guò)程模式;以及由所述規(guī)則配置組件將所述合并后的過(guò)程模式轉(zhuǎn)換為可執(zhí)行過(guò)程驗(yàn)證規(guī)則。
2.根據(jù)權(quán)利要求1所述的方法,其中合并所述第一過(guò)程模式和所述第二過(guò)程模式進(jìn)一步包括分別將所述第一過(guò)程模式和所述第二過(guò)程模式轉(zhuǎn)換為第一曲線(xiàn)圖和第二曲線(xiàn)圖; 確定所述第一曲線(xiàn)圖與所述第二曲線(xiàn)圖之間的交點(diǎn);基于所述第一曲線(xiàn)圖與所述第二曲線(xiàn)圖之間的所述交點(diǎn)來(lái)生成合并后的曲線(xiàn)圖;以及將所述合并后的曲線(xiàn)圖轉(zhuǎn)換為所述合并后的過(guò)程模式。
3.根據(jù)權(quán)利要求1所述的方法,其中接收所述第一過(guò)程模式和所述第二過(guò)程模式進(jìn)一步包括經(jīng)由實(shí)現(xiàn)特定于域的語(yǔ)言的圖形用戶(hù)接口和文本用戶(hù)接口中的至少一個(gè),接收所述第一過(guò)程模式和所述第二過(guò)程模式。
4.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括由通過(guò)所述處理設(shè)備實(shí)現(xiàn)的事件收集組件收集由所述開(kāi)發(fā)人員生成的開(kāi)發(fā)過(guò)程事件 fn息;由通過(guò)所述處理設(shè)備實(shí)現(xiàn)并且操作性地連接到所述事件收集組件和所述規(guī)則配置組件的規(guī)則執(zhí)行組件,將所述開(kāi)發(fā)過(guò)程事件信息與所述可執(zhí)行驗(yàn)證規(guī)則相比較;以及當(dāng)所述過(guò)程事件信息不符合所述可執(zhí)行過(guò)程驗(yàn)證規(guī)則的至少一個(gè)條件時(shí),由所述規(guī)則執(zhí)行組件生成故障指示。
5.根據(jù)權(quán)利要求4所述的方法,其中收集所述開(kāi)發(fā)過(guò)程事件信息進(jìn)一步包括 由所述事件收集組件從由所述開(kāi)發(fā)人員使用的至少一個(gè)開(kāi)發(fā)工具收集原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù);以及由所述事件收集組件根據(jù)過(guò)濾規(guī)則對(duì)所述原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù)進(jìn)行過(guò)濾以提供所述開(kāi)發(fā)過(guò)程事件信息。
6.根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包括由所述規(guī)則執(zhí)行組件將所述故障指示存儲(chǔ)在結(jié)果存儲(chǔ)設(shè)備中; 由通過(guò)所述處理設(shè)備實(shí)現(xiàn)并且操作性地連接到所述結(jié)果存儲(chǔ)設(shè)備的報(bào)告組件基于所述故障指示生成報(bào)告;以及由所述報(bào)告組件將所述報(bào)告呈遞給用戶(hù)。
7.一種用于開(kāi)發(fā)用于監(jiān)控開(kāi)發(fā)人員對(duì)軟件代碼開(kāi)發(fā)過(guò)程的遵守的規(guī)則的裝置,包括 處理器;處理器可讀介質(zhì),其上存儲(chǔ)有指令,所述指令在由所述處理器執(zhí)行時(shí)使得所述處理器接收描述所述軟件代碼開(kāi)發(fā)過(guò)程的至少一部分的第一過(guò)程模式;接收描述所述軟件代碼開(kāi)發(fā)過(guò)程的至少另一部分的第二過(guò)程模式; 合并所述第一過(guò)程模式和所述第二過(guò)程模式以提供合并后的過(guò)程模式;以及將所述合并后的過(guò)程模式轉(zhuǎn)換為可執(zhí)行過(guò)程驗(yàn)證規(guī)則。
8.根據(jù)權(quán)利要求7所述的設(shè)備,其中使得所述處理器合并所述第一過(guò)程模式和所述第二過(guò)程模式的那些指令進(jìn)一步操作為使得所述處理器分別將所述第一過(guò)程模式和所述第二過(guò)程模式轉(zhuǎn)換為第一曲線(xiàn)圖和第二曲線(xiàn)圖; 確定所述第一曲線(xiàn)圖與所述第二曲線(xiàn)圖之間的交點(diǎn);基于所述第一曲線(xiàn)圖與所述第二曲線(xiàn)圖之間的所述交點(diǎn)來(lái)生成合并后的曲線(xiàn)圖;以及將所述合并后的曲線(xiàn)圖轉(zhuǎn)換為所述合并后的過(guò)程模式。
9.根據(jù)權(quán)利要求7所述的設(shè)備,其中使得所述處理器接收所述第一過(guò)程模式和所述第二過(guò)程模式的那些指令進(jìn)一步操作為使得所述處理器經(jīng)由實(shí)現(xiàn)特定于域的語(yǔ)言的圖形用戶(hù)接口和文本用戶(hù)接口中的至少一個(gè),接收所述第一過(guò)程模式和所述第二過(guò)程模式。
10.根據(jù)權(quán)利要求7所述的設(shè)備,所述處理器可讀介質(zhì)進(jìn)一步包括指令,該指令在由所述處理器執(zhí)行時(shí)使得所述處理器收集由所述開(kāi)發(fā)人員生成的開(kāi)發(fā)過(guò)程事件信息;將所述開(kāi)發(fā)過(guò)程事件信息與所述可執(zhí)行驗(yàn)證規(guī)則相比較;以及當(dāng)所述過(guò)程事件信息不符合所述可執(zhí)行過(guò)程驗(yàn)證規(guī)則的至少一個(gè)條件時(shí),生成故障指示。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其中使得所述處理器收集所述開(kāi)發(fā)過(guò)程事件信息的那些指令進(jìn)一步操作為使得所述處理器從由所述開(kāi)發(fā)人員使用的至少一個(gè)開(kāi)發(fā)工具收集原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù);以及根據(jù)過(guò)濾規(guī)則對(duì)所述原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù)進(jìn)行過(guò)濾以提供所述開(kāi)發(fā)過(guò)程事件信息。
12.根據(jù)權(quán)利要求10所述的設(shè)備,所述處理器可讀介質(zhì)進(jìn)一步包括指令,所述指令在由所述處理器執(zhí)行時(shí)使得所述處理器將所述故障指示存儲(chǔ)在結(jié)果存儲(chǔ)設(shè)備中; 基于所述故障指示生成報(bào)告;以及將所述報(bào)告呈遞給用戶(hù)。
13.一種用于開(kāi)發(fā)用于監(jiān)控開(kāi)發(fā)人員對(duì)軟件代碼開(kāi)發(fā)過(guò)程的遵守的規(guī)則的裝置,包括用尸接口 ;以及操作性地連接到所述用戶(hù)接口的規(guī)則配置組件,操作為接收描述所述軟件代碼開(kāi)發(fā)過(guò)程的至少一部分的第一過(guò)程模式,接收描述所述軟件代碼開(kāi)發(fā)過(guò)程的至少另一部分的第二過(guò)程模式,合并所述第一過(guò)程模式和所述第二過(guò)程模式以提供合并后的過(guò)程模式,以及將所述合并后的過(guò)程模式轉(zhuǎn)換為可執(zhí)行過(guò)程驗(yàn)證規(guī)則。
14.根據(jù)權(quán)利要求13所述的裝置,其中所述用戶(hù)接口包括各自實(shí)現(xiàn)特定于域的語(yǔ)言的圖形用戶(hù)接口和文本用戶(hù)接口中的至少一個(gè)。
15.根據(jù)權(quán)利要求13所述的裝置,其中當(dāng)合并所述第一過(guò)程模式和所述第二過(guò)程模式時(shí),所述規(guī)則配置組件進(jìn)一步操作為分別將所述第一過(guò)程模式和所述第二過(guò)程模式轉(zhuǎn)換為第一曲線(xiàn)圖和第二曲線(xiàn)圖;確定所述第一曲線(xiàn)圖與所述第二曲線(xiàn)圖之間的交點(diǎn);基于所述第一曲線(xiàn)圖與所述第二曲線(xiàn)圖之間的所述交點(diǎn)來(lái)生成合并后的曲線(xiàn)圖;以及將所述合并后的曲線(xiàn)圖轉(zhuǎn)換為所述合并后的過(guò)程模式。
16.根據(jù)權(quán)利要求13所述的裝置,進(jìn)一步包括事件收集組件,操作為收集由所述開(kāi)發(fā)人員使用至少一個(gè)開(kāi)發(fā)工具生成的開(kāi)發(fā)過(guò)程事件信息;規(guī)則執(zhí)行組件,操作性地連接到所述事件收集組件和所述規(guī)則配置組件,操作為將所述開(kāi)發(fā)過(guò)程事件信息與可執(zhí)行驗(yàn)證規(guī)則代表相比較,以及當(dāng)所述過(guò)程事件信息不符合所述可執(zhí)行過(guò)程驗(yàn)證規(guī)則的至少一個(gè)條件時(shí),生成故障指示。
17.根據(jù)權(quán)利要求16所述的裝置,其中所述事件收集組件進(jìn)一步包括數(shù)據(jù)收集組件,操作性地連接到所述至少一個(gè)開(kāi)發(fā)工具,操作為從所述至少一個(gè)開(kāi)發(fā)工具收集原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù);以及查詢(xún)處理組件,操作性地連接到所述數(shù)據(jù)收集組件,操作為根據(jù)過(guò)濾規(guī)則對(duì)所述原始開(kāi)發(fā)過(guò)程事件數(shù)據(jù)進(jìn)行過(guò)濾以提供所述開(kāi)發(fā)過(guò)程事件信息。
18.根據(jù)權(quán)利要求16所述的裝置,進(jìn)一步包括 報(bào)告組件;以及結(jié)果存儲(chǔ)設(shè)備,連接到所述報(bào)告組件和所述規(guī)則執(zhí)行組件,其中所述規(guī)則執(zhí)行組件進(jìn)一步操作為將所述故障指示存儲(chǔ)在所述結(jié)果存儲(chǔ)設(shè)備中;并且其中所述報(bào)告組件進(jìn)一步操作為基于所述故障指示生成報(bào)告以及將所述報(bào)告呈遞給用戶(hù)。
19.實(shí)質(zhì)上如參考附圖而描述和圖示出的裝置和方法。
全文摘要
本公開(kāi)涉及在用于監(jiān)控開(kāi)發(fā)人員對(duì)軟件代碼開(kāi)發(fā)過(guò)程的遵守的系統(tǒng)中的規(guī)則合并。在系統(tǒng)中,接收第一過(guò)程模式和第二過(guò)程模式并將其合并以提供合并后的過(guò)程模式。每個(gè)過(guò)程模式按照狀態(tài)圖表示來(lái)表達(dá),涵蓋了所希望的軟件代碼開(kāi)發(fā)過(guò)程的至少一部分??蛇x地,將合并后的過(guò)程模式呈遞給主題專(zhuān)家以獲得對(duì)其的反饋。然后,將合并后的過(guò)程模式轉(zhuǎn)換為可執(zhí)行過(guò)程驗(yàn)證規(guī)則,用于在監(jiān)控過(guò)程遵守中使用。在一個(gè)實(shí)施方式中,將開(kāi)發(fā)過(guò)程事件數(shù)據(jù)與可執(zhí)行過(guò)程驗(yàn)證規(guī)則相比較。違背規(guī)則會(huì)導(dǎo)致生成故障指示,根據(jù)需要存儲(chǔ)該故障指示并且隨后進(jìn)行報(bào)告。以這種方式,當(dāng)確定開(kāi)發(fā)人員對(duì)一個(gè)或多個(gè)軟件代碼開(kāi)發(fā)過(guò)程的遵循程度時(shí),可以提高自動(dòng)化過(guò)程遵守監(jiān)控系統(tǒng)的效率。
文檔編號(hào)G06F9/44GK102253829SQ20111013590
公開(kāi)日2011年11月23日 申請(qǐng)日期2011年5月20日 優(yōu)先權(quán)日2010年5月20日
發(fā)明者V·S·沙爾馬, V·S·考爾古德 申請(qǐng)人:埃森哲環(huán)球服務(wù)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
达尔| 忻城县| 旬阳县| 青阳县| 紫金县| 高陵县| 涟水县| 邳州市| 迁安市| 黄陵县| 泸西县| 合肥市| 应用必备| 廊坊市| 罗江县| 长垣县| 绥滨县| 喀什市| 衡阳县| 宁晋县| 西乌珠穆沁旗| 孟村| 集安市| 灵宝市| 中方县| 巴彦淖尔市| 旬邑县| 绵竹市| 巴东县| 遵义县| 天津市| 个旧市| 定远县| 新干县| 双城市| 略阳县| 梁河县| 宜章县| 河西区| 永登县| 库尔勒市|