復雜軟件系統的軟件網絡結點缺陷與維護的問題和策略論文
摘要:軟件的質量直接受軟件體系結構的好壞影響,很長時間以來,人們一直非常重視研究軟件的體系結構,隨著互聯網技術的發展,軟件可以實現越來越強大的功能,同時復雜度也是變得越來越高,軟件的體系結構有了不同粒度、多層次的方式。基于有向軟件網絡的圖論的概念發展出來了復雜軟件中的軟件網絡結構的思想,軟件網絡的各個特性應被應用統計學的方法來研究,如:結構穩定、幾何特質、幾何性質學等,可以發現復雜的軟件體系在一定的程度上被網絡節點影響著,為了促進軟件的體系完善與結構的優化,我們應當認真地分析結點的影響。
關鍵詞: 軟件系統;節點;網絡;缺陷
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
在軟件開發的實際過程當中潛在的軟降缺陷在一個復雜的軟件系統中占有很大的比例,而且它只會導致比較少的軟件制作時的失敗,通過觀察發現的占有絕大多數的軟件的失敗一般是由非常少部分或者可以說是極少的部分的而且是潛在性的缺陷導致的。當把軟件中的大部分的缺陷清除掉之后,只會微不足道的影響軟件的可靠性。但是當清除了那些“大規模”而且只占極少比例的缺陷的時候,才會顯著地增強軟件的可靠性。
1大多數的缺陷往往包含在少數的模塊中
在一些測試軟件中,我們發現大多數的缺陷,往往存在于少數的模塊當中。在運行的軟件中,往往只有極少數模塊會包含絕大多數的缺陷。當然,在這個現象當中我們以前所說的模塊的復雜性并不能準確地解釋,其次我們也不能用模塊的規模加以分析。通常來講模塊存在的缺陷密度會和我們聲稱的模塊的規模有關,而且通常意義上模塊的缺陷傾向性和模塊的錯誤傾向性可以很好地被軟件的復雜性度量鎖預測的說法存在一定的證據上的支持。最后,我們還可以斷定一個結論:我們發現的存在于測試軟件中缺陷,要比已經使用一年的軟件中所發現的要多得多。
為了極大地減少查找軟件缺陷和軟件測試的成本,一些對軟件的實際運行影響有著概率很小或者可以說是幾乎沒有的缺陷,我們可以在找到軟件的缺陷傾向性模塊的情況下忽略掉,當然,這要根據軟件產品的那一套質量成本理論來判斷。這樣,我們不僅會明顯的降低軟件的質量同時又可以在一定的程度上節約軟件的開發成本。這項研究在開發軟件的商業角度上具有比較好的成本和質量平衡的指導意義。
2軟件的容錯基礎是軟件的結構
軟件的質量在很深的程度上是受軟件的結構影響的。正所謂軟件的容錯基礎是軟件的結構。其實事實上,軟件的開發和研究人員一直在追求的“低耦合,高內聚”的特性只是在軟件的開發實踐中的一個美麗的愿望而已,因為我們是無法在根本上避免軟件開發工程中出現的高耦合的情況的。因此,軟件格斗設計的合理性,對軟件的穩定性和可靠性以及軟件的后期維護等質量上所存在的特性都有著非常重要的影響。
3抽取八軟件系統構成成分中某種粒度上的單位部分為結點,是研究軟件網絡的常用方法
研究軟件網絡的常用方法,是抽取軟件系統構成成分中某種粒度上的單位成分(類、包、模塊或組件等)為結點,將這些單位成分互相之間的依賴關系(繼承、調用、消息等)構成軟件的網絡。就目前而言,通過長時間的研究,我們可以認為,軟件中存在的變更、缺陷等的傳播問題是由于軟件是一種復雜網絡的結構,所以其有著比較小的傳播代價。因為缺陷、漣漪效應、變更等在一定的程度上都是很容易就可以擴散到別的網絡結點上的。從仿真的手段得到的證明和理論上邏輯分析來看,上面我們所說的有關軟件變更或缺陷問題傳播的代價的結論是有著一定的說服力的。在大量的有關軟件系統中包含的網絡結構的研究下針對這樣的矛盾,我們引發上述情況的一些問題的所在:就目前而言,我們所研究的軟件缺陷、變更是以復雜復雜的網絡理論作為比較強的指導的。一般大多都是軟件的類、模塊、包等構成軟件的網絡結點。一般情況下結點間的連通性可以通過這些單元之間的依賴關系所構成的網絡結點的邊反映的。
4軟件網絡
在網絡形式表述軟件結構時,通常會在不同粒度上抽選網絡,例如包、類、方法等。軟件網絡就是由不同的粒度簡化成的結點和他們的相互依賴關系簡化成的邊所構成的軟件結構。Valverde等人在2002年,以軟件工程中的類圖為研究對象對軟件網絡進行了最早的研究,研究中軟件系統用無向網絡表示,類用網絡中的結點表示,邊是類之間的繼承和關聯關系。對JDK的統計特性進行了系統的分析。分析結果顯示:“小世界”和“無尺度”兩個特性在兩個軟件系統的結構中得到了非常明顯的展現。
“小世界”特性:網絡中連接任何一兩個節點的到最短路徑的邊的數目為兩節點間的距離,則所有節點對之間距離的平均值為網絡的平均最短路徑長度,其用于表述網絡節點間的分離程度。在研究中發現,“小世界”特性為, 大部分規模大的真實系統被抽象成為網絡后,它的平均最短路徑長度比想象的要小的很多現象。
“無尺度”特性:與該節點連接的相鄰節點的數目通常被定義為節點的度,而網絡的平均度即節點的度的平均值。理論上其他全局特征參數的量化數值都可以通過度分布計算得出,一個重要的發現在復雜網絡研究中被指出,大部分的規模較大的真實系統向對應的網絡的度分布都服從冪律分布。這就是“無尺度”特性,然而Myers的研究表明,單純的使用無向網絡模型可能會推算出錯誤的軟件工程原則,所以邊的方向軟件網絡中也是有意義的。
5軟件網絡的結點缺陷不能通過較小的代價傳遞給其他結點
軟件網絡是一個比較復雜的網絡,那么為什么它的結點缺陷并不能通過比較小的代價來傳遞到其所連通的其他結點中呢?文就這個現象做了研究,對其部分原因做出了解答,并且分析和證實出了不同之間的結點對軟件變更和缺陷等傳播問題的影響。本文為了研究這些問題構建了一個軟件網絡,構建這個軟件網絡時,同時考慮了結點散播信息的能力、結點收集信息的能力和不同方法層之間相互依賴的關系等問題。通過之前構建的這個軟件網絡,我們可以勾畫出一個軟件網絡各個結點的測量影響值的矩陣。在這個矩陣里面儲存了該軟件網絡的加權依賴關系,所以我們可以通過研究這個矩陣來得出軟件網絡的加權網絡特性。得出來的這些關系數據能夠很精確的表現出真正的軟件網絡的很多特性。
6WSNNI的統計特性及相應的結點影響分析
加權網絡在很多方面是和復雜網絡是相同的。我們下面要講一下WSNNI模型下某些加權網絡的特性,并由這些特性來分析結點在加權網路中的影響。對于這些影響,我們給出了四個假設。在結點強度的問題上,通過一些數據和統計,我們可以很明顯的看出,結點強度分布就是結點在結點加權網絡中的相互之間影響的分布。通常,小的結點要和大的結點相互連接。大多數結點強度較小,少部分結點強度較大。最早存在的結點能夠連接很多的結點,而后面的結點連接的就顯得少了很多。關于這方面,很多文獻給予了詳細表述,這里就不贅述了。在有關加權路徑和平均最短加權路徑的問題上,在WSNNI的測試中,平均路徑值對結點影響也比較大。經過測試發現,當平均路徑值小時,結點之間的影響就大。而且平均最短路徑反映的是軟件的耦合強度,同時軟件的耦合強度又會直接影響變更的難度和軟件維護的問題。平均最短路徑越大,耦合強度就會越弱,結點間的傳播代價就會越大,反之亦然。在這里存在的無權網絡,就是權值為一的加權網絡。無權網絡權值要大于加權網絡。無權網絡最短路徑比加權網絡小,所以其反映的網絡結點影響要遠遠大于加權網絡。
在研究網絡結點時,我們發現結點中存在少數結點,它的入點和出點強度都大于其他結點。而與它們相鄰的結點的影響測度值都很大。我們經過很多測試之后發現一個問題,即許多測試前發現的錯誤在測試中并不能體現出來,同時在測試中發現的很多錯誤在實際運行中也無法發祥。據此,我們通過研究結點傳播的關系發現,只有關鍵結點的錯誤才能很好地傳播下去,而非關鍵結點的錯誤很可能在傳播過程中消失。
7網絡軟件正向著高復雜度、大規模化的方向發展
隨著科學技術的不斷進步,摩爾定律推導的計算機技術的發展,以及其所帶動的計算機軟件網絡的進步,生活中各個領域都離不開軟件的應用。網絡軟件已經向著高復雜度、大規模化的方向發展著,所以應用軟件的質量在很大的程度上越來越受到軟件的體系結構所帶來的影響。網絡結點是我們對軟件系統類的抽象,我們對結點分布以及結點強度和結點影響進行了全面完整的分析,通過對存在于網絡圖中的特定屬性的一些分析,重點研究網絡上結點與結點之間影響和密切程度深入的分析,并在最后介紹了一些關于關鍵結點的內容。在未來軟件網絡的工作中,對于軟件結構優化和可靠性的分析的問題我們必須還要進行進一步的探討與研究。
8結語
軟件工程從最初的誕生開始,就一直在致力于開發具有可用性、正確性以及開銷合宜的具有較高質量的網絡軟件產品,經過40多年的奮斗,我們已經取得了讓人矚目的成績,但是,現在的網絡計算機環境,在互聯網的基礎之上,規模不斷的擴大,組成的元素越來越復雜多樣,部署配置和持續演化的網絡下的軟件系統,隨著用戶的不斷地擴展和應用領域的不斷地擴大,其復雜度和規模正在以超越人類大腦處理速度的幾何倍數的速度成長,使得軟件網絡工程不得不去面對一個又一個的挑戰,如果我們沒有對復雜系統進行的科學的理解和認識,一些很小的故障和缺陷就能讓它產生幾乎全局的負面影響,有時候甚至會是災難性的。多年以來,復雜網絡理論和網絡思維為我們分析和刻畫提供了非常有力的工具,同時也讓軟件工程和復雜性的科學的交叉學科奠定了基礎。
規模可以改變一切,我們要用新的視角新的思想來應對以后遇到的種種具有挑戰性的問題,尤其是將復雜的網絡理論應用到軟件網絡的領域,為我們尋找軟件的本質探索出了新的方法和新的思路。
參考文獻:
[1] 張婷.淺析復雜軟件的網絡結點影響[J].計算機光盤軟件與應用,2014(10).
[2] 汪北陽,呂金虎.復雜軟件系統的軟件網絡結點影響分析[J].軟件學報,2013(12).
[3] 宋化境.基于OSS的自動化測試系統的研究與開發計算機科學與技術[D].東南大學,2011.
【復雜軟件系統的軟件網絡結點缺陷與維護的問題和策略論文】相關文章:
談計算機軟件系統維護與維修手段論文02-27
淺析計算機應用軟件的開發和維護論文03-14
常見軟件故障計算機維護論文02-25
探討計算機應用軟件的開發和維護方案論文02-12
中外主流聊天軟件營銷策略對比研究論文02-24
軟件無線電技術雷達系統的應用論文03-15
軟件盜版問題的經濟學分析經濟論文02-23
系統軟件開發過程中軟件工程技術的應用論文03-17
- 相關推薦