歡迎您光臨本站 註冊首頁

提高軟體質量的基本方法

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  
質量的死對頭是缺陷,缺陷是混在產品中的人們不喜歡、不想要的東西。缺陷越多質量越低,缺陷越少質量越高。

Bug是缺陷的形象比喻,人們喜歡說Bug是因為可以把Bug當作"替罪羊"。軟體的缺陷明明是人造成的,有了Bug這個詞后就可以把責任推給Bug--"都是Bug惹的禍"。唉,當一隻Bug真是太冤枉了!

軟體存在缺陷嗎?是的,有以下典故為證。

編程大師說:"任何一個程序,無論它多麼小,總存在著錯誤。"

初學者不相信大師的話,他問:"如果有個程序小得只執行一個簡單的功能,那會怎麼樣?"

"這樣的程序沒有意義,"大師說,"但如果這樣的程序存在的話,操作系統最後將失效併產生錯誤。"

但初學者不滿足,他問:"如果操作系統不失效,那會怎麼樣?"

"沒有不失效的操作系統,"大師說,"但如果這樣的操作系統存在的話,硬體最後將失效併產生錯誤。"

初學者仍不滿足,繼續問:"如果硬體也不失效,那會怎麼樣?"

大師長嘆一聲道:"沒有不失效的硬體。但如果這樣的硬體存在的話,用戶就會想讓那個程序做一件不同的事,這件事也是個錯誤。"

沒有錯誤的程序世間難求。(摘自《編程之道》)

錯誤是嚴重的缺陷。醫生犯的錯誤最終會被埋葬在地下,從此一了百了。但軟體的錯誤不會自動消失,它會一直騷擾用戶。據統計,對於大多數的軟體產品而言,用於測試與改錯的工作量和成本將佔整個軟體開發周期的30%,這是巨大的浪費。如果不懂得如何有效地提高軟體質量,項目會付出很高的代價,你(開發人員)不僅沒有功勞,也沒人欣賞你的苦勞,你擁有最多的將只是疲勞。

怎樣才能提高軟體的質量呢?

還是先來聽一個中國郎中治病的故事吧!

在中國古代,有一家三兄弟全是郎中。其中有一人是名醫,人們問他:"你們兄弟三人誰的醫術最高?"

他回答說:"我常用猛葯給病危者醫治,偶爾有些病危者被我救活,於是我的醫術遠近聞名並成了名醫。我二哥通常在人們剛剛生病的時候馬上就治癒他們,臨近村莊的人都知道他的醫術。我大哥深知人們生病的原因,所以能夠預防家裡人生病,他的醫術只有我們家裡才知道。"

提高軟體質量的基本手段是消除軟體缺陷。與上述三個郎中治病很相似,消除軟體缺陷也有三種基本方式:

(1)在開發過程中有效地防止工作成果產生缺陷,將高質量內建於開發過程之中。這就是"預防勝於治療"的道理,無疑是最佳方式,但是要求開發人員必須懂得正確地做事(門檻比較高)。我們學習"高質量編程"的目的就是要在幹活的時候一次性編寫出高質量的程序,而不是在程序出錯后才去修補。

(2)當工作成果剛剛產生時馬上進行質量檢查,及時找出並消除工作成果中的缺陷-這種方式效果比較好,人們一般都能學會。最常用的方法是技術評審、測試和質量保證等(詳見本章1.4節),已經被企業廣泛採用並取得了成效。

(3)當軟體交付給用戶后,用著用著就出錯了,趕緊請開發者來補救,這種方式的代價最高。可笑的是,當軟體系統在用戶那裡出故障了,那些現場補救成功的人倒成了英雄,好心用戶甚至還寄來感謝信。:

【責任編輯:book TEL:(010)68476606】
 


[火星人 ] 提高軟體質量的基本方法已經有373次圍觀

http://coctec.com/docs/program/show-post-71293.html