第一章 軟件工程學概述
重點小節:軟件工程、軟件生命周期、軟件過程
重點考點:軟件生命周期各個階段的定義、目標、任務、步驟
軟件工程七條本質特征
瀑布模型
一、軟件危機(全部略寫)
- 軟件開發的三個發展時期:
- 個體化軟件開發時期
- “軟件作坊式開發時期”——軟件危機出現,1986年正式提出並使用“軟件工程”這一名詞。
- 大規模、工程化的軟件開發時期(70年代中期至今
- 軟件危機的表現:
- 對成本和進度估計不准
- 用戶常常不滿意
- 質量不行
- 不可維護
- 沒有文檔
- 軟件成本在計算機系統中成本中占比逐年上升
- 軟件開發生產率的提高速度跟不上計算機應用迅速普及及深入的趨勢
- 軟件危機產生原因:
- 與軟件本身特點有關:包括技術問題和管理問題
- 與軟件開發和維護的方法有關:沒有正確的方法支撐、忽視需求分析、輕視維護、代價曲線
- 解決途徑:包括管理手段和技術手段
二、軟件工程
- 定義
- 軟件工程是指導計算機軟件開發和維護的一門工程學科。
- 采用工程的概念原理技術和方法開發和維護軟件,
- 把經過實踐考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,
- 以經濟的開發出高質量的軟件並有效的維護他,這就是軟件工程。
- 七條本質特性
- 軟件工程專注於大型程序的構造
- 軟件工程的中心課題是控制復雜性
- 軟件經常變化
- 軟件開發的效率非常重要
- 和諧的合作是開發軟件的關鍵
- 軟件必須有效支持他的用戶
- 在軟件工程領域是由具有一種文化(知識)背景的人替具有另一種文化(知識)背景的人創造產品
- 軟件工程基本原理 略
- 軟件工程方法學:
- 通常把軟件生命周期全過程中使用的一整套技術方法的集合稱為軟件工程方法學,也稱為泛型
- 三要素:方法、工具、過程
- 包括:傳統方法學、面向對象方法學
三、軟件生命周期
- 問題定義
- “要解決的問題是什么”
- 通過對客戶的訪問調查,由系統分析員寫出包括問題性質、工程目標和工程規模的書面報告,后得到用戶確認。
- 可行性研究
- “對上一個階段所確定的問題有行得通的解決辦法嗎”
- 進行一次大大壓縮和簡化了的系統分析和設計過程
- 需求分析
- “為了解決這個問題,目標系統必須做什么”
- 得出邏輯模型,用規格說明書記錄需求
- 總體設計
- “概括地說,應該怎樣實現目標系統”
- 設計幾種方案(低成本中成本高成本)選最佳,制定實現最佳的詳細計划,設計體系結構,確定由哪些模塊組成以及模塊間的關系
- 詳細設計
- “應該怎樣具體的實現這個系統”
- 模塊設計,確定模塊功能所需要的算法和數據結構
- 編碼和單元測試
- 寫出正確的容易理解、容易維護的程序模塊;仔細測試
- 綜合測試
- 集成測試\驗收測試
- 維護
- 通過各種必要的維護活動使系統持久的滿足用戶的需要
- 四類維護活動:改正性維護、適應性維護、完善性維護、預防性維護
四、軟件過程


剩下兩個:敏捷過程與極限編程 略 有空再看吧
微軟過程:


待更新:習題
