一、軟件的特性
軟件包括程序、數據及文檔
1、形態特性
2、智能特性
3、開發特性
4、質量特性
5、生產特性
6、管理特性
7、環境特性
8、維護特性
9、廢棄特性
10、應用特性
二、軟件的分類
1、系統軟件:負責管理計算機系統中各種獨立的硬件,使得它們可以協調工作。
2、應用軟件
三、軟件的生命週期
問題定義---可行性研究---需求分析---概要設計---詳細設計---編碼和單元測試---綜合測試---軟件維護
四、軟件開發模型
1、瀑布模型:計劃--需求分析--設計--編碼--測試--運行維護
特點:
線性方式
當前活動接收上一項活動的工作結果
當前階段需要測試。
增加了風險
早期錯誤可能到後期階段才發現
2、原型模型
客戶與開發公司緊密聯繫
特點:實現客戶與系統的交互
進一步細化待開發軟件需求
開發人員可以確定客戶真正的需求是什麼
3、螺旋模式(瀑布、原型結合)
制定計劃--風險分析--實施工程(需求確認、軟件需求、軟件產品設計、設計確認與認證、詳細設計、開發、測試)--客戶評估
特點:
瀑布、原型兩者結合
強調風險分析
每一步都包含:制定計劃--風險分析--實施工程--客戶評估
過於強調風險
4、敏捷模型
以人爲核心、迭代、循序漸進的開發方法
特點:
短週期開發
增量開發
程序員和測試人員編寫自動化測試來監控開發進度
通過口頭溝通、測試和源代碼來交流系統的結構和意圖
編寫代碼之前先寫測試代碼,也叫測試先行
人員素質要求比較高
要求掌握腳本語言編程
5、軟件開發文檔
需求分析文檔
概要設計文檔
詳細設計文檔
測試設計文檔
測試用例
測試報告