@軟體構造 複習筆記一
內部質量指標——開發者
外部質量指標——使用者
其中,使用者高於開發者,外部指標高於內部指標
正確性–spec
健壯性–處理spec中沒有包含的情況,可以認作是對正確性的補充
健壯性是軟體系統對異常情況做出適當反應的能力,確保如果出現此類情況,系統不會導致災難性事件;它應生成適當的錯誤訊息,乾淨地終止執行,或進入所謂的「優雅降級」模式。
健壯性同異常情況相關,異常或非異常取決於程式的規格說明,異常情況是程式的規格說明中沒有涉及的部分。
判斷是否異常是異常的標準,不取決於客觀的正確標準,而取決於程式的規格說明。
可擴充套件性(維護性)–應對異常的變化指標
規模越大,越難以擴充套件。
兩個提高可擴充套件性的原則:
簡單的體系結構總是比複雜的體系更容易適應變化。
模組自治性越強,變化時對其餘模組影響 越小。
可復用性–多次使用
可理解性–顯而易見
效率–軟體效能,但要以正確性為前提。忌過早優化
其中,後五條是五大質量元素
loc,耦合性,聚合性,可理解性
正確性,健壯性,可擴充套件性,可復用性,相容性,可移植性,簡易性,功能性,即時性,可驗證性,可修復性等。。。
軟體構造 複習筆記五
萬用字元 只能在使用 現,不能定義 不能用instance of檢驗泛型 不能構建泛型陣列 lsp原則 子型別的規約不能弱於父型別的規約 靜態分派 編譯階段確定執行操作 動態分派 編譯階段可能繫結到多型操作,執行階段確定具體執行哪乙個 推遲繫結 編譯階段不知道型別,一定是動態分派 override是...
軟體構造複習
1.3.1 瀑布式開發過程 基本活動 制定計畫 需求分析 軟體設計 程式編寫 軟體測試 執行維護 問題 階段劃分僵硬,每個階段不能預設,而且產生大量文件,增加了工作量 開發是線性的,只有等到整個過程的末期才能見到開發成果 可執行軟體,不利於快速響應變化的需求 早期的錯誤要等到開發後期的測試階段才能發...
軟體構造複習3 5
vs equals 對於基本資料型別,使用 非基本資料型別,其值表示的是位址,類似指標。物件型別使用equals,使用的是overload,因此要注意好引數的型別,不同的型別會導致對比的依據不同 對於inreger,使用 要求範圍在 128 127之間,可以直接比較 overload vs over...