一、發展介紹
霍金說:復雜性是21世紀的科學。
1967年普利高津提出的耗散結構理論,將“世界末日論”和進化論進行了統一。
1970年代初法國數學家雷內·托姆(Rene.Thom)創立了突變論;
1971年聯邦德國斯圖加特大學教授、著名物理學家哈肯(Haken Herrnann)提出了協同理論;
1970年德國科學家M·艾根(Manfred Eigen)提出了超循環論;
1972年美國麻省理工學院教授E.N.洛倫茲提出了混沌理論;
1975年美國數學家曼德布羅特(Benoit.B.Mandelbrot)提出了分形的概念。
90年代,桑塔研究所(Santa Fe Institute)在復雜系統自適應方面做了一些工作。除此以外,還有馬卡洛和匹茨(McCulloch and Pitts)的神經網絡,馮·諾依曼的元胞自動機,維納(N. Wiener)的控制論, 錢學森提出的復雜巨系統。復雜性的研究正在成為全球科學研究的一個熱點。
質量是一個非常古老的話題,而軟件質量的研究甚至可以追述到計算機發明,0-1代碼被使用那個時候,不過大家開始注意軟件質量是在軟件危機被提出的1968年。
軟件質量的發展經過了兩大時期,一是1976年Boehm第一次提出了軟件質量度量的層次模型,到1992年成為軟件質量度量的ISO標準, 二是1987年9月CMM由卡耐基-梅隆大學SEI提出,到2001年敏捷方法被提出。 作者認為,軟件質量的發展將迎來其發展的第三大時期----軟件質量復雜性研究。
軟件復雜性增加的直接結果就是軟件缺陷和可能出現的錯誤的復雜性增加。從這個角度看,軟件質量的控制將變得越來越復雜和困難。因此,如果用傳統的方法來描述軟件的復雜性和軟件缺陷的復雜性,顯然工具的使用不合適宜。
軟件復雜性研究是科學技術發展的必然趨勢。但是,從目前各國對軟件質量復雜性方面的研究來看,使用現代工具(進化論、熵理論、耗散結構理論、協同學、超循環論、混沌理論、分形理論、元胞自動機等)的人并不多 。
二、軟件缺陷分形行為分析與質量控制
軟件缺陷生長過程實驗
由于在自然界中存在著很多凝聚現象,人們常常用有限擴散凝聚(Diffusion-Limited Aggregation,簡稱DLA)過程來模擬其自相似結構,它可以用于預測某些實際隨機凝聚過程的生長速率與時間的關系,以及它們的機制和輸運性質。1983年米金(Meakin P)對DLA模型作了修正,認為在DLA模型中有一個不動的凝聚中心顯然是不符合實際情況的。
L—系統的第一個字母L源于美國生物學家A. Lindenmayer (1929-1989)姓名中的L字母,開始,它只是作為描述植物形態與生長的一種方法。
分形的自相似性和壓縮映射的不動點原理是Hutchison于1981年首先提出的,繼而美國的Georgia理工學院的數學教授M. Barnsley于1985年發明了迭代函數系統(Iterated Function System)IFS?!?/P>
IFS不僅是描述分形的強有力的數學工具,也是可以作為描述軟件缺陷分形的工具。
軟件缺陷迭代的相關定義
SIMULATION OF DEFECT GROWTH
組合分叉缺陷數估計公式
受限制軟件缺陷數
軟件過程缺陷生長“達爾文樹”
軟件開發階段所有軟件缺陷的總和
分形剪枝方法
軟件缺陷的生長是一種一個分形樹狀結構。對軟件缺陷分形樹狀結構的修剪,是一條行之有效的軟件質量控制措施,有效的剪枝可以有效地控制軟件缺陷的擴散。但是,剪枝方法對軟件系統的傷害也是比較大的。剪枝即可能去掉軟件的缺陷,也會將正確的程序或文檔部分去掉。
軟件開發過程中,質量控制的方法應該包括兩種,一是剪枝操作,它是按照人的意愿對軟件中的缺陷進行的一種部分內容的刪除操作。這種活動是一種雙刃劍,它可以去除設計成果中的缺陷,也可能會對軟件設計成果造成傷害。傷害的大小取決與對主枝的操作還是分枝的操作。二是修改操作,它是按照人的意愿對軟件中的缺陷進行的一種部分內容修改的操作。由于是修改,而非刪除操作,因此,操作的結果即有原成果的痕跡,也有人為大的痕跡。
原文轉自:http://www.anti-gravitydesign.com