三、軟件缺陷混沌行為分析與質量控制
假定在操作過程開始前,面包師先在面團上滴一滴紅著色劑,那么,在揉面團過程中液滴同時被拉長、變薄,再折疊起來。隨著面包師的操作不斷重復進行,液滴被不斷伸縮和折疊。經過足夠長時間反復操作,就會發現面團中很多紅色和白色交替出現的層次,原來相鄰的兩個著色劑微粒越來越相互分離,原來不相鄰的兩個微?赡茉絹碓娇拷。據估計,這樣反復操作只需進行20次,最初的著色劑滴長度就會被拉長到100萬倍以上,其厚度則減小到分子水平。這是著色劑與面粉已經充分混合均勻了,在迭代至千次后所得結果即系統出現混沌。
就像面包師揉面團一樣,軟件缺陷也伴隨這軟件分叉的過程而不斷分叉。軟件功能細分到什么程度,軟件缺陷也擴散到什么程度,并與軟件融為一體。
軟件缺陷生長是一個受限生長和適應的過程。軟件缺陷的多少,軟件分叉數目的多少,取決于系統開發過程中的外界壓力或條件限制,也就是外界質量控制因素的干擾。
貝諾勒變換
混沌控制模型
混沌系統的一個特點是對初值的敏感性。對于軟件缺陷擴散的混沌特性來說,如果能有效控制其初值,或對初始態施加“微擾”,那么就有可能將軟件失效的混沌過程變成為非混沌過程。
混沌控制大致歸納為兩大類:
第一類是基于在混沌奇怪吸引子閉包內存在無窮多不穩定的周期軌道,控制的目標是根據人們的意愿在這些軌道中選擇一條滿足要求的周期軌道并進行有效的穩定控制,該控制的特點是并不產生新的周期軌道而只是將軌道固定。
第二類控制則沒有具體的控制目標,也不關心被控系統的終態是否為周期運動,只是通過合適的策略、方法及途徑,有效抑制混沌行為,使Lyapunov指數下降進而消除混沌。
軟件質量的宏觀控制架構
可以采用第二類混沌控制方法, 設計一個以“初始狀態”為出發點的控制模型。
由于這個模型主要應用了混沌思想為基礎,即對初值的敏感性,所以,我們稱其為軟件質量混沌控制模型。
為了實現對軟件質量的管理和控制,將整個過程管理和控制分為兩個大部分,一個軟件內部過程管理與控制,一個是軟件外部過程監理。
1、軟件內部過程管理與控制
軟件內部過程管理與控制分為兩個部分,一是軟件內部過程管理,它的主要構架和應用是一些宏觀的過程管理方法和應該注意的問題,比如,分形公司管理,競技軟件工程方法,靜室軟件工程,耗散結構管理,印象管理,孤立波質量管理,李比希最小定律控制;二是軟件質量控制技術方法,包括,加速混沌,經驗列表,定點清除,軟件測試等具體技術。
l 2、軟件外部過程監理
軟件過程監理體系是由項目業主、開發商、監理單位直接參加的“三方”管理體制。這種管理體制是目前工程項目建設的國際慣例,是世界上絕大多數國家公認的工程項目建設的重要原則。它將參加工程項目建設的三方緊密地聯系起來,形成既有利于相互協調又有利于相互約束的最穩定的三角組織系統,為實現工程項目總目標奠定了組織基礎。
l 3、混沌過程控制系統
加速混沌方法
“面包師揉面團”的例子可以用它來提高軟件質量。比如一個好的技術方法,也可以看成是放入面團中一滴藍色。我們利用有限擴散凝聚迭代的方法,經過“若干次”的迭代后,這種“方法”和“思想”便完全融于一個系統內。而在這個迭代過程中,初值被迭代消耗殆盡,換句話說,好的方法已融于軟件之中。
定點清除方法
一個軟件缺陷,在經過“無數次”設計細分后,這個缺陷很可能演變成數量驚人的軟件“暇疵”分布或散布于整個軟件系統中。 “清除”缺陷最好的辦法是在問題出現“最開始”時就將其清除掉。由于設計初期涉及的內容或方面比較少,缺陷也比較容易發現。
我們用“定點清除”或“精確打擊”來形容對設計初期某一個問題的“摘除”,其意思有兩個,一自然是要將問題鏟除掉;二是指范圍比較小,容易準確地定位;三是必須是在開始,為的是防患于未然。
四、軟件缺陷產生的復雜性分析
耗散結構
耗散結構(Dissipative Structure)是由比利時布魯塞爾學派的科學家伊里亞·普里高津(Ilya Prigogine)于1967年在一次理論物理和生物學國際會議上發表的論文《結構、耗散和生命》中針對熱力學和統計物理學從平衡態到近平衡態再到遠離平衡態發展所作的研究而提出的。由于這一成就,普里戈津獲1977年諾貝爾化學獎。
軟件系統的耗散性與復雜性
一個軟件系統在開發的過程中,只有不斷從外界獲得能量,軟件才能不斷的成熟,最后達到用戶需求的目標。一個軟件系統只有遠離用戶的要求,它才能有被繼續開發的必要。如果其功能和性能基本達到用戶的要求,即離目標很近,那么,開發活動可能會減慢或停止。
一個軟件系統會逐步由低級向高級進化,而不會出現由較高級別向較低級別退化。由于軟件的進化,使得軟件或其過程更加組織化和有序化,從而使軟件或過程獲得的適應性得到穩定,并且在此基礎上繼續發展。
文章來源于領測軟件測試網 http://www.kjueaiud.com/