基本信息
傳統軟體開發流程的問題:
傳統的 是一個文檔驅動的流程,它將整個軟體開發過程劃分為順序相接的幾個階段,每個階段都必需完成全部規定的任務(文檔)後才能夠進入下一個階段。如必須完成全部的系統需求規格說明書之後才能夠進入概要設計階段,編碼必需在系統設計完成之後才能夠進行。這就意味著只有當所有的系統模組全部開發完成之 後,我們才進行系統集成,對於一個由上百個模組組的複雜系統來說,這是一個非常艱巨而漫長的工作。
開發流程
軟體開發流程圖:
可行性分析和項目開發計畫
↓
需求分析
↓
概要設計
↓
詳細設計
↓
編碼
↓
測試
↓
維護
(一)可行性分析和項目開發計畫
1 技術可行性
2 經濟可行性
3 社會可行性
(二)需求分析
1 問題識別
2 分析與綜合,到處軟體的邏輯模型
3 編寫文檔
描繪工具:
數據流圖(DFD):以圖形方式描繪數據在系統中流動和處理的過程
數據字典(DD):為分析人員查找數據流圖中有關名字的詳細定義而服務
數據流圖
(三)概要設計
(四)詳細設計
詳細設計任務
1 為每個模組進行詳細的算法設計,將每個模組處理過程的詳細算法描述出來
2 為模組內的數據結構進行設計,對於需求分析,概要設計確定的概念性的數據類型進行確切的定義
3 對資料庫進行物理設計
4 編寫詳細設計說明書
五)編碼
程式設計語言的選擇:
程式設計風格
(六)測試
軟體測試原則:
1 測試用例應有輸入數據和預期的輸出數據兩部分組成
2 測試用例不僅要選擇合理的輸入數據,還要選擇不合理的輸入數據
3 除了檢查程式是否做了它應該做的事,還要檢查程式是否做了它不應該做的事
4 長期保留測試用例
5 程式設計師避免測試自己的程式
(七)軟體維護
1 校正性維護
2 適應性維護
3 完善性維護
4 預防性維護