復(fù)雜軟件系統(tǒng)的軟件網(wǎng)絡(luò)結(jié)點缺陷與維護的問題和策略論文
摘要:軟件的質(zhì)量直接受軟件體系結(jié)構(gòu)的好壞影響,很長時間以來,人們一直非常重視研究軟件的體系結(jié)構(gòu),隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,軟件可以實現(xiàn)越來越強大的功能,同時復(fù)雜度也是變得越來越高,軟件的體系結(jié)構(gòu)有了不同粒度、多層次的方式。基于有向軟件網(wǎng)絡(luò)的圖論的概念發(fā)展出來了復(fù)雜軟件中的軟件網(wǎng)絡(luò)結(jié)構(gòu)的思想,軟件網(wǎng)絡(luò)的各個特性應(yīng)被應(yīng)用統(tǒng)計學(xué)的方法來研究,如:結(jié)構(gòu)穩(wěn)定、幾何特質(zhì)、幾何性質(zhì)學(xué)等,可以發(fā)現(xiàn)復(fù)雜的軟件體系在一定的程度上被網(wǎng)絡(luò)節(jié)點影響著,為了促進軟件的體系完善與結(jié)構(gòu)的優(yōu)化,我們應(yīng)當認真地分析結(jié)點的影響。
關(guān)鍵詞: 軟件系統(tǒng);節(jié)點;網(wǎng)絡(luò);缺陷
Abstract: the quality of the software directly by the software system structure is good or bad influence, it is a long time, people have attached great importance to the study of software architecture, with the development of Internet technology, the software can realize more and more powerful, but the complexity is also becoming more and more high, the system structure of the software with different granularity, multi-level the way. A graph theory to software network concept developed software structure of complex networks in the software based on the idea of software, each characteristic of network method should be the application of statistics to study, such as: stable structure, geometric characteristics, geometric properties of science, can be found in software system complex was network node affects in a certain extent, in order to promote the optimization and improvement of the system and structure of the software, we should seriously analyze node effect.
Key words: software maintenance system; node; network; defects
在軟件開發(fā)的實際過程當中潛在的軟降缺陷在一個復(fù)雜的軟件系統(tǒng)中占有很大的比例,而且它只會導(dǎo)致比較少的軟件制作時的失敗,通過觀察發(fā)現(xiàn)的占有絕大多數(shù)的軟件的失敗一般是由非常少部分或者可以說是極少的部分的而且是潛在性的缺陷導(dǎo)致的。當把軟件中的大部分的缺陷清除掉之后,只會微不足道的影響軟件的可靠性。但是當清除了那些“大規(guī)!倍抑徽紭O少比例的缺陷的時候,才會顯著地增強軟件的可靠性。
1大多數(shù)的缺陷往往包含在少數(shù)的模塊中
在一些測試軟件中,我們發(fā)現(xiàn)大多數(shù)的缺陷,往往存在于少數(shù)的模塊當中。在運行的軟件中,往往只有極少數(shù)模塊會包含絕大多數(shù)的缺陷。當然,在這個現(xiàn)象當中我們以前所說的模塊的復(fù)雜性并不能準確地解釋,其次我們也不能用模塊的規(guī)模加以分析。通常來講模塊存在的缺陷密度會和我們聲稱的模塊的規(guī)模有關(guān),而且通常意義上模塊的缺陷傾向性和模塊的錯誤傾向性可以很好地被軟件的復(fù)雜性度量鎖預(yù)測的說法存在一定的證據(jù)上的支持。最后,我們還可以斷定一個結(jié)論:我們發(fā)現(xiàn)的存在于測試軟件中缺陷,要比已經(jīng)使用一年的軟件中所發(fā)現(xiàn)的要多得多。
為了極大地減少查找軟件缺陷和軟件測試的成本,一些對軟件的實際運行影響有著概率很小或者可以說是幾乎沒有的缺陷,我們可以在找到軟件的缺陷傾向性模塊的情況下忽略掉,當然,這要根據(jù)軟件產(chǎn)品的那一套質(zhì)量成本理論來判斷。這樣,我們不僅會明顯的降低軟件的質(zhì)量同時又可以在一定的程度上節(jié)約軟件的開發(fā)成本。這項研究在開發(fā)軟件的商業(yè)角度上具有比較好的成本和質(zhì)量平衡的指導(dǎo)意義。
2軟件的容錯基礎(chǔ)是軟件的結(jié)構(gòu)
軟件的質(zhì)量在很深的程度上是受軟件的結(jié)構(gòu)影響的。正所謂軟件的容錯基礎(chǔ)是軟件的結(jié)構(gòu)。其實事實上,軟件的開發(fā)和研究人員一直在追求的“低耦合,高內(nèi)聚”的特性只是在軟件的開發(fā)實踐中的一個美麗的愿望而已,因為我們是無法在根本上避免軟件開發(fā)工程中出現(xiàn)的高耦合的情況的。因此,軟件格斗設(shè)計的合理性,對軟件的穩(wěn)定性和可靠性以及軟件的后期維護等質(zhì)量上所存在的特性都有著非常重要的影響。
3抽取八軟件系統(tǒng)構(gòu)成成分中某種粒度上的單位部分為結(jié)點,是研究軟件網(wǎng)絡(luò)的常用方法
研究軟件網(wǎng)絡(luò)的常用方法,是抽取軟件系統(tǒng)構(gòu)成成分中某種粒度上的單位成分(類、包、模塊或組件等)為結(jié)點,將這些單位成分互相之間的依賴關(guān)系(繼承、調(diào)用、消息等)構(gòu)成軟件的網(wǎng)絡(luò)。就目前而言,通過長時間的研究,我們可以認為,軟件中存在的變更、缺陷等的傳播問題是由于軟件是一種復(fù)雜網(wǎng)絡(luò)的結(jié)構(gòu),所以其有著比較小的傳播代價。因為缺陷、漣漪效應(yīng)、變更等在一定的程度上都是很容易就可以擴散到別的網(wǎng)絡(luò)結(jié)點上的。從仿真的手段得到的證明和理論上邏輯分析來看,上面我們所說的有關(guān)軟件變更或缺陷問題傳播的代價的結(jié)論是有著一定的說服力的。在大量的有關(guān)軟件系統(tǒng)中包含的網(wǎng)絡(luò)結(jié)構(gòu)的研究下針對這樣的矛盾,我們引發(fā)上述情況的一些問題的所在:就目前而言,我們所研究的軟件缺陷、變更是以復(fù)雜復(fù)雜的網(wǎng)絡(luò)理論作為比較強的指導(dǎo)的。一般大多都是軟件的類、模塊、包等構(gòu)成軟件的網(wǎng)絡(luò)結(jié)點。一般情況下結(jié)點間的連通性可以通過這些單元之間的依賴關(guān)系所構(gòu)成的網(wǎng)絡(luò)結(jié)點的邊反映的。
4軟件網(wǎng)絡(luò)
在網(wǎng)絡(luò)形式表述軟件結(jié)構(gòu)時,通常會在不同粒度上抽選網(wǎng)絡(luò),例如包、類、方法等。軟件網(wǎng)絡(luò)就是由不同的粒度簡化成的結(jié)點和他們的相互依賴關(guān)系簡化成的邊所構(gòu)成的軟件結(jié)構(gòu)。Valverde等人在2002年,以軟件工程中的類圖為研究對象對軟件網(wǎng)絡(luò)進行了最早的研究,研究中軟件系統(tǒng)用無向網(wǎng)絡(luò)表示,類用網(wǎng)絡(luò)中的結(jié)點表示,邊是類之間的繼承和關(guān)聯(lián)關(guān)系。對JDK的統(tǒng)計特性進行了系統(tǒng)的分析。分析結(jié)果顯示:“小世界”和“無尺度”兩個特性在兩個軟件系統(tǒng)的結(jié)構(gòu)中得到了非常明顯的展現(xiàn)。
“小世界”特性:網(wǎng)絡(luò)中連接任何一兩個節(jié)點的到最短路徑的邊的數(shù)目為兩節(jié)點間的距離,則所有節(jié)點對之間距離的平均值為網(wǎng)絡(luò)的平均最短路徑長度,其用于表述網(wǎng)絡(luò)節(jié)點間的分離程度。在研究中發(fā)現(xiàn),“小世界”特性為, 大部分規(guī)模大的真實系統(tǒng)被抽象成為網(wǎng)絡(luò)后,它的平均最短路徑長度比想象的要小的很多現(xiàn)象。
“無尺度”特性:與該節(jié)點連接的相鄰節(jié)點的數(shù)目通常被定義為節(jié)點的度,而網(wǎng)絡(luò)的平均度即節(jié)點的度的平均值。理論上其他全局特征參數(shù)的量化數(shù)值都可以通過度分布計算得出,一個重要的發(fā)現(xiàn)在復(fù)雜網(wǎng)絡(luò)研究中被指出,大部分的規(guī)模較大的真實系統(tǒng)向?qū)?yīng)的網(wǎng)絡(luò)的度分布都服從冪律分布。這就是“無尺度”特性,然而Myers的研究表明,單純的使用無向網(wǎng)絡(luò)模型可能會推算出錯誤的軟件工程原則,所以邊的方向軟件網(wǎng)絡(luò)中也是有意義的。
5軟件網(wǎng)絡(luò)的結(jié)點缺陷不能通過較小的代價傳遞給其他結(jié)點
軟件網(wǎng)絡(luò)是一個比較復(fù)雜的網(wǎng)絡(luò),那么為什么它的結(jié)點缺陷并不能通過比較小的代價來傳遞到其所連通的其他結(jié)點中呢?文就這個現(xiàn)象做了研究,對其部分原因做出了解答,并且分析和證實出了不同之間的結(jié)點對軟件變更和缺陷等傳播問題的影響。本文為了研究這些問題構(gòu)建了一個軟件網(wǎng)絡(luò),構(gòu)建這個軟件網(wǎng)絡(luò)時,同時考慮了結(jié)點散播信息的能力、結(jié)點收集信息的能力和不同方法層之間相互依賴的關(guān)系等問題。通過之前構(gòu)建的這個軟件網(wǎng)絡(luò),我們可以勾畫出一個軟件網(wǎng)絡(luò)各個結(jié)點的測量影響值的矩陣。在這個矩陣里面儲存了該軟件網(wǎng)絡(luò)的加權(quán)依賴關(guān)系,所以我們可以通過研究這個矩陣來得出軟件網(wǎng)絡(luò)的加權(quán)網(wǎng)絡(luò)特性。得出來的這些關(guān)系數(shù)據(jù)能夠很精確的表現(xiàn)出真正的軟件網(wǎng)絡(luò)的很多特性。
6WSNNI的統(tǒng)計特性及相應(yīng)的結(jié)點影響分析
加權(quán)網(wǎng)絡(luò)在很多方面是和復(fù)雜網(wǎng)絡(luò)是相同的。我們下面要講一下WSNNI模型下某些加權(quán)網(wǎng)絡(luò)的特性,并由這些特性來分析結(jié)點在加權(quán)網(wǎng)路中的影響。對于這些影響,我們給出了四個假設(shè)。在結(jié)點強度的問題上,通過一些數(shù)據(jù)和統(tǒng)計,我們可以很明顯的看出,結(jié)點強度分布就是結(jié)點在結(jié)點加權(quán)網(wǎng)絡(luò)中的相互之間影響的分布。通常,小的結(jié)點要和大的結(jié)點相互連接。大多數(shù)結(jié)點強度較小,少部分結(jié)點強度較大。最早存在的結(jié)點能夠連接很多的結(jié)點,而后面的結(jié)點連接的就顯得少了很多。關(guān)于這方面,很多文獻給予了詳細表述,這里就不贅述了。在有關(guān)加權(quán)路徑和平均最短加權(quán)路徑的問題上,在WSNNI的測試中,平均路徑值對結(jié)點影響也比較大。經(jīng)過測試發(fā)現(xiàn),當平均路徑值小時,結(jié)點之間的影響就大。而且平均最短路徑反映的是軟件的耦合強度,同時軟件的耦合強度又會直接影響變更的難度和軟件維護的問題。平均最短路徑越大,耦合強度就會越弱,結(jié)點間的傳播代價就會越大,反之亦然。在這里存在的無權(quán)網(wǎng)絡(luò),就是權(quán)值為一的加權(quán)網(wǎng)絡(luò)。無權(quán)網(wǎng)絡(luò)權(quán)值要大于加權(quán)網(wǎng)絡(luò)。無權(quán)網(wǎng)絡(luò)最短路徑比加權(quán)網(wǎng)絡(luò)小,所以其反映的網(wǎng)絡(luò)結(jié)點影響要遠遠大于加權(quán)網(wǎng)絡(luò)。
在研究網(wǎng)絡(luò)結(jié)點時,我們發(fā)現(xiàn)結(jié)點中存在少數(shù)結(jié)點,它的入點和出點強度都大于其他結(jié)點。而與它們相鄰的結(jié)點的影響測度值都很大。我們經(jīng)過很多測試之后發(fā)現(xiàn)一個問題,即許多測試前發(fā)現(xiàn)的錯誤在測試中并不能體現(xiàn)出來,同時在測試中發(fā)現(xiàn)的很多錯誤在實際運行中也無法發(fā)祥。據(jù)此,我們通過研究結(jié)點傳播的關(guān)系發(fā)現(xiàn),只有關(guān)鍵結(jié)點的錯誤才能很好地傳播下去,而非關(guān)鍵結(jié)點的錯誤很可能在傳播過程中消失。
7網(wǎng)絡(luò)軟件正向著高復(fù)雜度、大規(guī);姆较虬l(fā)展
隨著科學(xué)技術(shù)的不斷進步,摩爾定律推導(dǎo)的計算機技術(shù)的發(fā)展,以及其所帶動的計算機軟件網(wǎng)絡(luò)的進步,生活中各個領(lǐng)域都離不開軟件的應(yīng)用。網(wǎng)絡(luò)軟件已經(jīng)向著高復(fù)雜度、大規(guī);姆较虬l(fā)展著,所以應(yīng)用軟件的質(zhì)量在很大的程度上越來越受到軟件的體系結(jié)構(gòu)所帶來的影響。網(wǎng)絡(luò)結(jié)點是我們對軟件系統(tǒng)類的抽象,我們對結(jié)點分布以及結(jié)點強度和結(jié)點影響進行了全面完整的分析,通過對存在于網(wǎng)絡(luò)圖中的特定屬性的一些分析,重點研究網(wǎng)絡(luò)上結(jié)點與結(jié)點之間影響和密切程度深入的分析,并在最后介紹了一些關(guān)于關(guān)鍵結(jié)點的內(nèi)容。在未來軟件網(wǎng)絡(luò)的工作中,對于軟件結(jié)構(gòu)優(yōu)化和可靠性的分析的問題我們必須還要進行進一步的探討與研究。
8結(jié)語
軟件工程從最初的誕生開始,就一直在致力于開發(fā)具有可用性、正確性以及開銷合宜的具有較高質(zhì)量的網(wǎng)絡(luò)軟件產(chǎn)品,經(jīng)過40多年的奮斗,我們已經(jīng)取得了讓人矚目的成績,但是,現(xiàn)在的網(wǎng)絡(luò)計算機環(huán)境,在互聯(lián)網(wǎng)的基礎(chǔ)之上,規(guī)模不斷的擴大,組成的元素越來越復(fù)雜多樣,部署配置和持續(xù)演化的網(wǎng)絡(luò)下的軟件系統(tǒng),隨著用戶的不斷地擴展和應(yīng)用領(lǐng)域的不斷地擴大,其復(fù)雜度和規(guī)模正在以超越人類大腦處理速度的幾何倍數(shù)的速度成長,使得軟件網(wǎng)絡(luò)工程不得不去面對一個又一個的挑戰(zhàn),如果我們沒有對復(fù)雜系統(tǒng)進行的科學(xué)的理解和認識,一些很小的故障和缺陷就能讓它產(chǎn)生幾乎全局的負面影響,有時候甚至?xí)菫?zāi)難性的。多年以來,復(fù)雜網(wǎng)絡(luò)理論和網(wǎng)絡(luò)思維為我們分析和刻畫提供了非常有力的工具,同時也讓軟件工程和復(fù)雜性的科學(xué)的交叉學(xué)科奠定了基礎(chǔ)。
規(guī)?梢愿淖円磺,我們要用新的視角新的思想來應(yīng)對以后遇到的種種具有挑戰(zhàn)性的問題,尤其是將復(fù)雜的網(wǎng)絡(luò)理論應(yīng)用到軟件網(wǎng)絡(luò)的領(lǐng)域,為我們尋找軟件的本質(zhì)探索出了新的方法和新的思路。
參考文獻:
[1] 張婷.淺析復(fù)雜軟件的網(wǎng)絡(luò)結(jié)點影響[J].計算機光盤軟件與應(yīng)用,2014(10).
[2] 汪北陽,呂金虎.復(fù)雜軟件系統(tǒng)的軟件網(wǎng)絡(luò)結(jié)點影響分析[J].軟件學(xué)報,2013(12).
[3] 宋化境.基于OSS的自動化測試系統(tǒng)的研究與開發(fā)計算機科學(xué)與技術(shù)[D].東南大學(xué),2011.
【復(fù)雜軟件系統(tǒng)的軟件網(wǎng)絡(luò)結(jié)點缺陷與維護的問題和策略論文】相關(guān)文章:
淺析計算機應(yīng)用軟件的開發(fā)和維護論文03-14
常見軟件故障計算機維護論文02-25
探討計算機應(yīng)用軟件的開發(fā)和維護方案論文02-12
中外主流聊天軟件營銷策略對比研究論文02-24
關(guān)于軟件企業(yè)非獨立核算分公司績效管理的問題和策略01-17
軟件無線電技術(shù)雷達系統(tǒng)的應(yīng)用論文03-15
軟件盜版問題的經(jīng)濟學(xué)分析經(jīng)濟論文02-23
系統(tǒng)軟件開發(fā)過程中軟件工程技術(shù)的應(yīng)用論文03-17
- 相關(guān)推薦