軟體系統複雜度守恆原理

2021-09-07 22:18:23 字數 422 閱讀 2225

名詞

軟體系統:由軟體的立項、設計、實現、執行/運營、維護等行為以及子系統、模組、功能等元素構成。

行為:與軟體系統相關的,由人或自動化程式參與的工作。

元素:構成軟體系統的靜態實體。

定理:軟體系統複雜度守恆原理

軟體系統的總複雜度是恆定的。複雜度可以從一種元素中轉移到另外一種元素中,也可以從一種形式轉換為另外一種形式。

推論:軟體系統複雜度只增原理

向系統中新增任何額外的元素,或增加任何與系統相關的額外行為,都只會使複雜度上公升。

1 新增任何元素,如引入新的工具、方**、模式,新增新的功能等,都會增加複雜度;

2 增加任何額外行為,甚至包括企圖將低複雜度的行為(如削減功能),都會增加複雜度。

軟體複雜度評價

在應用軟體和嵌入式產品 包括硬體 嵌入式軟體 的可靠性設計中,有一條基本原則就是 簡單可靠 分析軟體複雜度,可以支援對軟體的質量檢查 應用分析 以及評估後續維護成本,方便查明那些可能導致錯誤的 比如開展圈複雜度分析技術,對軟體進行結構測試。以軟體複雜度測量的數目為基礎,幫助工程師識別難於測試和維護的...

複雜度分析 時間複雜度 空間複雜度

執行效率是演算法的乙個重要的考量指標,演算法的執行效率用時間 空間複雜度來衡量。今天我們來學習一下複雜度的分析。通常我們可以通過執行程式來獲得演算法的真正的執行時間,這種方法我們可以稱為事後統計法,但這種方法得到的是具體的資料,測試結果很依賴測試環境,而且受資料規模影像最大。因此,我們需要乙個不需要...

演算法複雜度 時間複雜度和空間複雜度

1 時間複雜度 1 時間頻度 乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測試才能知道。但我們不可能也沒有必要對每個演算法都上機測試,只需知道哪個演算法花費的時間多,哪個演算法花費的時間少就可以了。並且乙個演算法花費的時間與演算法中語句的執行次數成正比例,哪個演算法中語句執行次數...