自救必看三大準則

軟體生命周期

什麼是軟體生命周期

  軟體生命周期又稱為軟體生存周期或系統開發生命周期,是軟體的產生直到報廢的生命周期,周期內有問題定義、可行性分析、總體描述、系統設計、編碼、調試和測試、驗收與運行、維護升級到廢棄等階段,這種按時間分程的思想方法是軟體工程中的一種思想原則,即按部就班、逐步推進,每個階段都要有定義、工作、審查、形成文檔以供交流或備查,以提高軟體的質量。但隨著新的面向對象的設計方法和技術的成熟,軟體生命周期設計方法的指導意義正在逐步減少。

  生命周期的每一個周期都有確定的任務,並產生一定規格的文檔(資料),提交給下一個周期作為繼續工作的依據。按照軟體的生命周期,軟體的開發不再只單單強調“編碼”,而是概括了軟體開發的全過程。軟體工程要求每一周期工作的開始只能必須是建立在前一個周期結果“正確”前提上的延續;因此,每一周期都是按“活動 ── 結果 ── 審核 ── 再活動 ── 直至結果正確”迴圈往複進展的。

軟體生命周期的七個階段

  1、問題的定義及規劃
  此階段是軟體開發方與需求方共同討論,主要確定軟體的開發目標及其可行性。
  2、需求分析
  在確定軟體開發可行的情況下,對軟體需要實現的各個功能進行詳細分析。需求分析階段是一個很重要的階段,這一階段做得好,將為整個軟體開發項目的成功打下良好的基礎。"唯一不變的是變化本身。",同樣需求也是在整個軟體開發過程中不斷變化和深入的,因此我們必須制定需求變更計劃來應付這種變化,以保護整個項目的順利進行。
  3、軟體設計
  此階段主要根據需求分析的結果,對整個軟體系統進行設計,如系統框架設計,資料庫設計等等。軟體設計一般分為總體設計和詳細設計。好的軟體設計將為軟體程式編寫打下良好的基礎。
  4、程式編碼
  此階段是將軟體設計的結果轉換成電腦可運行的程式代碼。在程式編碼中必須要制定統一,符合標準的編寫規範。以保證程式的可讀性,易維護性,提高程式的運行效率
  5、軟體測試
  在軟體設計完成後要經過嚴密的測試,以發現軟體在整個設計過程中存在的問題並加以糾正。整個測試過程主要分單元測試、組裝測試以及系統測試三個階段進行。測試的方法主要有白盒測試黑盒測試兩種。在測試過程中需要建立詳細的測試計劃並嚴格按照測試計劃進行測試,以減少測試的隨意性。
  6、系統轉換
  將作業由舊系統轉換新系統,也就是說運行系統的方法,轉換方法有平行、分批、分發、立即、試驗五種轉換方法。
  7、運行維護
  軟體維護是軟體生命周期中持續時間最長的階段。在軟體開發完成並投入使用後,由於多方面的原因,軟體不能繼續適應用戶的要求。要延續軟體的使用壽命,就必須對軟體進行維護。軟體的維護包括糾錯性維護和改進性維護兩個方面。

各種軟體過程模型的特點[1]

  不同的軟體過程模型對軟體開發過程有不同的理解和認識,支持不同的軟體項目和開發組織。下表對比和分析了各個軟體過程模型的特點及其適用的軟體項目類型。
  各種軟體過程模型的特點
模型名稱技術特點適用範圍
瀑布模型簡單,分階段,階段間存在因果關係,
各個階段完成後都有評審,允許反饋,不支持
用戶參與,要求預先確定需求
需求易於完善定義且不易變更的軟體系統
快速原型模型不要求需求預先完備定義,支持用戶參與,
支持需求的漸進式完善和確認,能夠適應用戶需求的變化
需求複雜、難以確定、動態變化的軟體系統
增量模型軟體產品是被增量式地一塊塊開發的,
允許開發活動並行和重疊
技術風險較大、用戶需求較為穩定的軟體系統
迭代模型不要求一次性地開發出完整的軟體系統,將軟體
開發視為一個逐步獲取用廣需求、完善軟體產品的過程
需求難以確定、不斷變更的軟體系統
螺旋模型結合瀑布模型、快速原型模型和迭代模
型的思想,並引進了風險分析活動
需求難以獲取和確定、軟體開發風險較大的軟體系統
RUP可改造、擴展和剪裁:可以對它進行設計、
開發、維護和發佈;強調迭代開發
複雜和需求難以獲取和確定的軟體系統;
軟體開發項目組擁有豐富的軟體開發和管理經驗

留言

這個網誌中的熱門文章

IIS - ASP.NET 網站基本優化設定

Node.js 部署至 IIS 站台

遇見 Parameters 參數上限之大量資料寫入方法