軟體工程 軟體過程模型

2022-01-24 12:20:57 字數 2779 閱讀 8835

軟體過程是為了獲得高質量軟體所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟。通常使用生命週期模型簡潔地描述軟體過程。生命週期模型規定了把生命週期劃分成哪些階段及各個階段的執行順序,因此,也稱為過程模型。常見的過程模型有瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉模型等。

1.瀑布模型

這個特點有兩重含義:

1.必須等前一階段的工作完成之後,才能開始後一階段的工作;

2.前一階段的輸出文件就是後一階段的輸入文件,因此,只有前一階段的輸出文件正確,後一階段的工作才能獲得正確的結果。

瀑布模型每個階段都應堅持兩個重要做法:

1.每個階段都必須完成規定的文件,沒有交出合格的文件就是沒有完成該階段的任務。完整、準確的合格文件是軟體開發時期各類人員之間相互通訊的媒介,也是執行時期對軟體進行維護的重要依據。

2.每個階段結束前都要對所完成的文件進行評審,以便遲早發現問題,改正錯誤。事實上越是早期階段犯下的錯誤,暴露出來的時間就越晚,排除故障改正錯誤所需付出的代價也越高。因此,及時審查,是保證軟體質量,降低軟體成本的重要措施。

可以說瀑布模型是由文件驅動的。這個事實也是它的乙個缺點,在可執行的軟體產品交付給使用者之前,使用者只能通過文件來了解產品是什麼樣的。瀑布模型歷史悠久、廣為人知的,它的優勢在於它是規範的、文件驅動的方法;這種模型的問題是,最終開發出的產品可能並不是使用者真正需要的。

(1)傳統的瀑布模型:

(2)實際的瀑布模型:

2.快速原型模型

所謂快速原型是快速建立起來的可以在計算機上執行的程式,它所能完成的功能往往是最終產品能完成的功能的乙個子集。快速原型的本質是「快速」,開發人員應該盡可能快地建造出原型系統,以加速軟體開發過程,節約軟體開發成本。原型的用作是獲知使用者的真正需求,一旦需求確定了,原型系統將被拋棄。

快速原型模型正是為了克服瀑布模型的缺點而提出來的。它通過快速構建乙個可在計算機上執行的原型系統,讓使用者試用原型系統並收集使用者反饋意見的辦法,獲取使用者的真實需求。

3.增量模型

增量模型也稱為漸增模型,使用增量模型開發軟體時,把軟體產品作為一系列的增量構件來設計、編碼、整合和測試。每個構件由多個相互作用的模組構成,並且能夠完成特定的功能。使用增量模型時,第乙個增量構件往往實現軟體的基本需求,提供最核心的功能。

優點:1.能在較短的時間內向使用者提交可完成部分工作的產品。

2.逐步增加產品功能可以使使用者有充裕的時間學習和適應新產品,從而減少乙個全新的軟體可能給客戶組織帶來的衝擊。

增量模型具有可在軟體開發的早期階段使投資獲得明顯回報和較易維護的優點,但是,要求軟體具有開放的結構是使用這種模型時固有的困難。

4.螺旋模型

螺旋模型的基本思想就是,使用原型及其他方法來盡量降低風險。理解這種模型的乙個簡便方法,是把它看作每個階段之前都增加了風險分析過程的快速原型模型。

螺旋模型主要適用於內部開發的大規模軟體專案。如果進行風險分析的費用接近整個專案的經費預算,則風險分析是不可行的。事實上專案越大,風險也越大,因此進行風險分析的必要性也越大。此外只有內部開發的專案,才能在風險過大時方便中止專案。

螺旋模型的主要優勢在於,它是風險驅動,但是,這也可能是它的乙個弱點。除非軟體開發人員具有豐富的風險評估經驗和這方面的專門知識,否則將出現真正的風:當專案實際上正在走向災難時,開發人員可能還認為一切正常。

風險驅動的螺旋模型適用於內部開發的大型軟體專案,但是,只有在開發人員具有風險分析和排除風險的經驗及專門知識時,使用這種模型才會獲得成功。

(1)簡化的螺旋模型

(2)完整的螺旋模型

4.噴泉模型

噴泉模型對軟體復用和生存週期中多項開發活動的整合提供了支援,以物件導向的軟體開發方法為基礎,它適合物件導向的開發方法。它克服了瀑布模型不支援軟體重用和多項開發活動整合的侷限性。噴泉模型使開發過程具有迭代性和無間隙性。系統某個部分常常重複工作多次,相關功能在每次迭代中隨之加入演化的系統。無間隙是指在分析、設計和實現等開發活動之間不存在明顯的邊界。

按照在軟體生命週期過程中應完成的任務的性質,在概念上可以把軟體生命週期劃分成定義、可行性研究、需求分析、總體設計、詳細設計、編碼和單元測試、綜合測試以及執行維護等8個階段。實際從事軟體開發工作時,軟體規模、種類、開發環境及使用的技術方法等因素,都影響各階段的劃分。

軟體過程是為了獲得高質量的軟體產品所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟。由於沒有適用所有軟體專案的任務集合,科學、有效的軟體過程應該定義一組適合所承擔的專案特點的任務集合。通常使用軟體過程模型簡潔地描述軟體過程,它規定了把軟體生命週期劃分成的階段及各個階段的順序。

軟體工程之軟體過程模型

軟體過程模型,也稱為軟體生存週期模型或軟體開發模型,是描述軟體過程中各種活動如何執行的模型.他確立了軟體開發中各階段的次序限制,以及各階段活動的準則.便於各個活動的協調與人員的有效通訊,有利於活動重用和活動管理.目前常用的軟體工程模型有 瀑布模型,增量模型,螺旋模型,噴泉模型,智慧型模型等.瀑布模型...

軟體工程之軟體過程模型

軟體過程模型習慣上也稱為軟體開發模型,它是軟體開發全部過程 活動和任務的結構框架。瀑布模型是將軟體生存週期中的各個活動規定為依線性連線的若干階段的模型,包括需求分析 設計 編碼 測試 執行與維護。由前至後 相互銜接的固定次序,如同瀑布流水逐級下落。瀑布模型是以文件作為驅動 適合於軟體需求很明確的軟體...

軟考 軟體工程 軟體過程模型

演化模型 瀑布模型 增量模型 原型模型 螺旋模型 噴泉模型 基於構件的開發模型 形式化方法模型 條件線性順序 瀑布的基本成分和原型的迭代 需求模糊不清 風險分析 使用者需求為動力,物件作為驅動的模型 用預先包裝的構件來構造系統 建立在嚴格數學基礎上 清晰明確的需求 適合於面向的開發方法 優點有瀑布所...