1. 程式人生 > 其它 >軟體工程導論期末複習——第一章

軟體工程導論期末複習——第一章

第一章  軟體工程學概述

重點小節:軟體工程、軟體生命週期、軟體過程

重點考點:軟體生命週期各個階段的定義、目標、任務、步驟

    軟體工程七條本質特徵

  瀑布模型

一、軟體危機(全部略寫)

  1. 軟體開發的三個發展時期:
    1. 個體化軟體開發時期
    2. “軟體作坊式開發時期”——軟體危機出現,1986年正式提出並使用“軟體工程”這一名詞。
    3. 大規模、工程化的軟體開發時期(70年代中期至今
  2. 軟體危機的表現:
    • 對成本和進度估計不準
    • 使用者常常不滿意
    • 質量不行
    • 不可維護
    • 沒有文件
    • 軟體成本在計算機系統中成本中佔比逐年上升
    • 軟體開發生產率的提高速度跟不上計算機應用迅速普及及深入的趨勢
  3. 軟體危機產生原因:
    1. 與軟體本身特點有關:包括技術問題和管理問題
    2. 與軟體開發和維護的方法有關:沒有正確的方法支撐、忽視需求分析、輕視維護、代價曲線
  4. 解決途徑:包括管理手段和技術手段

 二、軟體工程

  1. 定義
    • 軟體工程是指導計算機軟體開發和維護的一門工程學科。
    • 採用工程的概念原理技術和方法開發和維護軟體,
    • 把經過實踐考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,
    • 以經濟的開發出高質量的軟體並有效的維護他,這就是軟體工程。
  2. 七條本質特性
    1. 軟體工程專注於大型程式的構造
    2. 軟體工程的中心課題是控制複雜性
    3. 軟體經常變化
    4. 軟體開發的效率非常重要
    5. 和諧的合作是開發軟體的關鍵
    6. 軟體必須有效支援他的使用者
    7. 在軟體工程領域是由具有一種文化(知識)背景的人替具有另一種文化(知識)背景的人創造產品
  3. 軟體工程基本原理 略
  4. 軟體工程方法學:
    1. 通常把軟體生命週期全過程中使用的一整套技術方法的集合稱為軟體工程方法學,也稱為泛型
    2. 三要素:方法、工具、過程
    3. 包括:傳統方法學、面向物件方法學

三、軟體生命週期

  1. 問題定義
    • “要解決的問題是什麼”
    • 通過對客戶的訪問調查,由系統分析員寫出包括問題性質、工程目標和工程規模的書面報告,後得到使用者確認。  
  2. 可行性研究
    • “對上一個階段所確定的問題有行得通的解決辦法嗎”
    • 進行一次大大壓縮和簡化了的系統分析和設計過程
  3. 需求分析
    • “為了解決這個問題,目標系統必須做什麼”
    • 得出邏輯模型,用規格說明書記錄需求
  4. 總體設計
    • “概括地說,應該怎樣實現目標系統”
    • 設計幾種方案(低成本中成本高成本)選最佳,制定實現最佳的詳細計劃,設計體系結構,確定由哪些模組組成以及模組間的關係
  5. 詳細設計
    • “應該怎樣具體的實現這個系統”
    • 模組設計,確定模組功能所需要的演算法和資料結構  
  6. 編碼和單元測試
    • 寫出正確的容易理解、容易維護的程式模組;仔細測試
  7. 綜合測試
    • 整合測試\驗收測試
  8. 維護
    • 通過各種必要的維護活動使系統持久的滿足使用者的需要
    • 四類維護活動:改正性維護、適應性維護、完善性維護、預防性維護

四、軟體過程

剩下兩個:敏捷過程與極限程式設計 略 有空再看吧

微軟過程:

待更新:習題