(软件工程复习核心重点)第一章软件工程概论-第四节:软件过程及相关模型
文章目錄
- 一:軟件過程概念
- (1)定義
- (2)構成
- 二:主要模型
- (1)瀑布模型
- A:定義
- B:特點
- C:優缺點
- D::適用范圍
- E:實際的瀑布模型
- (2)快速原型模型
- A:定義
- B:原理
- C:優缺點
- D:適用范圍
- (3)增量模型(了解)
- A:定義
- B:優缺點
- C:風險更大的增量模型
- (4)螺旋模型(了解)
- A:定義
- B:優缺點
- (5)噴泉模型
- (6)其他模型
一:軟件過程概念
(1)定義
軟件過程:是為了獲得高質量軟件所需要完成的一系列任務框架,它規定了完成任務的工作步驟。通常用軟件生命周期模型來描述軟件過程。常見模型有:
- 瀑布模型
- 快速原型模型
- 增量模型
- 螺旋模型
- 噴泉模型
- 其他模型
(2)構成
科學、有效的軟件過程應該定義一-組適合于所承擔的項目特點的任務集合。一個任務集合包括一組軟件工程任務、里程碑和應該交付的產品。
二:主要模型
(1)瀑布模型
A:定義
瀑布模型:將軟件生命周期的各項活動規定為依照固定順序連接的若干階段工作,最終得到軟件產品
B:特點
①階段間具有順序性和依懶性
- 必須等前一階段的工作完成之后,才能開始后一階段的工作;
- 前一階段的輸出文檔是后一階段的輸入文檔
- 只有前一階段的輸出文檔正確,后一階段的工作才能獲得正確的結果
②推遲實現的觀點
- 瀑布模型在編碼之前設置了系統分析與系統設計的各個階段,分析與設計階段的基本任務規定,在這兩個階段主要考慮目標系統的邏輯模型,不涉及軟件的物理實現。
- 清楚地區分邏輯設計與物理設計,盡可能推遲程序的物理實現,是按照瀑布模型開發軟件的一-條重要的指導思想。
③質量保證的觀點
- 為了保證所開發的軟件的質量,在瀑布模型的每個階段都必須完成規定的文檔,沒有交出合格的文檔就是沒有完成該階段的任務。
- 完整、準確的合格文檔不僅是軟件開發時期各類人員之間相互通信的媒介,也是運行時期對軟件進行維護的重要依據。
- 越是早期階段犯下的錯誤,暴露出來的時間就越晚,排除故障改正錯誤所需付出的代價也越高。
- 因此,及時審查,是保證軟件質量、降低軟件成本的重要措施。每個階段結束前都要對所完成的文檔進行評審,以便盡早發現問題,改正錯誤。
C:優缺點
優點:
- 強迫開發人員使用規范的方法
- 嚴格規定了每個階段提交的文檔
- 要求每個階段交出的所有產品都必須經過質量保證小組的仔細驗證
- 對文檔的約束,使軟件維護變得容易一些,且能降低軟件預算
缺點:
- 在軟件開發的初期階段就要求作出正確的、全面的、完整的需求分析對許多應用軟件來說是極其困難的
- 在需求分析階段,當需求確定后,無法及時驗證需求是否正確、完整
- 作為整體開發的瀑布模型,由于不支持產品的演化,缺乏靈活性,對開發過程中很難發現的錯誤,只有在最終產品運行時才能暴露出來,從而使軟件產品難以維護
D::適用范圍
- 用戶的需求非常清楚全面,且在開發過程中沒有或很少變化;
- 開發人員對軟件的應用領域很熟悉;
- 用戶的使用環境非常穩定;
- 開發工作對用戶參與的要求很低。.
E:實際的瀑布模型
在設計階段可能發現規格說明文檔中的錯誤,而設計上的缺陷或錯誤可能在實現過程中顯現出來,在綜合測試階段將發現需求分析、設計或編碼階段的許多錯誤。因此,實際的瀑布模型是帶“反饋環”的,如下圖所示(圖中實線箭頭表示開發過程,虛線箭頭表示維護過程)。當在后面階段發現前面階段的錯誤時,需要沿圖中左側的反饋線返回前面的階段,修正前面階段的產品之后再回來繼續完成后面階段的任務。
(2)快速原型模型
A:定義
快速原型模型:快速建立可運行的程序,它完成的功能往往是最終產品功能的一個子集
B:原理
快速原型模型的第一步是快速建立一個能反映用戶主要需求的原型系統,讓用戶通過實踐來了解目標系統的概貌。通常,用戶試用原型系統之后會提出許多修改意見,開發人員按照用戶的意見快速地修改原型系統,然后再次請用戶試用,一旦用戶認為這個原型系統確實能做他們所需要的工作,開發人員便可據此書寫規格說明文檔,根據這份文檔開發出的軟件便可以滿足用戶的真實需求。
C:優缺點
優點:
- 開發的軟件產品通常滿足用戶需求
- 軟件產品開發基本是線性過程
缺點:
- 準確原型設計困難
- 原型理解可能不同
- 不利于開發人員創新
D:適用范圍
- 對所開發的領域比較熟悉而且有快速的原型開發工具;
- 項目招投標時,可以以原型模型作為軟件的開發模型;
- 進行產品移植或升級時,或對已有產品原型進行客戶化工作時。
(3)增量模型(了解)
A:定義
增量模型:先完成一個系統子集的開發,再按同樣的開發步驟增加功能,如此遞增下去直至滿足全部系統需求
- 每個構件由多個相互作用的模塊構成,并且能夠完成特定的功能。使用增量模型時,
第一個增量構件往往實現軟件的基本需求,提供最核心的功能。把軟件產品分解成增量構件時,應該使構件的規模適中。分解時唯一必須遵守的約束條件是:當把新構件集成到現有軟件中時,所形成的產品必須是可測試的
B:優缺點
優點:
- 短時間內可提交完成部分功能
- 逐漸增加產品功能,用戶適應產品快
缺點:
- 增量構件劃分以及集成困難
- 容易退化為邊做邊改模型
C:風險更大的增量模型
下圖是一種風險更大的增量模型。用這種方式開發軟件,不同的構件將并行地構建,因此有可能加快工程進度。但是,這種方法將有構件無法集成到一起的風險,除非密切地監控整個開發過程,否則整個工程可能毀于一旦。
(4)螺旋模型(了解)
A:定義
螺旋模型:在每個階段之前都增加了風險分析過程的快速原型模型
B:優缺點
優點:
- 利于把軟件質量作為軟件的開發目標
- 減少測試
- 維護和開發不分開
缺點:
- 風險估計困難
(5)噴泉模型
噴泉模型:典型的面向對象軟件過程模型。體現了迭代和無縫的特性
(6)其他模型
- Rational統一過程
- 敏捷過程與極限編程
- 微軟過程
總結
以上是生活随笔為你收集整理的(软件工程复习核心重点)第一章软件工程概论-第四节:软件过程及相关模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android EditText 控件中
- 下一篇: mysql优化之sakila测试数据库