软件工程--第五章-- 总体设计
文章目錄
- 設計原理
- 模塊化
- ==模塊獨立性 (最重要的特性)==
- 抽象
- 逐步求精
- 啟發式規則
- 圖形工具
- 面向數據流的設計方法
- 概要設計說明書
系統的總體設計=概要設計/初步設計
這個階段任務:劃分出組成系統的物理元素——程序、文件、數據庫、人工文檔等;設計軟件結構,系統之間的模塊
總體設計主要由兩個部分組成:系統設計階段;結構設計階段
步驟:
設計原理
模塊化
含義:每個子模塊實現一個子功能
依據:一個問題的復雜度 > 將其分解為若干子問題的復雜度
每個程序都有一個最適當的模塊數量,使得系統開發成本最小。
模塊獨立性 (最重要的特性)
1.獨立性很重要
模塊獨立程度可以由兩個定性標準度量:耦合與內聚
2.耦合:指軟件結構內不同模塊彼此之間相互依賴(連接)的緊密程度。
分類:
- 數據耦合低耦合,
-
控制耦合 中耦合,增加系統復雜度,if數據冗余可以將模塊分解之后用數據耦合來代替
-
公共耦合 問題:軟件結構中存在大量的公用耦合時會給診斷錯誤帶來困難
-
內容耦合:
ATT;
應追求盡可能松散耦合,避免強耦合,這樣模塊間的聯系就越小,模塊的獨立性就越強,對模塊的測試、維護就越容易
因此建議:盡量使用數據耦合,少用控制耦合,限制公用耦合,完全不用內容偶合。
3.內聚(對于一個模塊內部)
-
功能內聚
-
順序內聚
-
通信內聚
-
過程內聚
后面會調用前面的 -
時間內聚
-
邏輯內聚
-
-
偶然內聚
如果一個模塊由完成若干毫無關系的功能處理元素偶然組合在一起的,就叫偶然內聚。
偶然內聚是最差的一種內聚。
軟件設計中應該:力求做到高內聚,盡量少用中內聚,不用低內聚
抽象
逐步求精
啟發式規則
改進軟件結構提高模塊獨立性
模塊規模應該適中
深度、寬度、扇出和扇入都應適當
模塊的作用域應該在控制域之內
作用域:受該模塊內一個判定影響的所有模塊的集合。
控制域:模塊本身以及所有從屬于它的模塊的集合。
力爭降低模塊接口的復雜度
設計單入口、單出口的模塊
模塊功能應該可以預測
圖形工具
層次圖
自頂向下的設計思想
HIPO圖
h是層次的意思
然后每一張圖都是一個ipo
每一個都加編號
結構圖
每一個方塊代表一個模塊
方框之間的連線表示調用模塊的調用關系
箭頭尾部表示傳遞的是:數據信息(空心圓) 控制信息(實心圓)
面向數據流的設計方法
信息流:
變換流—
具有較明確的輸入、變換(或稱主加工)和輸出界面的數據流圖稱為變換型數據流圖。
事務流—
存在一個事務中心(也就是數據處理、加工中心),它將輸入分離成若干個發散的數據流,形成許多活動路徑,并根據輸入值選擇其中一條路徑
變換設計:
以變換為中心的設計
事務設計
為以事務為中心的設計。
概要設計說明書
該說明書是概要實際階段的工作成果,它應說明功能分配、模塊劃分、程序的總體結構、輸入輸出以及接口設計、運行設計、數據結構設計和出錯處理設計等,為詳細設計提供基礎
總結
以上是生活随笔為你收集整理的软件工程--第五章-- 总体设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件工程---第四章---形式化分析
- 下一篇: 计算机体系结构----常见英文缩写(待更