質量.軟體.管理--系統思維(15)

husthxd發表於2009-07-28

第15章 錯誤排除動力

- 基本的錯誤排除動力,實際上就是規模/複雜度動力的另一種表現形式。隨著軟體系統規模的不斷擴大,將會出現更多的錯誤,同時每個錯誤(在排除過程中)的複雜度也將提高--這樣,就會使在錯誤排除方面需要的時間總量以非線性的速度增加。

- 由於副作用的存在,給錯誤排除增加了更多的非線性。你在不經意之間所做的某個改動,很可能會引發其他地方的改動--如果你不捨得花時間對這類副作用進行分析研究,那麼你必將招致這些副作用,並最終自食其果。

- 最顯而易見的一類副作用發生在錯誤反饋方面,這種作用的強度可以透過錯誤反饋率這一指標進行度量。所謂的錯誤反饋,實際上就是指在修正原有錯誤的同時,又引發了(更多)新的錯誤。這裡所說的錯誤即可以是功能性的,也可能是系統效能方面的。

- FFR是可以指示專案控制水平衰退的一個敏感指標。如果對一個專案的控制良好,那麼隨著專案最終期限的臨近,FFR應該逐漸降低,直到最後降為零。

- 為了將FFR置於我們的控制之下,一種辦法就是建立一套嚴格的規定--對每一錯誤排除的結果(哪怕只修改了一行程式碼),都要進行仔細的複查。如果我們天真地認為小範圍的改動不至於引起大問題,那麼實際上,這些小改動往往將會比更大的改動引發出更多的問題。

- 除了錯誤以及效能不足等方面之外,軟體系統的退化還會表現在其他一些方面;而且,透過常規的測量指標,並不能反映出這些問題。這類問題的例子有:設計的整體性受到破壞、文件未能更新以及程式碼風格不一致等。所有這些問題,都會進一步降低系統的可維護性。

- 如果模組(或者成為黑盒)的整體性受到破壞,那麼在對系統進行後續調整的時候,連鎖效應將會越來越強烈。也就是說在這種情況下,對系統的每一次更改,都會引起很多地方的更改。

- 為了避免系統的質量退化,他們不僅要對系統本身進行維護,同時還要對其可維護性進行維護。

- 無論是管理人員還是開發人員,都會自認為不會在系統維護方面遇到多少麻煩。因此在最初的設計階段,他們都會顯得信心十足。在這種有目的的自信支配下,人們會天真地認為自己的程式碼絕對不會出現問題面前--正是由於這種觀念的作用,他們往往會重蹈泰坦尼克號的覆轍。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-610672/,如需轉載,請註明出處,否則將追究法律責任。

相關文章