本發(fā)明涉及計(jì)算機(jī)軟件編程技術(shù)領(lǐng)域,特別涉及一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理框架及方法。
背景技術(shù):
當(dāng)今計(jì)算機(jī)工業(yè)發(fā)展迅速, 軟件產(chǎn)業(yè)更是如此,技術(shù)和產(chǎn)品的更新?lián)Q代之迅速常令技術(shù)人員和管理人員感到明顯的壓力。我國(guó)信息技術(shù)產(chǎn)業(yè)的蓬勃發(fā)展促使各種先進(jìn)技術(shù)和產(chǎn)品廣泛應(yīng)用,為國(guó)內(nèi)的軟件開(kāi)發(fā)注入了活力。然而,值得注意的是, 各種先進(jìn)的操作系統(tǒng),開(kāi)發(fā)工具等在帶來(lái)效益的同時(shí), 也使得開(kāi)發(fā)環(huán)境日益復(fù)雜化而難以管理。無(wú)組織的開(kāi)發(fā)環(huán)境會(huì)導(dǎo)致潛在問(wèn)題的產(chǎn)生,甚至影響整個(gè)系統(tǒng)。比如,團(tuán)隊(duì)溝通困難,軟件重用率低下,開(kāi)發(fā)人員各自為政,代碼冗余度高,文檔不健全等;結(jié)果造成研發(fā)過(guò)程中數(shù)據(jù)丟失,開(kāi)發(fā)周期漫長(zhǎng),產(chǎn)品可靠性差,質(zhì)量低劣導(dǎo)致用戶體驗(yàn)差, 且軟件維護(hù)困難,以及項(xiàng)目開(kāi)發(fā)風(fēng)險(xiǎn)增加等。
事實(shí)表明,隨著整個(gè)軟件業(yè)的迅速發(fā)展,在沒(méi)有得到有效管理的軟件開(kāi)發(fā)過(guò)程中所出現(xiàn)的風(fēng)險(xiǎn)和挑戰(zhàn)將越來(lái)越突出。加強(qiáng)軟件開(kāi)發(fā)管理,通過(guò)管理和追蹤軟件開(kāi)發(fā)環(huán)境中產(chǎn)生的變更,建立規(guī)范化的軟件開(kāi)發(fā)環(huán)境,早已為西方發(fā)達(dá)國(guó)家軟件產(chǎn)業(yè)的發(fā)展實(shí)踐所證明,是解決上述問(wèn)題的唯一有效途徑,并已在軟件業(yè)發(fā)展領(lǐng)先的國(guó)家和地區(qū)得到普及。
以往,對(duì)研發(fā)應(yīng)用代碼的管理上存在諸多問(wèn)題。其一,是在研發(fā)應(yīng)用代碼管理過(guò)程中整體規(guī)劃不清晰,會(huì)使得多人修改同一文件夾下的文件內(nèi)容而造成代碼混亂,由此大大延長(zhǎng)研發(fā)時(shí)間,使得研發(fā)效率低下。其二,研發(fā)應(yīng)用代碼管理過(guò)程中每個(gè)研發(fā)人員的讀寫(xiě)權(quán)限不清晰而造成自己設(shè)計(jì)的代碼常有被人誤操作的可能性,從而無(wú)法保障代碼的安全性。其三,無(wú)法確保研發(fā)代碼版本的有序性和穩(wěn)定性。
因此,需要提供一種實(shí)現(xiàn)對(duì)研發(fā)應(yīng)用程序代碼有序管理的方法,能夠?qū)ρ邪l(fā)應(yīng)用代碼管理過(guò)程清晰地進(jìn)行整體規(guī)劃,提高研發(fā)效率,并保證每個(gè)研發(fā)人員的讀寫(xiě)權(quán)限設(shè)置清晰,以及確保研發(fā)代碼版本的有序性和穩(wěn)定性。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提出一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理框架及方法。
一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理框架,其包括如下組件:
權(quán)限配置單元,用于配置不同項(xiàng)目中不同開(kāi)發(fā)者的代碼提交權(quán)限;
代碼庫(kù),用于存儲(chǔ)開(kāi)發(fā)者提交的軟件代碼、開(kāi)發(fā)者信息、代碼提交時(shí)間信息、代碼功能信息、代碼bug信息;
代碼模型生成單元,用于根據(jù)歷次開(kāi)發(fā)者提交的軟件代碼、開(kāi)發(fā)者信息、代碼提交時(shí)間信息、代碼功能信息、代碼bug信息生成不同項(xiàng)目的不同代碼模型,并根據(jù)復(fù)用事件數(shù)據(jù)庫(kù)發(fā)送的上下文代碼復(fù)用事件對(duì)代碼模型進(jìn)行修正;
代碼上下文分析單元,用于從上下文信息庫(kù)中動(dòng)態(tài)采集讀取上下文信息,從代碼復(fù)用探測(cè)單元中獲取代碼復(fù)用相關(guān)的事件并獲取外部靜止的開(kāi)發(fā)者信息,并根據(jù)代碼復(fù)用相關(guān)的事件、上下文信息生成上下文復(fù)用事件,并將上下文代碼復(fù)用事件發(fā)送給復(fù)用事件數(shù)據(jù)庫(kù);
代碼庫(kù)事件監(jiān)控單元,用于監(jiān)控代碼庫(kù)發(fā)生的提交事件,并將提交事件信息發(fā)送到代碼復(fù)用探測(cè)單元;
代碼復(fù)用探測(cè)單元,用于在監(jiān)控到代碼庫(kù)發(fā)生提交事件時(shí)候啟動(dòng)代碼復(fù)用的檢測(cè)并觸發(fā)與代碼復(fù)用相關(guān)的事件;
復(fù)用事件數(shù)據(jù)庫(kù),用于存儲(chǔ)未經(jīng)代碼復(fù)用監(jiān)控規(guī)則過(guò)濾的上下文代碼復(fù)用事件;
上下文信息庫(kù),用于存儲(chǔ)上下文信息;
復(fù)用監(jiān)控策略單元,用于接收管理涉眾制定的監(jiān)控策略,并根據(jù)監(jiān)控策略生成代碼復(fù)用監(jiān)控規(guī)則;基于代碼復(fù)用監(jiān)控描述語(yǔ)言完成代碼復(fù)用事件監(jiān)控的配置;
事件通知器,用于根據(jù)復(fù)用監(jiān)控策略單元發(fā)送的代碼復(fù)用監(jiān)控規(guī)則對(duì)復(fù)用事件數(shù)據(jù)庫(kù)中的代碼復(fù)用事件進(jìn)行監(jiān)控;并將經(jīng)過(guò)代碼復(fù)用監(jiān)控規(guī)則過(guò)濾的上下文代碼復(fù)用事件推送給管理涉眾。
在本發(fā)明所述的一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理框架中,所述復(fù)用監(jiān)控策略單元中信息管理模型如下:
復(fù)用實(shí)體,用于表示與其相關(guān)聯(lián)的代碼復(fù)用事件,包括復(fù)用類以及復(fù)用實(shí)例;
代碼實(shí)體,用于體現(xiàn)復(fù)用實(shí)體所駐留的空間屬性;
時(shí)間粒度元素,用于表示代碼在時(shí)間維度上的演化;
結(jié)果元素,用于表示代碼復(fù)用的業(yè)務(wù)價(jià)值權(quán)值。
在本發(fā)明所述的一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理框架中,
復(fù)用類與復(fù)用實(shí)例之間具有關(guān)聯(lián)關(guān)系;每個(gè)復(fù)用類包括兩個(gè)或兩個(gè)以上復(fù)用實(shí)例;在前后兩個(gè)版本的復(fù)用實(shí)例的變化沒(méi)有超過(guò)預(yù)設(shè)設(shè)置的門(mén)限值時(shí),認(rèn)為該復(fù)用實(shí)例發(fā)生了修改,但是仍然屬于同一復(fù)用類;在前后兩個(gè)版本的復(fù)用實(shí)例的變化超過(guò)預(yù)設(shè)設(shè)置的門(mén)限值時(shí),則判定原有復(fù)用實(shí)例消失,并同時(shí)創(chuàng)建了一個(gè)新的復(fù)用實(shí)例。
在本發(fā)明所述的一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理框架中,
所述復(fù)用類包括創(chuàng)建復(fù)用類、更新復(fù)用類、刪除復(fù)用類;所述創(chuàng)建復(fù)用類用于表示在代碼中發(fā)現(xiàn)新的復(fù)用類;所述更新復(fù)用類用于表示一個(gè)存在的復(fù)用類的復(fù)用實(shí)例增加、刪除或改變;刪除復(fù)用類用于表示一個(gè)存在的復(fù)用類在新的版本中被刪除;
所述復(fù)用實(shí)例包括新增復(fù)用實(shí)例、更新復(fù)用實(shí)例、刪除復(fù)用實(shí)例;所述新增復(fù)用實(shí)例用于表示在代碼中新增了復(fù)用實(shí)例;所述更新復(fù)用實(shí)例用于表示在代碼中更新了復(fù)用實(shí)例;所述刪除復(fù)用實(shí)例用于表示在代碼中刪除了復(fù)用實(shí)例。
本發(fā)明還提供一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理方法,其通過(guò)上述的改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理框架實(shí)現(xiàn),包括如下步驟:
S1、預(yù)先在權(quán)限配置單元中配置不同項(xiàng)目中不同開(kāi)發(fā)者的代碼提交權(quán)限;
S2、權(quán)限配置單元判斷該項(xiàng)目中的開(kāi)發(fā)者的是否具有提交權(quán)限以及在具有提交權(quán)限時(shí)的權(quán)限等級(jí);在判斷通過(guò)時(shí);代碼庫(kù)接收開(kāi)發(fā)者提交的提交事件,所述提交事件包括開(kāi)發(fā)者提交的軟件代碼、開(kāi)發(fā)者信息、代碼提交時(shí)間信息、代碼功能信息、代碼bug信息;
S3、代碼庫(kù)事件監(jiān)控單元,用于監(jiān)控代碼庫(kù)發(fā)生的提交事件,并將提交事件信息發(fā)送到代碼復(fù)用探測(cè)單元;
S4、代碼復(fù)用探測(cè)單元在監(jiān)控到代碼庫(kù)發(fā)生提交事件時(shí)候啟動(dòng)代碼復(fù)用的檢測(cè)并觸發(fā)與代碼復(fù)用相關(guān)的事件;
S5、代碼上下文分析單元從上下文信息庫(kù)中動(dòng)態(tài)采集讀取上下文信息,從代碼復(fù)用探測(cè)單元中獲取代碼復(fù)用相關(guān)的事件并獲取外部靜止的開(kāi)發(fā)者信息,并根據(jù)代碼復(fù)用相關(guān)的事件、上下文信息生成上下文復(fù)用事件,并將上下文代碼復(fù)用事件發(fā)送給復(fù)用事件數(shù)據(jù)庫(kù);
S6、復(fù)用監(jiān)控策略單元接收管理涉眾制定的監(jiān)控策略,并根據(jù)監(jiān)控策略生成代碼復(fù)用監(jiān)控規(guī)則;基于代碼復(fù)用監(jiān)控描述語(yǔ)言完成代碼復(fù)用事件監(jiān)控的配置;
S7、事件通知器根據(jù)復(fù)用監(jiān)控策略單元發(fā)送的代碼復(fù)用監(jiān)控規(guī)則對(duì)復(fù)用事件數(shù)據(jù)庫(kù)中的代碼復(fù)用事件進(jìn)行監(jiān)控;并將經(jīng)過(guò)代碼復(fù)用監(jiān)控規(guī)則過(guò)濾的上下文代碼復(fù)用事件推送給管理涉眾;
S8、代碼模型生成單元根據(jù)歷次開(kāi)發(fā)者提交的軟件代碼、開(kāi)發(fā)者信息、代碼提交時(shí)間信息、代碼功能信息、代碼bug信息生成不同項(xiàng)目的不同代碼模型,并根據(jù)復(fù)用事件數(shù)據(jù)庫(kù)發(fā)送的上下文代碼復(fù)用事件對(duì)代碼模型進(jìn)行修正。
在本發(fā)明所述的一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理方法中,所述復(fù)用監(jiān)控策略單元中信息管理模型如下:
復(fù)用實(shí)體,用于表示與其相關(guān)聯(lián)的代碼復(fù)用事件,包括復(fù)用類以及復(fù)用實(shí)例;
代碼實(shí)體,用于體現(xiàn)復(fù)用實(shí)體所駐留的空間屬性;
時(shí)間粒度元素,用于表示代碼在時(shí)間維度上的演化;
結(jié)果元素,用于表示代碼復(fù)用的業(yè)務(wù)價(jià)值權(quán)值。
在本發(fā)明所述的一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理方法中,
復(fù)用類與復(fù)用實(shí)例之間具有關(guān)聯(lián)關(guān)系;每個(gè)復(fù)用類包括兩個(gè)或兩個(gè)以上復(fù)用實(shí)例;在前后兩個(gè)版本的復(fù)用實(shí)例的變化沒(méi)有超過(guò)預(yù)設(shè)設(shè)置的門(mén)限值時(shí),認(rèn)為該復(fù)用實(shí)例發(fā)生了修改,但是仍然屬于同一復(fù)用類;在前后兩個(gè)版本的復(fù)用實(shí)例的變化超過(guò)預(yù)設(shè)設(shè)置的門(mén)限值時(shí),則判定原有復(fù)用實(shí)例消失,并同時(shí)創(chuàng)建了一個(gè)新的復(fù)用實(shí)例。
在本發(fā)明所述的一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理方法中,
所述復(fù)用類包括創(chuàng)建復(fù)用類、更新復(fù)用類、刪除復(fù)用類;所述創(chuàng)建復(fù)用類用于表示在代碼中發(fā)現(xiàn)新的復(fù)用類;所述更新復(fù)用類用于表示一個(gè)存在的復(fù)用類的復(fù)用實(shí)例增加、刪除或改變;刪除復(fù)用類用于表示一個(gè)存在的復(fù)用類在新的版本中被刪除;
所述復(fù)用實(shí)例包括新增復(fù)用實(shí)例、更新復(fù)用實(shí)例、刪除復(fù)用實(shí)例;所述新增復(fù)用實(shí)例用于表示在代碼中新增了復(fù)用實(shí)例;所述更新復(fù)用實(shí)例用于表示在代碼中更新了復(fù)用實(shí)例;所述刪除復(fù)用實(shí)例用于表示在代碼中刪除了復(fù)用實(shí)例。
實(shí)施本發(fā)明提供的改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理框架及方法與現(xiàn)有技術(shù)相比具有以下有益效果:通過(guò)構(gòu)建權(quán)限配置單元、代碼庫(kù)、代碼模型生成單元、代碼上下文分析單元、代碼庫(kù)事件監(jiān)控單元、代碼復(fù)用探測(cè)單元、復(fù)用事件數(shù)據(jù)庫(kù)、上下文信息庫(kù)、復(fù)用監(jiān)控策略單元、事件通知器,能夠在監(jiān)控到代碼庫(kù)發(fā)生提交事件時(shí)候啟動(dòng)代碼復(fù)用的檢測(cè)并觸發(fā)與代碼復(fù)用相關(guān)的事件,并根據(jù)復(fù)用監(jiān)控策略單元發(fā)送的代碼復(fù)用監(jiān)控規(guī)則對(duì)復(fù)用事件數(shù)據(jù)庫(kù)中的代碼復(fù)用事件進(jìn)行監(jiān)控;并將經(jīng)過(guò)代碼復(fù)用監(jiān)控規(guī)則過(guò)濾的上下文代碼復(fù)用事件推送給管理涉眾;使得在進(jìn)行代碼復(fù)用提高效率的同時(shí),能夠監(jiān)控、管理代碼復(fù)用過(guò)程,使得代碼的健壯性、安全性大大提高。此外,通過(guò)代碼模型生成單元根據(jù)歷次開(kāi)發(fā)者提交的軟件代碼、開(kāi)發(fā)者信息、代碼提交時(shí)間信息、代碼功能信息、代碼bug信息生成不同項(xiàng)目的不同代碼模型,并根據(jù)復(fù)用事件數(shù)據(jù)庫(kù)發(fā)送的上下文代碼復(fù)用事件對(duì)代碼模型進(jìn)行修正,能夠在歷次開(kāi)發(fā)中總結(jié)和歸納代碼模型,并能夠通過(guò)復(fù)用事件數(shù)據(jù)庫(kù)發(fā)送的上下文代碼復(fù)用事件對(duì)代碼模型進(jìn)行修正,是的代碼模型的復(fù)用性大大提高。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例的改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理框架的結(jié)構(gòu)框圖。
具體實(shí)施方式
如圖1所示,一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理框架,其包括如下組件:
權(quán)限配置單元,用于配置不同項(xiàng)目中不同開(kāi)發(fā)者的代碼提交權(quán)限。通過(guò)設(shè)置權(quán)限配置單元,大大提高了項(xiàng)目開(kāi)發(fā)的安全性。
代碼庫(kù),用于存儲(chǔ)開(kāi)發(fā)者提交的軟件代碼、開(kāi)發(fā)者信息、代碼提交時(shí)間信息、代碼功能信息、代碼bug信息。
代碼模型生成單元,用于根據(jù)歷次開(kāi)發(fā)者提交的軟件代碼、開(kāi)發(fā)者信息、代碼提交時(shí)間信息、代碼功能信息、代碼bug信息生成不同項(xiàng)目的不同代碼模型,并根據(jù)復(fù)用事件數(shù)據(jù)庫(kù)發(fā)送的上下文代碼復(fù)用事件對(duì)代碼模型進(jìn)行修正。
代碼上下文分析單元,用于從上下文信息庫(kù)中動(dòng)態(tài)采集讀取上下文信息,從代碼復(fù)用探測(cè)單元中獲取代碼復(fù)用相關(guān)的事件并獲取外部靜止的開(kāi)發(fā)者信息,并根據(jù)代碼復(fù)用相關(guān)的事件、上下文信息生成上下文復(fù)用事件,并將上下文代碼復(fù)用事件發(fā)送給復(fù)用事件數(shù)據(jù)庫(kù)。外部靜止的開(kāi)發(fā)者信息包括但不限于組織結(jié)構(gòu)、團(tuán)隊(duì)成員角色。
代碼庫(kù)事件監(jiān)控單元,用于監(jiān)控代碼庫(kù)發(fā)生的提交事件,并將提交事件信息發(fā)送到代碼復(fù)用探測(cè)單元。
代碼復(fù)用探測(cè)單元,用于在監(jiān)控到代碼庫(kù)發(fā)生提交事件時(shí)候啟動(dòng)代碼復(fù)用的檢測(cè)并觸發(fā)與代碼復(fù)用相關(guān)的事件。
復(fù)用事件數(shù)據(jù)庫(kù),用于存儲(chǔ)未經(jīng)代碼復(fù)用監(jiān)控規(guī)則過(guò)濾的上下文代碼復(fù)用事件;
上下文信息庫(kù),用于存儲(chǔ)上下文信息。
復(fù)用監(jiān)控策略單元,用于接收管理涉眾制定的監(jiān)控策略,并根據(jù)監(jiān)控策略生成代碼復(fù)用監(jiān)控規(guī)則;基于代碼復(fù)用監(jiān)控描述語(yǔ)言完成代碼復(fù)用事件監(jiān)控的配置。
事件通知器,用于根據(jù)復(fù)用監(jiān)控策略單元發(fā)送的代碼復(fù)用監(jiān)控規(guī)則對(duì)復(fù)用事件數(shù)據(jù)庫(kù)中的代碼復(fù)用事件進(jìn)行監(jiān)控;并將經(jīng)過(guò)代碼復(fù)用監(jiān)控規(guī)則過(guò)濾的上下文代碼復(fù)用事件推送給管理涉眾。
管理涉眾包括大,不限于開(kāi)發(fā)者、項(xiàng)目經(jīng)理、架構(gòu)師等的關(guān)注點(diǎn)和工作策略都和代碼克隆緊密相關(guān)??蛇x地,可以配置各個(gè)管理涉眾的關(guān)注點(diǎn)信息,并以此為依據(jù)對(duì)代碼復(fù)用事件進(jìn)行監(jiān)控。當(dāng)特定事件發(fā)生時(shí),將該涉眾的關(guān)注點(diǎn)信息推送給該涉眾。可選地,可以通過(guò)綁定特定涉眾的郵件地址,將該涉眾的關(guān)注點(diǎn)信息推送給該涉眾。
在本發(fā)明所述的一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理框架中,所述復(fù)用監(jiān)控策略單元中信息管理模型如下:
復(fù)用實(shí)體,用于表示與其相關(guān)聯(lián)的代碼復(fù)用事件,包括復(fù)用類以及復(fù)用實(shí)例。
代碼實(shí)體,用于體現(xiàn)復(fù)用實(shí)體所駐留的空間屬性。
時(shí)間粒度元素,用于表示代碼在時(shí)間維度上的演化。
結(jié)果元素,用于表示代碼復(fù)用的業(yè)務(wù)價(jià)值權(quán)值。
在本發(fā)明所述的一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理框架中,
復(fù)用類與復(fù)用實(shí)例之間具有關(guān)聯(lián)關(guān)系;每個(gè)復(fù)用類包括兩個(gè)或兩個(gè)以上復(fù)用實(shí)例;在前后兩個(gè)版本的復(fù)用實(shí)例的變化沒(méi)有超過(guò)預(yù)設(shè)設(shè)置的門(mén)限值時(shí),認(rèn)為該復(fù)用實(shí)例發(fā)生了修改,但是仍然屬于同一復(fù)用類;在前后兩個(gè)版本的復(fù)用實(shí)例的變化超過(guò)預(yù)設(shè)設(shè)置的門(mén)限值時(shí),則判定原有復(fù)用實(shí)例消失,并同時(shí)創(chuàng)建了一個(gè)新的復(fù)用實(shí)例。
在本發(fā)明所述的一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理框架中,
所述復(fù)用類包括創(chuàng)建復(fù)用類、更新復(fù)用類、刪除復(fù)用類;所述創(chuàng)建復(fù)用類用于表示在代碼中發(fā)現(xiàn)新的復(fù)用類;所述更新復(fù)用類用于表示一個(gè)存在的復(fù)用類的復(fù)用實(shí)例增加、刪除或改變;刪除復(fù)用類用于表示一個(gè)存在的復(fù)用類在新的版本中被刪除。
所述復(fù)用實(shí)例包括新增復(fù)用實(shí)例、更新復(fù)用實(shí)例、刪除復(fù)用實(shí)例;所述新增復(fù)用實(shí)例用于表示在代碼中新增了復(fù)用實(shí)例;所述更新復(fù)用實(shí)例用于表示在代碼中更新了復(fù)用實(shí)例;所述刪除復(fù)用實(shí)例用于表示在代碼中刪除了復(fù)用實(shí)例。
本發(fā)明還提供一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理方法,其通過(guò)上述的改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理框架實(shí)現(xiàn),包括如下步驟:
S1、預(yù)先在權(quán)限配置單元中配置不同項(xiàng)目中不同開(kāi)發(fā)者的代碼提交權(quán)限;
S2、權(quán)限配置單元判斷該項(xiàng)目中的開(kāi)發(fā)者的是否具有提交權(quán)限以及在具有提交權(quán)限時(shí)的權(quán)限等級(jí);在判斷通過(guò)時(shí);代碼庫(kù)接收開(kāi)發(fā)者提交的提交事件,所述提交事件包括開(kāi)發(fā)者提交的軟件代碼、開(kāi)發(fā)者信息、代碼提交時(shí)間信息、代碼功能信息、代碼bug信息;
S3、代碼庫(kù)事件監(jiān)控單元,用于監(jiān)控代碼庫(kù)發(fā)生的提交事件,并將提交事件信息發(fā)送到代碼復(fù)用探測(cè)單元;
S4、代碼復(fù)用探測(cè)單元在監(jiān)控到代碼庫(kù)發(fā)生提交事件時(shí)候啟動(dòng)代碼復(fù)用的檢測(cè)并觸發(fā)與代碼復(fù)用相關(guān)的事件;
S5、代碼上下文分析單元從上下文信息庫(kù)中動(dòng)態(tài)采集讀取上下文信息,從代碼復(fù)用探測(cè)單元中獲取代碼復(fù)用相關(guān)的事件并獲取外部靜止的開(kāi)發(fā)者信息,并根據(jù)代碼復(fù)用相關(guān)的事件、上下文信息生成上下文復(fù)用事件,并將上下文代碼復(fù)用事件發(fā)送給復(fù)用事件數(shù)據(jù)庫(kù);
S6、復(fù)用監(jiān)控策略單元接收管理涉眾制定的監(jiān)控策略,并根據(jù)監(jiān)控策略生成代碼復(fù)用監(jiān)控規(guī)則;基于代碼復(fù)用監(jiān)控描述語(yǔ)言完成代碼復(fù)用事件監(jiān)控的配置;
S7、事件通知器根據(jù)復(fù)用監(jiān)控策略單元發(fā)送的代碼復(fù)用監(jiān)控規(guī)則對(duì)復(fù)用事件數(shù)據(jù)庫(kù)中的代碼復(fù)用事件進(jìn)行監(jiān)控;并將經(jīng)過(guò)代碼復(fù)用監(jiān)控規(guī)則過(guò)濾的上下文代碼復(fù)用事件推送給管理涉眾;
S8、代碼模型生成單元根據(jù)歷次開(kāi)發(fā)者提交的軟件代碼、開(kāi)發(fā)者信息、代碼提交時(shí)間信息、代碼功能信息、代碼bug信息生成不同項(xiàng)目的不同代碼模型,并根據(jù)復(fù)用事件數(shù)據(jù)庫(kù)發(fā)送的上下文代碼復(fù)用事件對(duì)代碼模型進(jìn)行修正。
在本發(fā)明所述的一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理方法中,所述復(fù)用監(jiān)控策略單元中信息管理模型如下:
復(fù)用實(shí)體,用于表示與其相關(guān)聯(lián)的代碼復(fù)用事件,包括復(fù)用類以及復(fù)用實(shí)例;
代碼實(shí)體,用于體現(xiàn)復(fù)用實(shí)體所駐留的空間屬性;
時(shí)間粒度元素,用于表示代碼在時(shí)間維度上的演化;
結(jié)果元素,用于表示代碼復(fù)用的業(yè)務(wù)價(jià)值權(quán)值。
在本發(fā)明所述的一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理方法中,
復(fù)用類與復(fù)用實(shí)例之間具有關(guān)聯(lián)關(guān)系;每個(gè)復(fù)用類包括兩個(gè)或兩個(gè)以上復(fù)用實(shí)例;在前后兩個(gè)版本的復(fù)用實(shí)例的變化沒(méi)有超過(guò)預(yù)設(shè)設(shè)置的門(mén)限值時(shí),認(rèn)為該復(fù)用實(shí)例發(fā)生了修改,但是仍然屬于同一復(fù)用類;在前后兩個(gè)版本的復(fù)用實(shí)例的變化超過(guò)預(yù)設(shè)設(shè)置的門(mén)限值時(shí),則判定原有復(fù)用實(shí)例消失,并同時(shí)創(chuàng)建了一個(gè)新的復(fù)用實(shí)例。
在本發(fā)明所述的一種改進(jìn)型計(jì)算機(jī)軟件系統(tǒng)中代碼編程管理方法中,
所述復(fù)用類包括創(chuàng)建復(fù)用類、更新復(fù)用類、刪除復(fù)用類;所述創(chuàng)建復(fù)用類用于表示在代碼中發(fā)現(xiàn)新的復(fù)用類;所述更新復(fù)用類用于表示一個(gè)存在的復(fù)用類的復(fù)用實(shí)例增加、刪除或改變;刪除復(fù)用類用于表示一個(gè)存在的復(fù)用類在新的版本中被刪除。
所述復(fù)用實(shí)例包括新增復(fù)用實(shí)例、更新復(fù)用實(shí)例、刪除復(fù)用實(shí)例;所述新增復(fù)用實(shí)例用于表示在代碼中新增了復(fù)用實(shí)例;所述更新復(fù)用實(shí)例用于表示在代碼中更新了復(fù)用實(shí)例;所述刪除復(fù)用實(shí)例用于表示在代碼中刪除了復(fù)用實(shí)例。
可以理解的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),可以根據(jù)本發(fā)明的技術(shù)構(gòu)思做出其它各種相應(yīng)的改變與變形,而所有這些改變與變形都應(yīng)屬于本發(fā)明權(quán)利要求的保護(hù)范圍。