两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種開源軟件開發(fā)過程中開發(fā)者貢獻(xiàn)度的度量方法

文檔序號(hào):6428476閱讀:993來源:國(guó)知局
專利名稱:一種開源軟件開發(fā)過程中開發(fā)者貢獻(xiàn)度的度量方法
技術(shù)領(lǐng)域
本發(fā)明涉及互聯(lián)網(wǎng)信息處理領(lǐng)域,特別是涉及一種利用網(wǎng)絡(luò)信息綜合評(píng)的方法。
背景技術(shù)
在開源環(huán)境下,開發(fā)者可能來自不同國(guó)家的不同組織,他們以各種方式參與到項(xiàng)目開發(fā)當(dāng)中,其中既包括源代碼的編寫、變更與調(diào)試,也包括缺陷的報(bào)告和修訂,項(xiàng)目管理者一般是通過項(xiàng)目管理工具(如SVN)來了解項(xiàng)目進(jìn)度和開發(fā)者的開發(fā)狀況,在軟件項(xiàng)目開發(fā)過程中,如何對(duì)開發(fā)人員的貢獻(xiàn)度進(jìn)行度量一直是項(xiàng)目管理者所關(guān)注的問題。社會(huì)網(wǎng)絡(luò)是指社會(huì)個(gè)體成員之間因?yàn)榛?dòng)而形成的相對(duì)穩(wěn)定的關(guān)系體系,社會(huì)網(wǎng)絡(luò)關(guān)注的是人們之間的互動(dòng)和聯(lián)系,社會(huì)互動(dòng)會(huì)影響人們的社會(huì)行為。社會(huì)網(wǎng)絡(luò)的直觀形式是一組點(diǎn)、點(diǎn)與點(diǎn)之間的連線所構(gòu)成的圖形。社會(huì)網(wǎng)絡(luò)分析方法是由社會(huì)學(xué)家根據(jù)數(shù)學(xué)方法、圖論等發(fā)展起來的定量分析方法,近年來,該方法在互聯(lián)網(wǎng)、軟件開發(fā)等領(lǐng)域廣泛應(yīng)用,社會(huì)網(wǎng)絡(luò)分析有度分析、聚集系數(shù)分析等常用方法。開發(fā)者網(wǎng)絡(luò)是從軟件開發(fā)過程管理工具中所提取出來的能反映開發(fā)者之間關(guān)系的社會(huì)網(wǎng)絡(luò),它是通過將開發(fā)過程信息整理后,以統(tǒng)一格式存入數(shù)據(jù)庫(kù)中,通過一定方式處理后,形成的以開發(fā)者為結(jié)點(diǎn),若開發(fā)者共同提交過文件,則兩個(gè)開發(fā)者之間存在邊的一種社會(huì)網(wǎng)絡(luò)圖。按照?qǐng)D形理論,聚集系數(shù)是表示一個(gè)圖形中節(jié)點(diǎn)聚集程度的系數(shù),證據(jù)顯示, 在現(xiàn)實(shí)中的網(wǎng)絡(luò)中,尤其是在特定的網(wǎng)絡(luò)中,由于相對(duì)高密度連接點(diǎn)的關(guān)系,節(jié)點(diǎn)總是趨向于建立一組嚴(yán)密的組織關(guān)系。最初的開發(fā)人員對(duì)項(xiàng)目貢獻(xiàn)的度量方法是通過工作單元中的單詞量來評(píng)價(jià),在面向?qū)ο箝_發(fā)中,又以開發(fā)的類、函數(shù)以及構(gòu)件等來度量開發(fā)者的貢獻(xiàn)程度,這些度量方法主要是針對(duì)最終產(chǎn)品的度量,在項(xiàng)目未結(jié)束之前無法準(zhǔn)確得到度量結(jié)果。最初的開發(fā)人員對(duì)項(xiàng)目貢獻(xiàn)的度量方法是通過工作單元中的單詞量來評(píng)價(jià),在面向?qū)ο箝_發(fā)中,又以開發(fā)的類、函數(shù)以及構(gòu)件等來度量開發(fā)者的貢獻(xiàn)程度,這些度量方法主要是針對(duì)最終產(chǎn)品的度量,在項(xiàng)目未結(jié)束之前無法準(zhǔn)確得到度量結(jié)果。針對(duì)以上問題,Gousiosj G.等人在 measuring developer contribution from software repository data中提出了一種度量幵發(fā)者的方法,該方法基于軟件過程信息進(jìn)行度量,但該方法不僅與項(xiàng)目進(jìn)展的具體階段有關(guān),且與評(píng)價(jià)者的主觀感受有關(guān),基于該模型提出的評(píng)價(jià)方法極易造成評(píng)價(jià)的不準(zhǔn)確。參考文獻(xiàn)
Measuring developer contribution from software repository data Gousiosj G.,Ε. Kalliamvakouj and D. Spinellis
MSR ' 08: Proceedings of the 2008 international working conference on Mining software repositories
發(fā)明內(nèi)容
本發(fā)明要解決的問題是提供一種能有效評(píng)估開源軟件中開發(fā)者貢獻(xiàn)程度大小的方法,以克服現(xiàn)有方法中開發(fā)者的度量與開發(fā)進(jìn)度和評(píng)價(jià)者主觀印象相關(guān)而導(dǎo)致的度量不夠準(zhǔn)確的問題。為達(dá)到上述目的,本發(fā)明提供一種基于開發(fā)過程信息,構(gòu)建了軟件開發(fā)者網(wǎng)絡(luò),并提出了開發(fā)者貢獻(xiàn)度的綜合評(píng)價(jià)方法,包括以下步驟
1、從開源軟件項(xiàng)目網(wǎng)站中下載該項(xiàng)目的全部開發(fā)過程信息,具體包括開發(fā)者姓名、開發(fā)者提交的文件名、提交文件的時(shí)間、提交文件時(shí)該項(xiàng)目的版本號(hào);
2、將上述開發(fā)過程信息整理后存入數(shù)據(jù)庫(kù);
3、在數(shù)據(jù)庫(kù)中,通過如下步驟建立開發(fā)者網(wǎng)絡(luò)3. 1、每個(gè)開發(fā)者是一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)名稱為開發(fā)者姓名;
3. 2、逐條檢索數(shù)據(jù)庫(kù)內(nèi)容,如果發(fā)現(xiàn)某個(gè)開發(fā)者提交的文件另一個(gè)開發(fā)者也提交過, 則這2個(gè)開發(fā)者之間畫一條邊,邊的權(quán)值為1,如果這2個(gè)開發(fā)者同時(shí)修改了多個(gè)文件,則這 2個(gè)開發(fā)者之間的邊得權(quán)值為總共合作過的文件的個(gè)數(shù); 3. 3、重復(fù)上條,直至檢索到數(shù)據(jù)庫(kù)最后一條數(shù)據(jù);
3、4、至此,開發(fā)者網(wǎng)絡(luò)圖形成;
4、通過數(shù)代表開發(fā)者的節(jié)點(diǎn)的鄰邊數(shù)計(jì)算開發(fā)者網(wǎng)絡(luò)中各個(gè)開發(fā)者的度;
5、計(jì)算各個(gè)開發(fā)者在整個(gè)開發(fā)過程中提交的文件總數(shù);
6、通過以下步驟計(jì)算開發(fā)者的聚集系數(shù); 6.1、計(jì)算結(jié)點(diǎn)i的鄰居結(jié)點(diǎn)數(shù)ki;
6. 2、計(jì)算結(jié)點(diǎn)i的邊數(shù)Ei;
6.3、根據(jù)公式2 Ei / ( Iii ( Iii - 1))計(jì)算結(jié)點(diǎn)i的聚類系數(shù);
7、通過以下方法計(jì)算開發(fā)者的貢獻(xiàn)度
Contri = a氺 Ciegreei + B^clusteri +C^Commiti
其中Contri代表的是開發(fā)者i在項(xiàng)目中的貢獻(xiàn)程度, degree,代表的是開發(fā)者的度標(biāo)準(zhǔn)化處理后的值, ClusteriR表的是在開發(fā)者網(wǎng)絡(luò)中的聚類系數(shù)標(biāo)準(zhǔn)化處理后的值, commit,在整個(gè)開發(fā)過程之中的文件提交次數(shù)標(biāo)準(zhǔn)化處理后的值, a、b、c代表的是用來平衡各影響因素間的系數(shù),本發(fā)明中認(rèn)為三個(gè)參數(shù)對(duì)開發(fā)者的貢獻(xiàn)度的計(jì)算同等重要,均取1/3。根據(jù)計(jì)算出的各個(gè)開發(fā)者的貢獻(xiàn)度,按從大到小進(jìn)行排序,排序靠前的可以認(rèn)定其在整個(gè)項(xiàng)目開發(fā)過程中貢獻(xiàn)程度大。本發(fā)明為項(xiàng)目管理者提供了一個(gè)實(shí)用的管理方法,以網(wǎng)絡(luò)為基礎(chǔ),能夠?qū)﹂_發(fā)項(xiàng)目的狀況,開發(fā)者的貢獻(xiàn)程度進(jìn)行積極有效的數(shù)字化管理。


圖1是開源軟件開發(fā)過程中開發(fā)者貢獻(xiàn)度的度量方法的流程圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式
做進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。下面結(jié)合sourceforge. net上的一個(gè)開源軟件Spring Framework給出詳細(xì)的實(shí)現(xiàn)方法。1、選擇一個(gè)開源軟件,并找到其項(xiàng)目所在網(wǎng)站,本實(shí)施例所在網(wǎng)站地址為 http//sourceforge. net/projects/springframework/ ;
2、獲取幵發(fā)過程全部信息,springframework的SVN信息獲取地址為
svn co https://springframework· svn. sourceforge. net/svnroot/springframework springframework ;
3、數(shù)據(jù)整理
建立數(shù)據(jù)表Svnlnformation,各字段如下
Date 時(shí)間格式 YYYY-MM-DD HH:MM:SS,例如 2010-09-10 01:24:59 Author 開發(fā)者姓名,字符串格式,如dsyer
Message 開發(fā)者提交文件時(shí)的說明,字符串格式,如add fixes for Felix platform (change fragment exception to warning)
File :開發(fā)者提交文件的路徑,字符串格式,如/spring-osgi/trimk/ integration-tests/tests/src/test/java/org/springframework/osgi/iandt/ BaseIntegrationTest. java
Revision :提交文件時(shí)該項(xiàng)目的子版本號(hào),字符串格式,如14912 ;
4、每條數(shù)據(jù)按如上格式整理后存入數(shù)據(jù)表;
5、構(gòu)建開發(fā)者網(wǎng)絡(luò);
新建數(shù)據(jù)表DevNetwork,各字段如下 Authorl 字符串型,表示開發(fā)者名 Author2 字符串型,表示開發(fā)者名 Count Authorl 禾口 Author2 之間的邊權(quán)
每個(gè)開發(fā)者作為一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)名稱為開發(fā)者姓名,選擇第一條數(shù)據(jù),取出該條數(shù)據(jù)中的Author和File,分別定義為Authorl和FiIel,
依次檢索該條數(shù)據(jù)后面的其他數(shù)據(jù)項(xiàng),取出該條數(shù)據(jù)中的Author和File,分別定義為 Author2 和 File2,
如果File2與Filel相等,則在Author2和Authorl之間連一條邊,邊權(quán)增1 ; 選擇第二條數(shù)據(jù),重復(fù)上2步直到最后一條數(shù)據(jù),至此,開發(fā)者網(wǎng)絡(luò)圖形成;
6、計(jì)算結(jié)點(diǎn)的度
選擇該結(jié)點(diǎn),查看與其有邊權(quán)不為O的結(jié)點(diǎn)的數(shù)量,即為該結(jié)點(diǎn)的度;
7、計(jì)算開發(fā)者文件提交次數(shù)
在表Svnlnformation中,選擇Author,查看其記錄條數(shù),即為該開發(fā)者的文件提交次
數(shù);
8、計(jì)算結(jié)點(diǎn)聚類系數(shù)
計(jì)算結(jié)點(diǎn)i的鄰居結(jié)點(diǎn)數(shù)h,計(jì)算結(jié)點(diǎn)i的邊數(shù)Ei, 根據(jù)公式2 Ei / ( Iii ( Iii - 1))計(jì)算結(jié)點(diǎn)i的聚類系數(shù)
9、計(jì)算開發(fā)者貢獻(xiàn)度根據(jù)公式Contri= a* Clegreei + Mclusteri +(^commiti 計(jì)算每個(gè)結(jié)點(diǎn)的貢獻(xiàn)度,其

Contri代表的是開發(fā)者i在項(xiàng)目中的貢獻(xiàn)程度。degree,代表的是開發(fā)者的度標(biāo)準(zhǔn)化處理后的值。cluster,代表的是在開發(fā)者網(wǎng)絡(luò)中的聚類系數(shù)標(biāo)準(zhǔn)化處理后的值。commit,在整個(gè)開發(fā)過程之中的文件提交次數(shù)標(biāo)準(zhǔn)化處理后的值。a、b、c代表的是用來平衡各影響因素間的系數(shù),本發(fā)明中認(rèn)為三個(gè)參數(shù)對(duì)開發(fā)者的貢獻(xiàn)度的計(jì)算同等重要,均取1/3。
權(quán)利要求
1.一種開源軟件開發(fā)過程中開發(fā)者貢獻(xiàn)度的度量方法,其特征在于,包括以下步驟511選擇開源項(xiàng)目,下載開源項(xiàng)目中的全部版本控制信息,512整理數(shù)據(jù),建立數(shù)據(jù)表Svnlnformation,513構(gòu)建開發(fā)者網(wǎng)絡(luò),514計(jì)算開發(fā)者的度,515計(jì)算開發(fā)者的文件提交次數(shù),516計(jì)算開發(fā)者的聚類系數(shù),517計(jì)算開發(fā)者的貢獻(xiàn)度。
2.一種開源軟件開發(fā)過程中開發(fā)者貢獻(xiàn)度的度量方法,其特征在于,在步驟S13中開發(fā)者網(wǎng)絡(luò)的構(gòu)建包括如下步驟S131:每個(gè)開發(fā)者作為一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)名稱為開發(fā)者姓名,開發(fā)者之間無邊,邊權(quán)為0,S132:選擇數(shù)據(jù)表Svnlnformation第一條數(shù)據(jù),取出該條數(shù)據(jù)中的Author和File,分別定義為Authorl和Filel,S133:依次檢索該條數(shù)據(jù)之后的所有數(shù)據(jù)項(xiàng),取出每條數(shù)據(jù)中的Author和File,分別定義為 Author2 和 File2,S134:比較 File2 與 Filel,如果 File2 與 Filel 相等,則在 Author2 和 Authorl 之間連一條邊,且邊權(quán)增1,S135:選擇第二條數(shù)據(jù),重復(fù)步驟S133和S134, S136:依次處理第三至最后一條數(shù)據(jù), S137:至此,開發(fā)者網(wǎng)絡(luò)圖形成。
3.一種開源軟件開發(fā)過程中開發(fā)者貢獻(xiàn)度的度量方法,其特征在于,在步驟S17中開發(fā)者開發(fā)者的貢獻(xiàn)度的計(jì)算方法為Contri = a氺 Ciegreei + B^clusteri +C^Commiti其中Contri代表的是開發(fā)者i在項(xiàng)目中的貢獻(xiàn)程度, degree,代表的是開發(fā)者的度標(biāo)準(zhǔn)化處理后的值, ClusteriR表的是在開發(fā)者網(wǎng)絡(luò)中的聚類系數(shù)標(biāo)準(zhǔn)化處理后的值, commit,在整個(gè)開發(fā)過程之中的文件提交次數(shù)標(biāo)準(zhǔn)化處理后的值, a、b、c代表的是用來平衡各影響因素間的系數(shù),本發(fā)明中認(rèn)為三個(gè)參數(shù)對(duì)開發(fā)者的貢獻(xiàn)度的計(jì)算同等重要,均取1/3。
全文摘要
本發(fā)明提出了一種開源軟件開發(fā)過程中開發(fā)者貢獻(xiàn)度的度量方法,它包括以下步驟S11選擇開源項(xiàng)目,下載開源項(xiàng)目中的全部版本控制信息;S12整理數(shù)據(jù),建立數(shù)據(jù)表SvnInformation;S13構(gòu)建開發(fā)者網(wǎng)絡(luò);S14計(jì)算開發(fā)者的度;S15計(jì)算開發(fā)者的文件提交次數(shù);S16計(jì)算開發(fā)者的聚類系數(shù);S17計(jì)算開發(fā)者的貢獻(xiàn)度。本發(fā)明為項(xiàng)目管理者提供了一個(gè)實(shí)用的管理方法,以網(wǎng)絡(luò)為基礎(chǔ),能夠?qū)﹂_發(fā)項(xiàng)目的狀況,開發(fā)者的貢獻(xiàn)程度進(jìn)行積極有效的數(shù)字化管理。
文檔編號(hào)G06Q10/00GK102254250SQ20111019564
公開日2011年11月23日 申請(qǐng)日期2011年7月13日 優(yōu)先權(quán)日2011年7月13日
發(fā)明者劉婧, 李兵, 李其峰 申請(qǐng)人:武漢大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
社会| 天全县| 济宁市| 新野县| 友谊县| 乌海市| 正定县| 东丰县| 定西市| 正宁县| 上饶市| 阳西县| 巴彦县| 扎鲁特旗| 浦县| 武安市| 洪雅县| 汉中市| 丰原市| 兴安县| 津市市| 吉安县| 巩义市| 星座| 沙洋县| 龙海市| 兴安县| 项城市| 宁强县| 洪江市| 绥阳县| 铜川市| 兴海县| 称多县| 关岭| 荔波县| 汝南县| 沁阳市| 永安市| 辛集市| 茂名市|