基于加權(quán)軟件網(wǎng)絡(luò)的軟件模塊性和穩(wěn)定性度量方法研究
發(fā)布時(shí)間:2021-01-26 11:16
軟件結(jié)構(gòu)指的是軟件內(nèi)部的元素及元素之間的聯(lián)系,它已經(jīng)成為影響軟件質(zhì)量非常重要的因素。隨著軟件功能、結(jié)構(gòu)的日益復(fù)雜,軟件質(zhì)量難以保證。了解一件事物,應(yīng)該采取量化的方式,在軟件工程領(lǐng)域也是如此:沒有度量就沒有理解和控制。因此,要控制或者改善軟件的質(zhì)量,就需要對軟件結(jié)構(gòu)進(jìn)行合理的描述和有效的量化。軟件度量已經(jīng)成為軟件工程領(lǐng)域的一個(gè)重要研究方向。軟件度量是對軟件內(nèi)部結(jié)構(gòu)質(zhì)量屬性的量化。結(jié)構(gòu)質(zhì)量有很多方面,包括理解性、可支持性、穩(wěn)定性、模塊性等。模塊性和穩(wěn)定性是軟件的兩大重要質(zhì)量屬性。模塊性被認(rèn)為是設(shè)計(jì)成功軟件的最重要特性之一,它對許多外部質(zhì)量屬性具有重大影響。因此,提出衡量軟件模塊性的指標(biāo)非常有用。軟件穩(wěn)定性意味著抵抗軟件變化的放大,它已成為影響維護(hù)成本的最重要因素之一。盡管一些國內(nèi)外學(xué)者在軟件模塊性和穩(wěn)定性方面做出了很多貢獻(xiàn),取得了諸多成果,但是現(xiàn)有工作仍存在如下不足:1)在軟件模塊性的度量研究中,現(xiàn)有工作主要探討與軟件模塊性相關(guān)的耦合性和內(nèi)聚性的度量,沒有將耦合性和內(nèi)聚性兩者結(jié)合起來,進(jìn)而從整體上度量軟件的模塊性;2)在軟件穩(wěn)定性度量方面,現(xiàn)有工作未能充分考慮軟件元素之間的多種耦合關(guān)系,也...
【文章來源】:浙江工商大學(xué)浙江省
【文章頁數(shù)】:67 頁
【學(xué)位級別】:碩士
【部分圖文】:
論文組織架構(gòu)圖
基于加權(quán)軟件網(wǎng)絡(luò)的軟件模塊性和穩(wěn)定性度量方法研究11第3章基于加權(quán)軟件網(wǎng)絡(luò)的軟件模塊性度量方法3.1引言軟件質(zhì)量一直是軟件工程領(lǐng)域極為關(guān)注的問題,質(zhì)量好的軟件可以節(jié)約大量資源,所以最大限度地提升軟件質(zhì)量一直是軟件工程追求的目標(biāo)。軟件質(zhì)量的提升離不開軟件的度量,特別是在軟件功能和結(jié)構(gòu)日益復(fù)雜時(shí)。軟件的模塊性在軟件結(jié)構(gòu)化度量中占據(jù)著極其重要的地位,但度量軟件仍是一件比較困難的事,所以本文接下來就軟件的模塊性提出度量方法。“低耦合和高內(nèi)聚”被認(rèn)為是實(shí)現(xiàn)模塊性設(shè)計(jì)的主要驅(qū)動(dòng)因素之一。因此,現(xiàn)有的量度軟件模塊性的研究工作主要集中在量度軟件元素之間的耦合和軟件元素的內(nèi)聚。但現(xiàn)有的度量指標(biāo)主要集中在模塊性單方面,即耦合或內(nèi)聚,無法全面了解軟件的模塊性。針對不足,提出我們的研究方法。模塊性被認(rèn)為是成功軟件設(shè)計(jì)的最重要特性之一。因此,提出衡量軟件模塊性的指標(biāo)是有用的。在本文中,我們提出了一種新的度量指標(biāo)Q(模塊性),從復(fù)雜網(wǎng)絡(luò)的角度衡量軟件的模塊性。首先,特定的軟件由特征耦合網(wǎng)絡(luò)(FCN)表示。然后,將軟件原始的類結(jié)構(gòu)作為特征的社區(qū),并引入復(fù)雜網(wǎng)絡(luò)領(lǐng)域用于評價(jià)社區(qū)結(jié)構(gòu)的模塊度指標(biāo)度量類的模塊性;我們應(yīng)用著名的標(biāo)準(zhǔn)理論來驗(yàn)證我們的模塊性,并使用開源Java軟件系統(tǒng)進(jìn)行實(shí)證評估,以顯示其作為衡量軟件模塊性的度量指標(biāo)的有效性。3.2整體框架圖3.1方法概述圖3.1顯示了基于加權(quán)軟件網(wǎng)絡(luò)的軟件模塊性度量方法概述。首先,通過靜態(tài)分析,該方法從軟件系統(tǒng)的源代碼中提取軟件結(jié)構(gòu)信息。其次,使用提取的軟件結(jié)構(gòu)信息構(gòu)建FCN。然后,根據(jù)FCN網(wǎng)絡(luò),提出軟件模塊性的度量指標(biāo)Q的定義以及計(jì)算Q值的偽代
基于加權(quán)軟件網(wǎng)絡(luò)的軟件模塊性和穩(wěn)定性度量方法研究13的注釋表示該節(jié)點(diǎn)的方法名稱或?qū)傩悦Q,邊旁邊的注釋表示該邊的權(quán)重。由于方法d()訪問屬性a一次,調(diào)用方法b()一次,并且調(diào)用方法c()兩次,所以d()和a,d()和b(),d()和c(),權(quán)重分別為1,1和2。由于方法b()調(diào)用方法c()一次,因此權(quán)重為1且b()和c()之間存在一條邊。因?yàn)榉椒╢()調(diào)用方法c()一次,所以f()和c()之間有一條邊,權(quán)重為1。由于方法e()調(diào)用方法f()一次,因此e()和f()之間存在一條邊且權(quán)重為1。圖3.2一個(gè)簡單的代碼段及其對應(yīng)的FCN3.5軟件模塊性度量“高內(nèi)聚和低耦合”是軟件設(shè)計(jì)中最重要的原則之一,該原則主張將相關(guān)屬性和方法合并到同一個(gè)模塊中,并減少模塊之間的耦合。軟件中的“模塊”與復(fù)雜網(wǎng)絡(luò)研究中的“社區(qū)”概念非常相似。在復(fù)雜網(wǎng)絡(luò)中,社區(qū)是密集連接節(jié)點(diǎn)的子集,因此社區(qū)中的邊密度高于社區(qū)之間的邊密度。社區(qū)結(jié)構(gòu)已成為許多網(wǎng)絡(luò)系統(tǒng)中可以觀察到的最重要的網(wǎng)絡(luò)屬性之一。當(dāng)軟件系統(tǒng)用軟件網(wǎng)絡(luò)表示時(shí),軟件系統(tǒng)也具有社區(qū)結(jié)構(gòu)。通常,包是類和接口的自然社區(qū),類和接口是方法和屬性的自然社區(qū)[67]。因此,我們可以通過使用質(zhì)量指標(biāo)來量化復(fù)雜網(wǎng)絡(luò)中的社區(qū)結(jié)構(gòu),并以此來衡量軟件模塊性。在復(fù)雜網(wǎng)絡(luò)中,已經(jīng)提出了許多質(zhì)量指標(biāo)來評估社區(qū)結(jié)構(gòu),例如MQ[68],EVM[69]和模塊性(Q)[70]。可以說,Newman和Girvan提出的Q是使用最廣泛和最著名的質(zhì)量指標(biāo)。
【參考文獻(xiàn)】:
期刊論文
[1]一種基于深度學(xué)習(xí)的上帝類檢測方法[J]. 卜依凡,劉輝,李光杰. 軟件學(xué)報(bào). 2019(05)
[2]面向?qū)ο筌浖攘恳蜃拥膬缏煞植佳芯縖J]. 冼偉成,劉偉,劉宏韜,胡志剛. 計(jì)算機(jī)應(yīng)用與軟件. 2018(01)
[3]面向?qū)ο筌浖䞍?nèi)聚度度量數(shù)據(jù)分布的實(shí)證研究[J]. 周曉聰,賴蔚,溫劍豐. 軟件學(xué)報(bào). 2018(10)
[4]混源軟件質(zhì)量模型與度量方法研究[J]. 劉啟林,董威,尹良澤,齊璇,楊沙洲. 計(jì)算機(jī)科學(xué). 2017(04)
[5]基于GMDH因果關(guān)系的軟件缺陷預(yù)測模型[J]. 張德平,劉國強(qiáng),張柯. 計(jì)算機(jī)科學(xué). 2016(07)
[6]軟件可信評估研究綜述:標(biāo)準(zhǔn)、模型與工具[J]. 沈國華,黃志球,謝冰,朱羿全,廖莉莉,王飛,劉銀陵. 軟件學(xué)報(bào). 2016(04)
[7]基于復(fù)雜軟件網(wǎng)絡(luò)的回歸測試用例優(yōu)先級排序[J]. 潘偉豐,李兵,馬于濤,劉婧. 電子學(xué)報(bào). 2012(12)
[8]利用h指數(shù)及其衍生度量識別關(guān)鍵類[J]. 王木生,盧紅敏,周毓明,徐寶文. 計(jì)算機(jī)科學(xué)與探索. 2011(10)
[9]基于變更傳播仿真的軟件穩(wěn)定性分析[J]. 張莉,錢冠群,李琳. 計(jì)算機(jī)學(xué)報(bào). 2010(03)
碩士論文
[1]面向軟件度量的復(fù)合式屬性選擇算法研究[D]. 樂明昊.武漢理工大學(xué) 2015
[2]基于軟件測試的質(zhì)量度量研究和應(yīng)用[D]. 陳文兵.中國科學(xué)院大學(xué)(工程管理與信息技術(shù)學(xué)院) 2015
本文編號:3001015
【文章來源】:浙江工商大學(xué)浙江省
【文章頁數(shù)】:67 頁
【學(xué)位級別】:碩士
【部分圖文】:
論文組織架構(gòu)圖
基于加權(quán)軟件網(wǎng)絡(luò)的軟件模塊性和穩(wěn)定性度量方法研究11第3章基于加權(quán)軟件網(wǎng)絡(luò)的軟件模塊性度量方法3.1引言軟件質(zhì)量一直是軟件工程領(lǐng)域極為關(guān)注的問題,質(zhì)量好的軟件可以節(jié)約大量資源,所以最大限度地提升軟件質(zhì)量一直是軟件工程追求的目標(biāo)。軟件質(zhì)量的提升離不開軟件的度量,特別是在軟件功能和結(jié)構(gòu)日益復(fù)雜時(shí)。軟件的模塊性在軟件結(jié)構(gòu)化度量中占據(jù)著極其重要的地位,但度量軟件仍是一件比較困難的事,所以本文接下來就軟件的模塊性提出度量方法。“低耦合和高內(nèi)聚”被認(rèn)為是實(shí)現(xiàn)模塊性設(shè)計(jì)的主要驅(qū)動(dòng)因素之一。因此,現(xiàn)有的量度軟件模塊性的研究工作主要集中在量度軟件元素之間的耦合和軟件元素的內(nèi)聚。但現(xiàn)有的度量指標(biāo)主要集中在模塊性單方面,即耦合或內(nèi)聚,無法全面了解軟件的模塊性。針對不足,提出我們的研究方法。模塊性被認(rèn)為是成功軟件設(shè)計(jì)的最重要特性之一。因此,提出衡量軟件模塊性的指標(biāo)是有用的。在本文中,我們提出了一種新的度量指標(biāo)Q(模塊性),從復(fù)雜網(wǎng)絡(luò)的角度衡量軟件的模塊性。首先,特定的軟件由特征耦合網(wǎng)絡(luò)(FCN)表示。然后,將軟件原始的類結(jié)構(gòu)作為特征的社區(qū),并引入復(fù)雜網(wǎng)絡(luò)領(lǐng)域用于評價(jià)社區(qū)結(jié)構(gòu)的模塊度指標(biāo)度量類的模塊性;我們應(yīng)用著名的標(biāo)準(zhǔn)理論來驗(yàn)證我們的模塊性,并使用開源Java軟件系統(tǒng)進(jìn)行實(shí)證評估,以顯示其作為衡量軟件模塊性的度量指標(biāo)的有效性。3.2整體框架圖3.1方法概述圖3.1顯示了基于加權(quán)軟件網(wǎng)絡(luò)的軟件模塊性度量方法概述。首先,通過靜態(tài)分析,該方法從軟件系統(tǒng)的源代碼中提取軟件結(jié)構(gòu)信息。其次,使用提取的軟件結(jié)構(gòu)信息構(gòu)建FCN。然后,根據(jù)FCN網(wǎng)絡(luò),提出軟件模塊性的度量指標(biāo)Q的定義以及計(jì)算Q值的偽代
基于加權(quán)軟件網(wǎng)絡(luò)的軟件模塊性和穩(wěn)定性度量方法研究13的注釋表示該節(jié)點(diǎn)的方法名稱或?qū)傩悦Q,邊旁邊的注釋表示該邊的權(quán)重。由于方法d()訪問屬性a一次,調(diào)用方法b()一次,并且調(diào)用方法c()兩次,所以d()和a,d()和b(),d()和c(),權(quán)重分別為1,1和2。由于方法b()調(diào)用方法c()一次,因此權(quán)重為1且b()和c()之間存在一條邊。因?yàn)榉椒╢()調(diào)用方法c()一次,所以f()和c()之間有一條邊,權(quán)重為1。由于方法e()調(diào)用方法f()一次,因此e()和f()之間存在一條邊且權(quán)重為1。圖3.2一個(gè)簡單的代碼段及其對應(yīng)的FCN3.5軟件模塊性度量“高內(nèi)聚和低耦合”是軟件設(shè)計(jì)中最重要的原則之一,該原則主張將相關(guān)屬性和方法合并到同一個(gè)模塊中,并減少模塊之間的耦合。軟件中的“模塊”與復(fù)雜網(wǎng)絡(luò)研究中的“社區(qū)”概念非常相似。在復(fù)雜網(wǎng)絡(luò)中,社區(qū)是密集連接節(jié)點(diǎn)的子集,因此社區(qū)中的邊密度高于社區(qū)之間的邊密度。社區(qū)結(jié)構(gòu)已成為許多網(wǎng)絡(luò)系統(tǒng)中可以觀察到的最重要的網(wǎng)絡(luò)屬性之一。當(dāng)軟件系統(tǒng)用軟件網(wǎng)絡(luò)表示時(shí),軟件系統(tǒng)也具有社區(qū)結(jié)構(gòu)。通常,包是類和接口的自然社區(qū),類和接口是方法和屬性的自然社區(qū)[67]。因此,我們可以通過使用質(zhì)量指標(biāo)來量化復(fù)雜網(wǎng)絡(luò)中的社區(qū)結(jié)構(gòu),并以此來衡量軟件模塊性。在復(fù)雜網(wǎng)絡(luò)中,已經(jīng)提出了許多質(zhì)量指標(biāo)來評估社區(qū)結(jié)構(gòu),例如MQ[68],EVM[69]和模塊性(Q)[70]。可以說,Newman和Girvan提出的Q是使用最廣泛和最著名的質(zhì)量指標(biāo)。
【參考文獻(xiàn)】:
期刊論文
[1]一種基于深度學(xué)習(xí)的上帝類檢測方法[J]. 卜依凡,劉輝,李光杰. 軟件學(xué)報(bào). 2019(05)
[2]面向?qū)ο筌浖攘恳蜃拥膬缏煞植佳芯縖J]. 冼偉成,劉偉,劉宏韜,胡志剛. 計(jì)算機(jī)應(yīng)用與軟件. 2018(01)
[3]面向?qū)ο筌浖䞍?nèi)聚度度量數(shù)據(jù)分布的實(shí)證研究[J]. 周曉聰,賴蔚,溫劍豐. 軟件學(xué)報(bào). 2018(10)
[4]混源軟件質(zhì)量模型與度量方法研究[J]. 劉啟林,董威,尹良澤,齊璇,楊沙洲. 計(jì)算機(jī)科學(xué). 2017(04)
[5]基于GMDH因果關(guān)系的軟件缺陷預(yù)測模型[J]. 張德平,劉國強(qiáng),張柯. 計(jì)算機(jī)科學(xué). 2016(07)
[6]軟件可信評估研究綜述:標(biāo)準(zhǔn)、模型與工具[J]. 沈國華,黃志球,謝冰,朱羿全,廖莉莉,王飛,劉銀陵. 軟件學(xué)報(bào). 2016(04)
[7]基于復(fù)雜軟件網(wǎng)絡(luò)的回歸測試用例優(yōu)先級排序[J]. 潘偉豐,李兵,馬于濤,劉婧. 電子學(xué)報(bào). 2012(12)
[8]利用h指數(shù)及其衍生度量識別關(guān)鍵類[J]. 王木生,盧紅敏,周毓明,徐寶文. 計(jì)算機(jī)科學(xué)與探索. 2011(10)
[9]基于變更傳播仿真的軟件穩(wěn)定性分析[J]. 張莉,錢冠群,李琳. 計(jì)算機(jī)學(xué)報(bào). 2010(03)
碩士論文
[1]面向軟件度量的復(fù)合式屬性選擇算法研究[D]. 樂明昊.武漢理工大學(xué) 2015
[2]基于軟件測試的質(zhì)量度量研究和應(yīng)用[D]. 陳文兵.中國科學(xué)院大學(xué)(工程管理與信息技術(shù)學(xué)院) 2015
本文編號:3001015
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3001015.html
最近更新
教材專著