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ù)庫
主站蜘蛛池模板: 亚洲香蕉在线| 99re经典视频在线| 亚洲精品无码不卡在线播放| 在线精品欧美日韩| 国产综合另类小说色区色噜噜| 综合亚洲网| 狼友视频国产精品首页| 国产黄色免费看| 97无码免费人妻超级碰碰碰| 欧美性猛交一区二区三区 | 国产在线视频自拍| 国产精品毛片一区| 米奇精品一区二区三区| 亚洲精品欧美日本中文字幕| 最新精品久久精品| 亚洲精品高清视频| 天堂亚洲网| 日韩精品无码免费一区二区三区| 91在线播放免费不卡无毒| 亚洲美女AV免费一区| 欧美福利在线| 国产精品久久久久鬼色| 国产精品观看视频免费完整版| 日韩精品亚洲人旧成在线| 亚洲国产精品日韩欧美一区| 亚洲天堂网在线观看视频| 欧美日韩精品一区二区在线线 | 夜夜操国产| 欧美激情网址| 欧美在线天堂| 中国丰满人妻无码束缚啪啪| 99无码熟妇丰满人妻啪啪| 国产综合色在线视频播放线视| 欧美区一区| 成年人免费国产视频| 精品一区二区三区水蜜桃| 很黄的网站在线观看| 尤物在线观看乱码| 亚洲天堂高清| 操国产美女| 亚洲无码37.| 国产91色在线| 国产香蕉97碰碰视频VA碰碰看| 日韩无码精品人妻| 国产乱人免费视频| 欧美va亚洲va香蕉在线| 亚洲男人在线| 午夜福利视频一区| 蜜芽国产尤物av尤物在线看| 奇米影视狠狠精品7777| 亚洲天堂视频在线观看免费| 日韩经典精品无码一区二区| 91精品国产自产91精品资源| 欧美成人午夜视频| 国产精品欧美日本韩免费一区二区三区不卡 | 国产一二三区视频| 在线免费亚洲无码视频| 97国内精品久久久久不卡| 亚洲国产理论片在线播放| 国产成人高精品免费视频| 无遮挡一级毛片呦女视频| 国产精品毛片在线直播完整版| 2021天堂在线亚洲精品专区| 久久久受www免费人成| 亚洲小视频网站| 亚洲首页在线观看| 99久久免费精品特色大片| 久久一本日韩精品中文字幕屁孩| 国产在线自在拍91精品黑人| 日本不卡在线播放| 久久性妇女精品免费| 色妺妺在线视频喷水| 色综合综合网| 女人天堂av免费| 2020国产精品视频| 亚洲精品少妇熟女| 亚洲精品欧美日韩在线| 丁香综合在线| 亚洲欧美成aⅴ人在线观看 | 国产人人射| 天堂网亚洲系列亚洲系列| 一本久道久综合久久鬼色|