軟工視訊(四)【面向過程
說起面向過程,想起了面向物件。那麼就來看一下兩者究竟有什麼區別。首先來說一下兩者的含義:
面向過程:就是分析出解決問題所需要的步驟,然後把函式這些步驟一步一步實現,使用的時候一個一個一次呼叫就可以了。
面向物件:是把構成問題事務分解成各個物件,建立物件的目的不是為了完成一個步驟,而是為了描述某個事物再整個解決問題的步驟的行為。
要點:
瞭解軟體概要設計的原則和過程
掌握模組劃分的評價準則
掌握結構化設計方法
掌握常用的詳細設計的表達方法
瞭解軟體設計規格說明和設計評審內容
軟體設計的目標和任務:
根據用資訊域表示的軟體需求,以及功能和效能需求,進行
資料設計
系統結構設計
過程設計
軟體設計分為兩部分:
概要設計
詳細設計
軟體設計過程
1.制定規範
2.軟體系統結構的總體設計
3.處理方式設計(確定為實現功能需求所需的演算法)
4.資料結構設計(確定資料庫的模式、安全性、整體性)
5.可靠性設計
6.編寫概要設計階段的文件(概要說明書、資料說明書、完善使用者手冊、制定初步的測試計劃)
7.概要設計評審
概要設計的過程
1.設計系統方案
2.選取一組合理的方案
3.推薦最佳實施方案
4.功能分解
5.軟體結構設計
6.資料庫設計、文件結構的設計
7.制定測試計劃
8.編寫概要設計文件
9.審查與複審概要設計文件
模組設計結構應遵循“高內聚,低耦合、精分解、高輸入, 低扇出”的原則。
扇入:是指直接呼叫該模組的上級模組的個數。(扇入大表示模組的複用程式高。)
扇出
內聚:每個模組儘可能獨立完成自己的功能,不依賴於模組外部的程式碼。
耦合:模組於模組之間介面的複雜程度,模組之間聯絡越複雜耦合度越高,牽一髮而動全身。(原則:儘量使用資料耦合,少用控制耦合,限制公共環境耦合的範圍,完全不用內容耦合。)
改進軟體設計,提高軟體質量的原則(結構化設計原則):
1.顯著改進軟體結構提高模組獨立性
2.模組規模應該適中
3.適當選擇深度、寬度、扇出和扇入
4.模組的作用域應該再控制域之內
5.力爭降低模組介面的複雜程度
6.設計單入口單出口的模組
7.模組功能應該可以預測
變換型:資料輸入、資料變換、資料輸出
事務型:根據某一項事物確定執行那條道。
模組化:能夠把一個大而複雜的軟體系統劃分成易於理解的比較單純的模組結構
抽象化:軟體系統進行模組設計時,可有不同的抽象層次。(軟體工程過程的每一步都是對軟體解法的抽象層次的一次精華,逐步求精與抽象時緊密相關的。)
模組獨立性
模組獨立性是軟體系統中每個模組只涉及軟體要求的具體子功能,而和軟體系統中其他的模組介面是簡單的。模組獨立的概念是模組化、抽象、資訊遮蔽和區域性化概念的直接結果。
模組獨立性的重要性:
1.具有獨立的模組的如那件比較容易開發出來。
2.獨立的模組比較容易測試和維護。
模組的獨立程度兩個定性標準度量:內聚和耦合。