軟體工程視訊總結(2)
第二章
可行性研究
經濟可行性
技術可行性
操作可行性
法律可行性
時間可行性
估計成本方法
1.軟體價格估算
2.程式碼行價格估算(只是可執行語句)
3.任務分解法
4.自動估計成本方法
專案開發計劃
一、引言
1.編寫目的
2.專案背景
3.定義
4.參考資料
二、專案概述
三、實施計劃
四、人員組織幾份工
五、交付期限
六、專題計劃要點
第三章
軟體的需求分析
資料流圖
資料詞典
結構化英語
判定表
判定樹
軟體原型分類
探索性
實驗性
進化型
原型使用策略
廢棄策略
追加策略
原型生存期
分析->設計->編碼->測試->執行維護
資料字典的六類元素定義
資料流
資料項
資料結構
資料儲存
處理邏輯
外部實體
第四章
要點
瞭解軟體設計的原則和過程
掌握模組劃分的評價準則
掌握結構化設計方法
掌握常用的設計表達方法
瞭解軟體設計規格說明和設計評審的內容
軟體設計需要進行三個設計
資料設計(概要設計)
系統結構設計(詳細設計)
過程設計(詳細設計)
軟體設計過程
1.指定規範
2.軟體系統結構的總體設計
3.處理方式設計
4.資料結構設計
5.可靠性設計
6.編寫概要設計階段的文件
7.概要設計評審
模組具有的三種基本屬性
功能
邏輯
狀態
耦合
非直接耦合
資料耦合:資料項呼叫另一模組
標記耦合:資料結構,或者一個變數名呼叫
控制耦合:開關量
外部耦合:外部資料
公共耦合:公共設計區,或者公共變數
內容耦合:一個模組進入另一模組,模組程式碼重疊
內聚
巧合內聚:模組內部之間不會有任何關係
邏輯內聚:把幾種相關的功能組合在一起
時間內聚:在同一時間之內完成、執行。只執行一次
過程內聚:模組中按照同一順序來劃分(如果添加了功能,則為功能內聚)
通訊內聚:各個功能部分都使用同一個輸入資料,產生同一個輸出資料。
資訊內聚:各個組成部分,按照同一順序來做
功能內聚:模組內各個部分都是完成某一功能必不可少的組成部分,是不可分割的。
資料設計
檔案設計
過程設計
(1)傳統流程圖
(2)結構化流程圖(N-S圖)
(3)問題分析圖(PAD圖)
圖的五種基本控制結構
順序型
選擇型
先判定型迴圈
後判定型迴圈
多情況選擇型
概要設計說明書
詳細設計說明書
程式編碼
內在特徵看,高階語言分為系統實現語言,靜態高階語言,塊結構高階語言,動態高階語言
源程式文件化
識別符號的命名
安排註釋
程式的視覺組織
程式設計質量評價
1.正確性
2.結構清晰性
3.易修改行
4.易讀性
5.簡單性
環路複雜度是可加的
測試
程式簡單,減少判定點
白盒測試考慮結構(邏輯驅動)
迴圈可以分為簡單迴圈、巢狀迴圈、連鎖迴圈、非結構迴圈。
黑盒測試方法(功能驅動)
[等價類劃分
邊界值分析]綜合使用
錯誤推測法
因果圖
軟體測試的策略
步驟
單元測試、組裝測試、確認測試、系統測試
組裝測試
一次性組裝方式
增殖式組裝方式
確認測試
測試需求和功能
系統測試
將通過確認測試的軟體,與計算機硬體、外設、某些支援軟體、資料和人員結合在一起,對計算機系統進行一系列的組裝測試和確認測試。
a測試和B測試
a測試是使用者在開發環境下進行的測試。
B測試是使用者在實際環境下進行的測試。
除錯
它與軟體測試不同,除錯的任務是進一步診斷和改正錯誤。
除錯的步驟
從外部表現形式入手,確定程式中出錯位置;
研究有關部分的程式,找出錯誤的內在原因;
修改設計和程式碼,以排除這個錯誤;
重複進行這個錯誤的原始測試。
幾種除錯方法
強行排錯
回溯法除錯
歸納法除錯
演繹法除錯