軟體構造 6 1健壯性與正確性

2021-10-06 04:55:52 字數 589 閱讀 3057

健壯性:系統在不正常輸入或不正常外部環境下仍能夠表現正常的程度。面向健壯性的程式設計主要有以下特點:

正確性:程式按照spec加以執行的能力,是最重要 的質量指標!正確性和健壯性相比較而言,正確性永不給使用者錯誤的結果,健壯性盡可能保持軟體執行而不是總是退出,兩者在一定程度上而言是存在矛盾的。正確性傾向於直接報錯(error),健壯性則傾向於容錯(fault-tolerance)。

可能的問題

健壯性正確性

瀏覽器發出包含空格的url

跳過空格

返回http 400 bad request error 狀態

跳過壞幀到下乙個幀

配置檔案使用非法字元

忽視非法字元

終端提示配置出錯

奇怪格式的日期輸入

嘗試重新解析

提示無效日期輸入

健壯性:讓使用者變得更容易,出錯也可以容忍,程式內部已有容錯機制。正確性:讓開發者變得更容易,使用者輸入錯誤,直接結束。(不滿足precondition的呼叫)。因此在設計的過程中,對外的介面,傾向於健壯;對內的實現,傾向於正確。在內外部之間做好隔離,防止「錯誤」擴散。

健壯性與正確性

健壯性 robustness 與正確性 correctness 健壯性 robustness 表示系統在不正常輸入或不正常外部環境 下仍能夠表現正常的程度。當出錯後,會退出並提示資訊,或者容錯並轉為正常。乙個具有良好健壯性的軟體會讓使用者變得更容易,因為即使他們出錯也可以容忍,因為程式內部已經有容錯...

軟體構造 第七章第一節 健壯性和正確性的區別

第七章 進入軟體構造最關鍵的質量特性 健壯性和正確性。本節在1 2節的基礎上,重申了robustness and correctness的重要性,澄清了二者之 間的差異,並指明了在軟體構造中處理二 者的典型技術 防禦式程式設計 異常處理 測試 除錯等 健壯性 健壯性原則 面向健壯性程式設計的原則 正...

系統安全 軟體健壯性

最近一年,飛機失事的事情發生了好多起。於是乎,飛機是否是一種安全的出行工具的討論又再一次燃起了戰火。我無意對該話題展開討論,只是可以舉個例子說明一下。如果a城市一年出了10次搶劫事件,b城市一年出了1次殺人事件。那麼可能會有很多人覺得b城市相對更不安全。正是因為飛機失事一般會帶來非常嚴重的後果,所以...