CSDN花神部落格生涯之軟體工程(2)

2020-10-02 12:00:40

軟體工程學習過程(2)

七大軟體開發模型

瀑布模型

生存週期模型或線性順序模型

模型圖
  • 問題定義→ 可行性研究→ 需求分析→ 概要設計→ 詳細設計→ 編碼→ 測試和維護
  • 需求分析→ 規格說明→ 設計→ 編碼 → 綜合測試 → 維護
    👉特點
  • 階段具有順序性和依賴性
  • 推遲實現觀點:推遲程式物理實現 ,邏輯設計和物理設計分開,充分的準備之後才編碼實現
  • 品質保證觀點, 以檔案為驅動,適用於需求很明確的軟體專案開發,每階段都必須完成完整,準確的檔案,每階段結束前對檔案評審
  • 有嚴格的順序性,靈活性差,產品出現晚,開發人員,阻塞狀態嚴重

快速原型模型

快速建立反應使用者主要需求的原型系統,反覆由使用者評價修正需求,開發出最終產品

模型圖
  • 快速原型→ 規格說明→ 設計→ 編碼 → 綜合測試 → 維護
    👉特點
  • 確定需求優於瀑布模型:通過原型與使用者互動
  • 增加開發者和使用著對系統的瞭解
  • 出品速度塊
  • 逐步求精
  • 開發階段迭代特徵
  • 連續修改導致內部結構可能不好
  • 實現過程中不應有的折中方案
  • 開發者急於完成原型二忽略了整體設計和可維性
  • 使用者的參與造成軟體開發管理的混亂

增量模型

分批向使用者提交產品

模型圖
  • 需求分析→ 規格說明→ 設計→ 編碼和整合 → 維護
    👉特點
  • 較短時間內向使用者提交完成有用的工作產品
  • 使用者有充裕時間學習適應產品
  • 軟體結構必須開發,方便向現有產品加入新構建,靈活性高
  • 並行構建後有可能會構建整合不到一起的風險

螺旋模型

螺旋模型是一種迭代模型,加入了風險分析→它是一種風險驅動的模型,適用於大規模高風險的軟體專案開發

模型圖

笛卡爾座標四象限四方面活動

  • 制定計劃:確定目標,選定方案,設定約束條件
  • 風險分析:評估方案,識別和消除風險
  • 實施工程:軟體開發
  • 客戶評估:評價開發工作,計劃下一階段工作,沿螺線自內而外每旋轉一圈開發出更完善版本
    👉 特點
  • 大型軟體開發下目有較好的風險控制
  • 需要風險評估的經驗
  • 契約式開發通常需要事先指定過程模型和分佈產品 ,不適合螺旋模型
  • 普及度不如前者模型

噴泉模型

一種比較典型的物件導向軟體開發模型以使用者需求為動力,以物件作為驅動,適合物件導向的開發方法
👉特點

  • 迭代性→系統某部分常被重複工作多次,相關功能在每次迭代中加入演進系統,
  • 無間隙性→分析,設計,編碼不存在明顯界限
  • 提高開發效率和開發時間
  • 過分迭代增加開發成本,甚至延遲提交時間
  • 隨時加入資訊,稽核難度加大

基於構建的開發模型,

利用預先封裝的軟體構件來構造應用軟體系統,從而提高軟體的重用性和可靠性,通常構件需要符合特定的介面標準,並實現一組介面
👉特點
可以在不同的計算機軟體系統中複用,在某個領域具有一定的通用性

統一過程(RUP)模型

基於物件導向統一建模語言(UML)的一種物件導向的軟體流程模型,RUP有九個核心工作流,包括6個核心過程工作流和三個核心支援工作流,有4個連續階段,每階段通過一次或多次迭代完成
👉特點

  • RUP軟體由用例驅動,以構件為中心,採用迭代和增量的開發策略,
  • 它的軟體生存週期是一個二維的軟體開發模型

基於形式化的開發模型

藉助數學的方法來研究電腦科學中的有關問題,確保嚴格,無錯

變化模型→結合形式化軟體開發方法和程式自動生成技術的一種軟體開發模型,採用用嚴格的數學的表示體系來表示軟體規格說明
淨室模型→一種形式化的增量開發模型,在無錯誤或」淨室「狀態下實現軟體開發

可行性研究

👉可行性研究的目的
這個階段的目的不是解決使用者提出的問題,而是確定這個問題是否值得去解決
👉可行性研究的任務

從經濟,技術,操作,法律四個方面來研究每種演演算法的可行性

1.經濟可行性→成本—效益分析,即要分析在整個軟體週期中所花費的代價與得到的效益之間的度量
2.技術可行性→對要開發專案的功能,效能,限制條件進行分析
3.操作可行性→系統的操作方式在這個應用範圍內是否新的通
4.法律可行性→會不會在社會上或政治上引起侵權

👉可行性研究的步驟

1.複查並確定系統規模和目標
2.研究目前正在使用的系統
3.建立新系統的高層邏輯模型
4.匯出和評價各種方案
5/推薦可行方案
6.草擬初步的開發計劃
7.編寫可行性研究報告提交審查

👉成本-效益分析
系統成本包括開發成本和執行維護成本

系統效益包括
有形的經濟效益

  • 貨幣的時間價值→錢數=存入P元 x(1+年利率 x n年)→P元錢在n年後的價值
  • 投資回收期
  • 純收入

無形的經濟效益

👉可行性研究報告的主要內容

  1. 引言:說明編寫檔案的目的,專案名稱,背景
  2. 可行性研究前提:說明開發 專案的功能,效能,基本要求,限制條件
  3. 對現有系統的分析
  4. 對所建設系統的分析:經濟,技術,社會因素可行性分析
  5. 其他與設計有關選擇方案
  6. 其他與設計有關的專門問題
  7. 結論意見

花神的部落格生涯之軟體工程(1)結束了哦~
接下來會持續更新(⊙o⊙)!
在這裡插入圖片描述