軟件規格說明:規定軟件的功能及其運行的限制
軟件開發:產生滿足規格說明的軟件
軟件確認:確認軟件能夠完成客戶提出的要求
軟件工程過程的特性
- 易理解性
- 可見性
- 可支持性
- 可接受性
- 可靠性
- 健壯性(安全性)
- 可維護性
- 速度
軟件生存期(life cycle)
軟件有一個孕育\誕生\成長\成熟\衰亡的生存過程,這個過程即爲計算機軟件的生存期
軟件生存期6個步驟
- 制定計劃
- 確定要開發軟件系統的總目標
- 給出功能\性能\可靠性以及接口等方面的要求
- 完成該軟件任務的可行性研究
- 需求分析和定義
- 對待開發軟件提出的需求進行分析並給出詳細的定義
- 編寫軟件需求說明書
- 軟件設計
- 概要設計---把各項需求轉換成軟件的體系結構.結構中每一組成部分都是意義明確的模塊.
- 軟件編寫
- 軟件測試
- 單元測試(靜態測試)---查找各模塊在功能和結構上存在的問題並加以糾正
- 組裝測試(集成測試)---講已測試過的模塊按一定順序組裝起來
- 運行維護
五大模型:
瀑布模型:發現問題越晚 代價越大
瀑布型
1.思想
從製作時間上按工序把問題化簡,將功能實現與製作分開便於分工協作
2.優點
1.奠定了軟件工程方法的基礎
2.流水依賴,便於分工協作
3.推遲物理實現,易於修改文檔,有複審質量保證;
3.不足:
與用戶見面晩,成功率低,一般爲25%
4.話用範圍
適用與系統要求明確的系統,各種應用軟件的開發均可使用、
5開發方法:
遵循軟件生命期的劃分,明確規定每個階段的任務,上一階段完成確定的任務後就產生一定格式的文檔給下階段,不同階段的任務一般有不同級別的軟件人員承擔
6開發特點
1.時間的順序性和依賴性
2.推遲實現的觀點
3.質量保證的觀點
b模型
計劃:理解問題 可行性研究報告
需求分析:用戶的要求 需求規格說明書
設計:建立軟件結構 各個模塊的功能 總體設計(概要設計) 和 詳細設計
編碼:編寫程序 和相應的文檔
測試: 發現和排除錯誤 儘早的發現問題
原型(漸增型)
1.基本思想
允許從部分需求出發,先建立一個不全面的系統通過測試這個系統,進一步使系統擴充和完善
2.優點
開發的始終開發人員和用戶都共同參與,有問題可以隨時修改。從而很好的滿足了用戶的需求
3.適用範圍
適用與那些知識型軟件系統的開發
4.特點
1.從整體結構上不如瀑布型清晰
2.軟件的文檔不如瀑布型的劃分嚴格;
3.週期長,成本高
4.與用戶見面快,開發效率高;
螺旋模型
螺旋模型沿着螺線旋轉,在四個象限上分別表達了四個方面的活動,即制定計劃一確定軟件目標,選定實施方案,弄清項目開發的限制條件
風險分析一一分析所選方案,考慮如何識別和消除風險
實施工程一一實施軟件開發
客戶評估一一評價開發工作,提出修正建議
噴泉模型
迭代
重複
演進
無間隙
各階段間無明顯界限
變換型
1.思想
從軟件需求的形式規格說明出發,經過一系列的程序變化,得到最終結果
2.特
有嚴格的數學理論和形式化的技術支持,但目前在研究和實驗階段,不能實用
噴泉型:
認爲軟件的各個週期是相互重疊的和多次反覆的
螺旋型
多次原型反覆並增加風險評估的開發模型