你所不知道的軟體開發的詳細過程
軟體開發過程需要經歷的幾個主要階段:
(1)定義。明確軟體開發的目的、軟體的需求。
(2)計劃。制訂軟體開發所涉及的各種計劃。
(3)實現。進行設計、編碼、文件編寫工作,完成所要求的軟體特性。
(4)穩定化。以測試和修復工作為主,確保將提交的軟體具有良好的質量。
(5)部署。安裝、提交開發完成的軟體,建立可供使用者使用的環境。
常見的軟體生命週期模型:
瀑布模型、原型模型、增量模型、螺旋模型
瀑布模型:
在瀑布模型中,包括六個階段:計劃、需求分析、設計、編碼、測試、執行維護。這六個階段自上而下、相互銜接,以固定的次序來進行。模型驅動的一個重要的特徵是強調階段的順序性和依賴性。下一個階段必須是以上一個階段為前提。例如在開始設計工作前,必須完成需求分析過程。瀑布模型要求各個階段必須有相應的文件為依據,因此瀑布模型是以文件為驅動的。
瀑布模型自身存在了一些缺點,比方說:測試人員可能在後期發現大量錯誤,因此必須返回需求分析、設計或程式碼中定位問題,而瀑布模型中認為已經完成的各個階段必須修改,這樣以來所花費的代價是很大的。因此很多人認為瀑布模型適合硬體系統的開發。
原型模型:
在很多的時候,使用者提出了軟體需達到的一系列目標,但不能給出詳細的輸入、輸出和處理過程;開發人員不能確定某種演算法或合理的解決方案。在這種情況下適合用原型模型。
其主要思想是:先建立一個能反映使用者需求的原型系統,使得使用者和開發人員能夠對目標系統的概況進行評價和判斷,然後對原型進行反覆的擴充和改進,最終建立可以滿足使用者需求的目標系統。
開發者和使用者得到更加詳細的待開發軟體的需求,對已經開發的原型進行調整,使之更加符合使用者的需求。通過不斷的迭代,最終開發出符合需求的軟體。
增量模型:
增量模型結合了瀑布模型和原型模型的特性。
增量模型中,在每個階段都生成軟體的一個可釋出版本。這些階段是交錯進行的,這意味著前一個版本還沒有釋出時,下一個版本的部分工作就已經開始了。
增量模型和原型模型有一個很大的差別:在原型中,每個階段釋出一個原型,而在增量模型中是完成一個正式的版本。在增量模型中,軟體版本是在功能上逐步完善的。
螺旋模型:
螺旋模型將瀑布模型和原型模型結合起來,並且加入了兩種模型都忽略的風險分析。螺旋模型的每一週都包括制定計劃、風險分析、實施工程和評審四個階段。開 發過程沒迭代一次,螺旋線就增加一週,軟體開發又前進一個層次,系統又生成一個新的版本,而軟體開發的時間和成本又有了新的投入,最後得到一個客戶滿意的軟體版本。
在螺旋模型中,可軟體也同樣是以一系列版本的形式進行逐步釋出的。螺旋模型和一些傳統的過程模型不同,它不是當軟體交付的後就結束了,而是貫穿了軟體的整個生命週期,在螺旋模型中,可能會包含了增強(升級)專案和產品維護專案。
相關文章
- 五個你所不知道的Flutter開發細節Flutter
- 軟體開發的生命週期過程
- 工作流引擎你所不知道的事--開源軟體誕生16
- 談軟體開發過程的改進 (轉)
- 【軟體測試】軟體及其開發過程
- 軟體工程之開發過程軟體工程
- 你所不知道的 CSS 陰影技巧與細節CSS
- 你所不知道的 CSS 濾鏡技巧與細節CSS
- 軟體開發過程RUP,CMM,XP
- 【原創】 一個會計軟體的演算法分析過程(詳細)演算法
- 你所不知道的cssCSS
- 你所不知道的 POST
- 你所不知道的 EMC 開源的那些事
- 軟體過程的發展的思考 (轉)
- 關於軟體開發,你老闆不知道的7件事
- 泊松過程的詳細理解
- 熟悉一個“高質量”軟體的開發過程
- 漫畫:軟體開發評估過程
- 【原創】一個彩票軟體演算法分析過程(詳細)演算法
- 你所不知道的JavaScript 二JavaScript
- 你所不知道的JavaScript(三)JavaScript
- BSEX交易所模式軟體開發系統詳情模式
- 你所不知道的阿里開源那些事兒阿里
- 軟體開發過程中的變更請求管理薦
- 規範軟體開發過程——軟體配置管理實踐
- 傻瓜式軟體開發過程講解
- 基於複用的軟體開發過程中的配置管理
- 泰拉瑞亞EasyBuildMod便捷建造模組開發詳細過程UI
- 你所不知道的 AI 進展AI
- 你所不知道的JavaScript陣列JavaScript陣列
- oracle 的DML命令的詳細處理過程Oracle
- 我心中的軟體過程
- centos7安裝的詳細過程CentOS
- 原創:oracle 授權的詳細過程Oracle
- 你不知道的軟體測試那些事?
- 我所遭遇過的中介軟體--VTK
- Android Context完全解析,你所不知道的Context的各種細節AndroidContext
- 開發直播app軟體過程中的雲端儲存和備份APP