軟體 = 程式 + 資料 + 文件
無形的複雜的智力產品
尚未自動化
不存在完全沒有缺陷的產品
複製簡單,但成本有限
軟體的管理更加獨特
對計算機系統環境高度依賴
軟體的維護在於公升級、優化和功能更新,甚至重構
不會因使用而損壞
應用範圍極廣
軟體分為系統軟體和應用軟體
問題定義
可行性研究
需求分析
概要設計
詳細設計
編碼和單元測試
綜合測試
軟體維護
原型模型:客戶與開發緊密互動,細化需求
螺旋模型:將瀑布模型和原型模型結合起來,經歷4個步驟(制定計畫→風險分析→實施工程→客戶評估),但過度強調風險
敏捷模型:以人為核心、迭代、循序漸進的開發,開發周期短,增量式開發,並利用自動化測試來監控,重溝通少文件,測試先行,但對團隊綜合素質要求較高
需求分析文件
概要設計文件
詳細設計文件
測試設計文件
測試用例
測試報告
軟體測試是在規定的條件下對程式進行操作,以發現程式錯誤、衡量軟體質量、判斷其是否滿足需求。
測試用例 = 測試資料 + 操作步驟 + 期望結果 + 測試環境
程式設計階段——白盒測試(單元測試)
程式設計完成——整合測試
提測階段——冒煙測試(自動化為主)
系統測試——黑盒、安全、效能測試等
驗收階段——配合使用者
v模型w模型h模型
x模型
覆蓋率用於度量測試完整性
覆蓋率 = 執行過的item數 / item總數
覆蓋率越高,成本越大
所有測試都應追溯到使用者需求
盡早啟動測試工作
pareto法則(測試能消除96%的缺陷)
窮盡測試是不可能的
開發會對測試產生免疫
每次缺陷修復會引入新的缺陷
細心、信心、耐心,溝通意識 + 懷疑意識
軟體工程1 軟體工程概念
軟體工程是 將系統化的 嚴格約束的 可量化的方法應用於軟體的開發 執行和維護,即將工程化應用於軟體 計算機科學技術百科全書 軟體工程是應用電腦科學 數學 邏輯學及管理科學等原理,開發軟體的工程。軟體工程借鑑傳統工程的原則 方法,以提高質量 降低成本和改進演算法。其中,電腦科學 數學用於構建模型與演算...
軟體工程 概念
1 軟體是計算機系統中與硬體相互依存的另一部分,它是包括程式,資料及其文件的完整集合 2 程式是按事先設計的功能和效能要求執行的指令序列 軟體的分類 1 系統軟體 作業系統 資料庫管理系統 裝置驅動 通訊處理程式等 2 支撐軟體 文字編輯程式 檔案格式程式等 3 應用軟體 各個領域軟體 軟體工作方式...
軟體工程概念
1 工程的含義 工程是將理論和知識應用於實踐的科學,以便經濟有效地解決問題。大規模的設計與建造 複雜問題與目標分解 團隊協作與過程控制 2 什麼是軟體工程 軟體工程是將 系統性的 規範化的 可定量的方法應用於軟體的開發 執行和維護,即工程化應用到軟體上 對 中所述方法的研究。3 軟體工程的目標 創造...