在電腦界,混沌模型是一種軟體開發的結構。其創始者曾使用 L.B.S.Raccoon 的筆名指出,諸如螺旋模型瀑布模型的專案管理模型雖然擅長於管理日程表和員工,但並未提供如何修復缺陷等解決其它技術問題的方法;與此同時,程式設計方法學雖然對修復缺陷及解決其它技術問題有效,但在管理截止日期或回應客戶請求的方面並無幫助。此種模型試圖橋接此一溝壑。混沌理論被用來幫助理解這裡所出現的問題。[1]

軟體開發生命周期

編輯

混沌模型指出,生命周期的每個階段都應被套用到專案的所有層次上,從整個專案到單獨的代碼行

  • 整個專案必須被定義好、實現好、整合好。
  • (專案的)各個系統必須被定義好、實現好、整合好。
  • (系統的)各個模組必須被定義好、實現好、整合好。
  • (模組的)各個功能必須被定義好、實現好、整合好。
  • (功能的)各行代碼必須被定義好、實現好、整合好。

在觀念上的一個重大變革是關於專案是能被看成一個整體、還是必須被看成一些零部件的組合。沒人能一次寫出數千行代碼,人們只能每次寫幾行代碼的小片段、並測試這些小片段是否能正常工作,依此來一點一點搭建整個專案。一個複雜系統的行為發端於這些小建築塊的行為的組合。

混沌策略

編輯

混沌策略是基於混沌模型的軟體開發策略,其主要規則是永遠先解決最重要的問題

  • 問題是未完成的編程任務。
  • 最重要的問題包括以及這三個方面。
    • 問題向使用者提供功能點。
    • 問題亟需解決,否則可能會耽誤其它工作。
    • 問題在解決並測試之後就被認為是可信任的,這樣開發人員可以安全地著眼於其它地方。
  • 解決問題意味著拿出一個穩定的方案。

混沌策略描述了程式設計師如何在有一份「待修復缺陷及待實現功能」列表的情況下完成某個專案的。通常,有專人為剩餘的任務指定優先級,程式設計師們再一個一個解決它們。混沌策略認為這才是唯一行之有效的完成工作的方法。

混沌策略受到了圍棋戰術的啟發。

兩者之間有許多聯絡:

  • 混沌模型有助於解釋為何軟體經常無法預測。
  • 揭示了為何諸如電腦架構這樣的進階概念不可以在底層代碼中單獨考慮。
  • 以混沌策略的形式提供了揭示下一步做什麼的提示。

參見

編輯

參考文獻

編輯
  1. ^ ACM Digital Library, The chaos model and the chaos cycle頁面存檔備份,存於網際網路檔案館), ACM SIGSOFT Software Engineering Notes, Volume 20 Issue 1, Jan. 1995

延伸閱讀

編輯