軟體開發生命周期
混沌模型指出,生命周期的每個階段都應被套用到項目的所有層次上,從整個項目到單獨的代碼行。
整個項目必須被定義好、實現好、集成好。
(項目的)各個系統必須被定義好、實現好、集成好。
(系統的)各個模組必須被定義好、實現好、集成好。
(模組的)各個功能必須被定義好、實現好、集成好。
(功能的)各行代碼必須被定義好、實現好、集成好。
在觀念上的一個重大變革是關於項目是能被看成一個整體、還是必須被看成一些零部件的組合。沒人能一次寫出數千行代碼,人們只能每次寫幾行代碼的小片段、並測試這些小片段是否能正常工作,依此來一點一點搭建整個項目。一個複雜系統的行為發端於這些小建築塊的行為的組合。
混沌策略
混沌策略是基於混沌模型的軟體開發策略,其主要規則是永遠先解決最重要的問題。
解決問題意味著拿出一個穩定的方案。
混沌策略描述了程式設計師如何在有一份“待修復缺陷及待實現功能”列表的情況下完成某個項目的。通常,有專人為剩餘的任務指定優先權,程式設計師們再一個一個解決它們。混沌策略認為這才是唯一行之有效的完成工作的方法。
與混沌理論的聯繫
兩者之間有許多聯繫:
混沌理論
混沌理論(
Chaos theory)是關於
非線性系統在一定參數條件下展現
分岔(bifurcation)、周期運動與非周期運動相互糾纏,以至於通向某種非周期有序運動的理論。在
耗散系統和
保守系統中,混沌運動有不同表現,前者有
吸引子,後者無(也稱含混吸引子)。
從20世紀80年代中期到20世紀末,混沌理論迅速吸引了數學、物理、工程、生態學、經濟學、氣象學、情報學等諸多領域學者有關注,引發了全球混沌熱。混沌,也寫作渾沌(比如《
莊子》)。自然科學中講的混沌運動指確定性系統中展示的一種類似
隨機的行為或性態。確定性(deterministic)是指方程不含隨機項的系統,也稱
動力系統(dynamical system)。典型的模型有
單峰映象(logistic map)疊代系統,
洛倫茲微分方程系統,
若斯叻吸引子,杜芬方程,
蔡氏電路,
陳氏吸引子等。為渾沌理論做出重要貢獻的學者有
龐加萊、
洛倫茲、上田睆亮(Y. Ueda)、
費根堡姆、
約克、
李天岩、斯美爾、
芒德勃羅和
郝柏林等。混沌理論向前可追溯到19世紀
龐加萊等人對天體力學的研究,他提出了
同宿軌道、
異宿軌道的概念,他也被稱為渾沌學之父。
混沌行為可以在許多自然系統中被觀測到,例如天氣和氣候。對於這個行為的研究,可以通過分析混沌
數學模型,或者通過諸如遞歸圖和
龐加萊映射等分析技術。