999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于社會(huì)網(wǎng)絡(luò)的軟件缺陷預(yù)防的研究

2015-09-26 05:17:42侯中偉任洪敏上海海事大學(xué)信息工程學(xué)院上海201306
現(xiàn)代計(jì)算機(jī) 2015年21期
關(guān)鍵詞:數(shù)據(jù)庫

侯中偉,任洪敏(上海海事大學(xué)信息工程學(xué)院,上海 201306)

基于社會(huì)網(wǎng)絡(luò)的軟件缺陷預(yù)防的研究

侯中偉,任洪敏
(上海海事大學(xué)信息工程學(xué)院,上海201306)

0 引言

在軟件開發(fā)的過程中,難免會(huì)遇到各種各樣的缺陷問題,而這些缺陷的產(chǎn)生,在不同程度上給軟件企業(yè)帶來了極大的困擾。為了使軟件企業(yè)部門能夠生產(chǎn)出高質(zhì)量的產(chǎn)品,在缺陷方面,各領(lǐng)域也做了大量的研究,包括各種軟件缺陷管理工具的開發(fā)以及應(yīng)用,有效地管理缺陷,這在很大程度上幫助開發(fā)者或許測試者盡量避免缺陷問題的產(chǎn)生。然而,軟件缺陷很難一次性解決,更不可能全部解決,需要開發(fā)者或測試者從軟件開發(fā)的初始階段就要盡量預(yù)防,了解清楚缺陷問題的產(chǎn)生,包括缺陷產(chǎn)生的根本原因、分布密度,以及缺陷在整個(gè)軟件開發(fā)過程中的嚴(yán)重性等級(jí)、優(yōu)先級(jí)等。只有這樣,才能生產(chǎn)出更高效的產(chǎn)品,減少不必要的人力、財(cái)力的浪費(fèi)。

1 軟件缺陷數(shù)據(jù)的存儲(chǔ)

軟件缺陷數(shù)據(jù)的存儲(chǔ)可以說在整個(gè)軟件開發(fā)過程中起著關(guān)鍵作用,它不僅能夠有效地實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ),而且好的數(shù)據(jù)存儲(chǔ)方式有助于開發(fā)者或測試者快速地提取、操作數(shù)據(jù),從根本上提高軟件缺陷分析與預(yù)防的效率。

首先,我們給缺陷數(shù)據(jù)定義幾個(gè)比較重要的屬性,如表1。

表1 缺陷數(shù)據(jù)定義表

從表中我們可以直觀地看出缺陷數(shù)據(jù)定義過程中用到的一些重要屬性,例如,通過Title屬性我們可以直接找到某缺陷,Type屬性可以很明確地告知我們哪些缺陷為同一類型缺陷,從而找到缺陷的歸屬,Cause屬性、Severity屬性、Priority屬性指出缺陷產(chǎn)生原因以及不同程度的等級(jí),這從一定程度上可以讓開發(fā)者或測試者了解缺陷內(nèi)容。

根據(jù)列出的缺陷數(shù)據(jù)屬性,我們運(yùn)用兩種方法存儲(chǔ)數(shù)據(jù),一種方法利用關(guān)系數(shù)據(jù)庫MySQL,另一種方法利用圖形數(shù)據(jù)庫Neo4j,比較兩者在存儲(chǔ)數(shù)據(jù)過程中的區(qū)別。

關(guān)系數(shù)據(jù)庫中,根據(jù)需求,我們可以給出E-R圖,實(shí)體Person與Defect的關(guān)系如圖1。

圖1 E-R圖

用戶與缺陷之間是多對(duì)多的關(guān)系,一個(gè)用戶可以管理多個(gè)缺陷,而每個(gè)缺陷的管理者可能由多個(gè)用戶共同來管理;用戶與用戶、缺陷與缺陷之間利用本身擁有的屬性關(guān)聯(lián),這里由于屬性過多就不一一列出,只是簡單列出用戶與缺陷之間的關(guān)系。

圖形數(shù)據(jù)庫中,根據(jù)需求,我們也可以給出數(shù)據(jù)庫的圖形表現(xiàn)形式,即將點(diǎn)、邊、屬性聯(lián)系在一起,構(gòu)成一個(gè)基于社會(huì)網(wǎng)絡(luò)的缺陷數(shù)據(jù)模型,如圖2。

圖2 基于社會(huì)網(wǎng)絡(luò)的缺陷數(shù)據(jù)模型

該缺陷數(shù)據(jù)模型比較容易理解:由用戶和缺陷兩個(gè)實(shí)體組成,然后用戶實(shí)體通過特殊的關(guān)系與缺陷實(shí)體連接。Person實(shí)體包含兩個(gè)關(guān)系:多個(gè)Person實(shí)例之間通過Colleague關(guān)系連接,但不能連接自己,Management連接到最近的Defect實(shí)體;Defect實(shí)體也包含兩個(gè)關(guān)系:多個(gè)Defect實(shí)體之間通過next關(guān)系連接,可以表示主線上的下一個(gè)Defect實(shí)體,Management連接到最近的Person實(shí)體。

通過對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)圖,可以看出:若缺陷數(shù)據(jù)之間有一定的關(guān)系網(wǎng),那么利用關(guān)系數(shù)據(jù)庫描述這一過程會(huì)很復(fù)雜,不僅占用存儲(chǔ)空間,而且查找效率也不是很高,所以利用圖形數(shù)據(jù)庫,可以通過邊的關(guān)系很容易找到缺陷數(shù)據(jù);若給數(shù)據(jù)庫表添加一些額外的數(shù)據(jù),我們很可能需要重構(gòu)關(guān)系數(shù)據(jù)庫,帶來不必要的麻煩,而使用圖形數(shù)據(jù)庫的話,我們只需要?jiǎng)討B(tài)地添加幾個(gè)節(jié)點(diǎn)或邊。

2 軟件缺陷中的社會(huì)網(wǎng)絡(luò)劃分

從傳統(tǒng)意義上講,社交網(wǎng)絡(luò)指的是由一些個(gè)人或組織通過他們之間的關(guān)系所構(gòu)成的一個(gè)復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),而這種關(guān)系可以是同學(xué)、朋友、同事或親戚。本文則依靠這種特殊的網(wǎng)絡(luò)結(jié)構(gòu),利用社交網(wǎng)絡(luò)的劃分算法對(duì)網(wǎng)絡(luò)結(jié)構(gòu)中的軟件缺陷與缺陷之間的關(guān)系進(jìn)行分析,從而得到一定的缺陷社團(tuán)劃分。

本文主要利用Newman等人的優(yōu)化模塊度的快速算法,即FN算法,它是一個(gè)啟發(fā)式算法,主要引入了一個(gè)模塊性函數(shù)Q,通過最大化Q函數(shù),來實(shí)現(xiàn)缺陷社團(tuán)的發(fā)現(xiàn)。

FN算法的具體步驟如下:

(1)網(wǎng)絡(luò)中的每個(gè)缺陷節(jié)點(diǎn)作為一個(gè)小網(wǎng)絡(luò),這樣n個(gè)缺陷節(jié)點(diǎn)的網(wǎng)絡(luò)就有n個(gè)小網(wǎng)絡(luò),初始化后,eij=缺陷節(jié)點(diǎn)i與j相連,表示缺陷節(jié)點(diǎn)i 0其他的度,2m表示網(wǎng)絡(luò)結(jié)構(gòu)中邊的總數(shù));

(2)當(dāng)兩個(gè)節(jié)點(diǎn)之間有邊時(shí),對(duì)節(jié)點(diǎn)進(jìn)行合并,然后計(jì)算模塊度增量ΔQ,其中ΔQ=eij+eji-2aiaj=2(eij-aiaj);

(3)選擇ΔQ變化最大的缺陷節(jié)點(diǎn)進(jìn)行合并,更新矩陣eij;

(4)重復(fù)執(zhí)行第(2)步與第(3)步,直到整個(gè)原網(wǎng)絡(luò)構(gòu)成為一個(gè)大的社團(tuán)。

從一定程度上講,軟件缺陷的有效劃分一部分取決于軟件缺陷數(shù)據(jù)的存儲(chǔ),另一部分則取決于社會(huì)網(wǎng)絡(luò)的社團(tuán)劃分算法。在算法優(yōu)化改進(jìn)方面,我們?cè)贔N算法的步驟(2)中,主要是將圖形數(shù)據(jù)庫Neo4j自帶的一些求最短路徑的方法運(yùn)用到社會(huì)網(wǎng)絡(luò)中節(jié)點(diǎn)合并的過程,這樣不僅可以減少我們的工作量,而且還可以在很大程度提高算法的效率,從而對(duì)缺陷數(shù)據(jù)進(jìn)行有效的社團(tuán)劃分。那么根據(jù)上面論述的FN算法步驟和存儲(chǔ)的缺陷數(shù)據(jù),我們可以初步得到FN算法的層次聚類樹,如圖3。

3 結(jié)語

本文區(qū)別于傳統(tǒng)的軟件缺陷的分析與預(yù)防方法,引入社會(huì)網(wǎng)絡(luò)的相關(guān)概念,即利用社會(huì)網(wǎng)絡(luò)的社團(tuán)劃分算法對(duì)軟件缺陷進(jìn)行劃分。一方面借助圖形數(shù)據(jù)庫Neo4j實(shí)現(xiàn)軟件缺陷的存儲(chǔ),減少內(nèi)存的占有率,提高軟件缺陷數(shù)據(jù)的存儲(chǔ)效率;另一方面利用社團(tuán)網(wǎng)絡(luò)的聚類算法FN算法,劃分軟件缺陷的社團(tuán),進(jìn)而有助于開發(fā)者或測試者提前預(yù)知缺陷存在的模塊,提高軟件開發(fā)的效率。

圖3 FN算法的層次聚類樹

[1]劉海,郝克剛.軟件缺陷數(shù)據(jù)的定義[J].計(jì)算機(jī)應(yīng)用,2008(1).

[2]閏振興,鄭駿.軟件缺陷屬性度量與軟件過程管理方法研究[J].計(jì)算機(jī)與數(shù)字工程,2010.

[3](美)Houman Younessi.面向?qū)ο蟮能浖毕莨芾恚跰].趙文耘.機(jī)械工業(yè)出版,2004.

[4]尹相樂,馬力,關(guān)昕.軟件缺陷分類的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(7):4910-4912.

[5]鄒琴.動(dòng)態(tài)社交網(wǎng)絡(luò)中社區(qū)劃分算法研究[D].碩士學(xué)位論文,2012(1):23~24

[6]王偉欣.復(fù)雜網(wǎng)絡(luò)社團(tuán)結(jié)構(gòu)挖掘算法的研究[D].碩士學(xué)位論文,2013(6):28

[7]Newman M E J.Fast algorithm for detecting community structure in networks[J].Physical Review E,2004,69(6):066-133.

[8]Clauset A.Finding local community structure in networks[J].Physical Review E,2005,72(2):026-132

[9]Girvan M,Newman M E J.Community structure in social and biological networks[J].Proceedings of the National Academy of Sciences,2002,99(12):7821-7826

[10]Neo4j.org官方網(wǎng)站.Neo4j中文[S/OL].[2014-6-10].http://www.neo4j.org.cn/.

Software Defects;Data Storage;Social Network;Partitioning Algorithm;Defects Prevention

Research on the Software Defects Prevention Based on Social Network

HOU Zhong-wei,Ren Hong-min
(College of Information Engineering,Shanghai Maritime University,Shanghai 201306)

1007-1423(2015)21-0011-03

10.3969/j.issn.1007-1423.2015.21.003

侯中偉(1988-),女,山東鄒城人,碩士研究生,研究方向?yàn)檐浖_發(fā)方法與軟件項(xiàng)目管理

2015-05-05

2015-07-01

隨著軟件需求的不斷增加,軟件規(guī)模也不斷地?cái)U(kuò)大,軟件缺陷問題接踵而來。如何有效地預(yù)防軟件缺陷,成為軟件開發(fā)過程中重要的一部分。從兩方面論述軟件缺陷處理問題,一方面是軟件缺陷數(shù)據(jù)的存儲(chǔ)問題,另一方面是利用社會(huì)網(wǎng)絡(luò)的社團(tuán)劃分算法劃分歷史軟件缺陷,找到缺陷的隸屬社團(tuán),根據(jù)缺陷的隸屬社團(tuán),開發(fā)者或測試者可以得到缺陷與缺陷之間的隸屬關(guān)系以及缺陷產(chǎn)生的根源,從而更好地預(yù)防缺陷,大大提高軟件產(chǎn)品質(zhì)量。

軟件缺陷;數(shù)據(jù)存儲(chǔ);社會(huì)網(wǎng)絡(luò);社團(tuán)劃分算法;缺陷預(yù)防

任洪敏(1969-),男,上海浦東人,博士,副教授,研究方向?yàn)檐浖w系結(jié)構(gòu)、構(gòu)件技術(shù)、軟件復(fù)用、過程工程等

With the increasing demand of software,software size has continued to expand,software defects follow.How to effectively prevent software defects has become an import part of the software development process.Discusses two ways to deal with the problem of software defects,one is the storage problem of the data in the software defects,the other is using the partitioning algorithm of social network to divide the history of software defects and finding their membership associations,according to their membership associations,developer or tester can get the affiliation between defects and defects and the root of defects,so as to better prevent defects,greatly improve the quality of software products.

猜你喜歡
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
主站蜘蛛池模板: 国产91九色在线播放| 国产偷国产偷在线高清| 久久精品人人做人人综合试看| 在线观看国产精品一区| 国产精品3p视频| 2048国产精品原创综合在线| 精品久久久久久中文字幕女 | 99这里只有精品6| 国产欧美视频综合二区| 国产精品一区二区在线播放| 亚洲成人手机在线| 91精品国产91久无码网站| 免费人欧美成又黄又爽的视频| 911亚洲精品| 亚洲精品人成网线在线| 亚洲欧美日韩精品专区| 国产亚洲精品自在久久不卡| 亚洲成A人V欧美综合| 在线观看热码亚洲av每日更新| 精品视频免费在线| 国产精品v欧美| 99热亚洲精品6码| 国产精品亚洲αv天堂无码| 亚洲精品另类| 日韩不卡高清视频| 黄色网页在线播放| 日本亚洲欧美在线| 一级成人a毛片免费播放| 人妻出轨无码中文一区二区| 欧美午夜精品| 午夜天堂视频| 国产69精品久久久久孕妇大杂乱| 亚洲男人的天堂网| 国产一区成人| 香蕉久人久人青草青草| 日本精品视频一区二区| 亚洲国产精品一区二区高清无码久久| 毛片手机在线看| 538国产视频| 男人的天堂久久精品激情| 日韩区欧美区| 怡春院欧美一区二区三区免费| 免费不卡在线观看av| 免费人成又黄又爽的视频网站| 国产极品美女在线播放| 国产簧片免费在线播放| 国产精品太粉嫩高中在线观看| 91精品国产91久无码网站| 精久久久久无码区中文字幕| 97精品久久久大香线焦| 国产国产人成免费视频77777| 欧美日韩国产精品va| 久久免费精品琪琪| 99热这里只有精品5| 国产欧美精品一区aⅴ影院| 99热亚洲精品6码| 久久久久国产精品免费免费不卡| 亚洲精品制服丝袜二区| 老色鬼欧美精品| 72种姿势欧美久久久大黄蕉| 91精品人妻互换| 欧美激情视频一区二区三区免费| 亚洲美女高潮久久久久久久| yjizz视频最新网站在线| 国产色伊人| 直接黄91麻豆网站| 亚洲福利一区二区三区| 国产69囗曝护士吞精在线视频| 97视频免费在线观看| 日本午夜三级| 欧美日韩动态图| 18禁高潮出水呻吟娇喘蜜芽| 国产微拍一区| 精品国产网| 国产午夜一级毛片| 久久激情影院| 依依成人精品无v国产| 欲色天天综合网| 欧美综合中文字幕久久| 国产av色站网站| 99re精彩视频| 在线观看视频99|