你所不知道的軟體開發的詳細過程

yhtdfjn發表於2013-11-20

  軟體開發過程需要經歷的幾個主要階段:

  (1)定義。明確軟體開發的目的、軟體的需求。

  (2)計劃。制訂軟體開發所涉及的各種計劃。

  (3)實現。進行設計、編碼、文件編寫工作,完成所要求的軟體特性。

  (4)穩定化。以測試和修復工作為主,確保將提交的軟體具有良好的質量。

  (5)部署。安裝、提交開發完成的軟體,建立可供使用者使用的環境。

  常見的軟體生命週期模型:

  瀑布模型、原型模型、增量模型、螺旋模型

  瀑布模型:

  在瀑布模型中,包括六個階段:計劃、需求分析、設計、編碼、測試、執行維護。這六個階段自上而下、相互銜接,以固定的次序來進行。模型驅動的一個重要的特徵是強調階段的順序性和依賴性。下一個階段必須是以上一個階段為前提。例如在開始設計工作前,必須完成需求分析過程。瀑布模型要求各個階段必須有相應的文件為依據,因此瀑布模型是以文件為驅動的。

  瀑布模型自身存在了一些缺點,比方說:測試人員可能在後期發現大量錯誤,因此必須返回需求分析、設計或程式碼中定位問題,而瀑布模型中認為已經完成的各個階段必須修改,這樣以來所花費的代價是很大的。因此很多人認為瀑布模型適合硬體系統的開發。

  原型模型:

  在很多的時候,使用者提出了軟體需達到的一系列目標,但不能給出詳細的輸入、輸出和處理過程;開發人員不能確定某種演算法或合理的解決方案。在這種情況下適合用原型模型。

  其主要思想是:先建立一個能反映使用者需求的原型系統,使得使用者和開發人員能夠對目標系統的概況進行評價和判斷,然後對原型進行反覆的擴充和改進,最終建立可以滿足使用者需求的目標系統。

  開發者和使用者得到更加詳細的待開發軟體的需求,對已經開發的原型進行調整,使之更加符合使用者的需求。通過不斷的迭代,最終開發出符合需求的軟體。

  增量模型:

  增量模型結合了瀑布模型和原型模型的特性。

  增量模型中,在每個階段都生成軟體的一個可釋出版本。這些階段是交錯進行的,這意味著前一個版本還沒有釋出時,下一個版本的部分工作就已經開始了。

  增量模型和原型模型有一個很大的差別:在原型中,每個階段釋出一個原型,而在增量模型中是完成一個正式的版本。在增量模型中,軟體版本是在功能上逐步完善的。

  螺旋模型:

  螺旋模型將瀑布模型和原型模型結合起來,並且加入了兩種模型都忽略的風險分析。螺旋模型的每一週都包括制定計劃、風險分析、實施工程和評審四個階段。開 發過程沒迭代一次,螺旋線就增加一週,軟體開發又前進一個層次,系統又生成一個新的版本,而軟體開發的時間和成本又有了新的投入,最後得到一個客戶滿意的軟體版本。

  在螺旋模型中,可軟體也同樣是以一系列版本的形式進行逐步釋出的。螺旋模型和一些傳統的過程模型不同,它不是當軟體交付的後就結束了,而是貫穿了軟體的整個生命週期,在螺旋模型中,可能會包含了增強(升級)專案和產品維護專案。

相關文章