亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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ù)庫(kù)

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

        基于社會(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ā)者或許測(cè)試者盡量避免缺陷問題的產(chǎn)生。然而,軟件缺陷很難一次性解決,更不可能全部解決,需要開發(fā)者或測(cè)試者從軟件開發(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ā)者或測(cè)試者快速地提取、操作數(shù)據(jù),從根本上提高軟件缺陷分析與預(yù)防的效率。

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

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

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

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

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

        圖1 E-R圖

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

        圖形數(shù)據(jù)庫(kù)中,根據(jù)需求,我們也可以給出數(shù)據(jù)庫(kù)的圖形表現(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ù)庫(kù)描述這一過程會(huì)很復(fù)雜,不僅占用存儲(chǔ)空間,而且查找效率也不是很高,所以利用圖形數(shù)據(jù)庫(kù),可以通過邊的關(guān)系很容易找到缺陷數(shù)據(jù);若給數(shù)據(jù)庫(kù)表添加一些額外的數(shù)據(jù),我們很可能需要重構(gòu)關(guān)系數(shù)據(jù)庫(kù),帶來不必要的麻煩,而使用圖形數(shù)據(jù)庫(kù)的話,我們只需要?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ù)庫(kù)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ù)庫(kù)Neo4j實(shí)現(xiàn)軟件缺陷的存儲(chǔ),減少內(nèi)存的占有率,提高軟件缺陷數(shù)據(jù)的存儲(chǔ)效率;另一方面利用社團(tuán)網(wǎng)絡(luò)的聚類算法FN算法,劃分軟件缺陷的社團(tuán),進(jìn)而有助于開發(fā)者或測(cè)試者提前預(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ā)者或測(cè)試者可以得到缺陷與缺陷之間的隸屬關(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ù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        兩種新的非確定數(shù)據(jù)庫(kù)上的Top-K查詢
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        成年在线观看免费视频| 欧美亅性猛交内射| 国精品人妻无码一区免费视频电影| 无码精品国产va在线观看| 日本久久久久| 麻豆国产成人av高清在线| 丝袜美腿一区二区国产| 无码精品久久久久久人妻中字| 欧美自拍丝袜亚洲| 日韩精品成人一区二区三区久久久 | 日本午夜理论片在线观看| 玩中年熟妇让你爽视频| chinesefreexxxx国产麻豆| 久草视频在线这里只有精品| 中文字幕女同人妖熟女| 欧美人与禽2o2o性论交| 亚洲人成网站免费播放| 日产精品一区二区三区免费| 日韩精品在线一二三四区 | 亚洲精品乱码久久久久久久久久久久| 国产精品成人午夜久久| 亚洲小少妇一区二区三区| 麻豆国产精品久久人妻| 久久精品人人做人人爽| 久久精品中文字幕久久| 最新69国产精品视频| 韩国三级大全久久网站| 欧洲熟妇乱xxxxx大屁股7| 国产成人自拍小视频在线| 91偷拍与自偷拍亚洲精品86 | 亚洲日韩精品欧美一区二区 | 成人免费自拍视频在线观看| 亚洲精品成人区在线观看| 亚洲中文无码精品久久不卡| 日本老熟妇五十路一区二区三区| 性按摩xxxx在线观看| 欧美做受视频播放| 日本高清一区二区在线观看| 国产在线观看免费视频软件| 成人性做爰aaa片免费看| 国产福利97精品一区二区|