文章目錄
前言
本章節主要完成對軟件生命周期的基本的描述。
一、基礎知識和定義
軟件生命周期(SDLC,Systems Life Cycle)是軟件開始研制到最終廢棄不用所經歷的各個階段。
二、相關的主要軟件生命周期模型 1.瀑布型生命周期模型
瀑布型生命周期模型的階段一般分為如下的階段,規定了它們自上而下,相互銜接的固定次序、如同瀑布流水、主機逐級下落、具有順序性和依賴性。每個階段規定文檔并需進行評審:
特點:自上而下、有順序性
缺點:測試介入比較晚、回溯成本比較高、測試周期比較長
2.V模型
RAD(Rap )快速應用開發模型是軟件開發過程中一個重要模型,由于其模型構圖形似字母V,所以又稱軟件開發的V模型,它通過開發和測試同時進行的方式來縮短開發周期、提開發效率。
3.敏捷開發模型
以人為核心、迭代、循序漸進的開發方式。強調以人為本、專注于交付對客戶有價值的軟件。是一個用于開發和維持復雜產品的框架。就是把一個大項目分為多個互相聯系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一致處于可使用狀態。
通過人與人之間的溝通實現需求分析,特點就是快,口頭溝通的方式進行。
缺點:后續人員更替的時候對無法通過文檔對項目進行了解
三、軟件生命周期的各個階段 1.問題定義及規劃
主要確定軟件的開發目的及可行性,制定項目總體開發計劃。
2.需求分析
在確定軟件開發可行的情況下,對軟件需要實現的各個功能進行詳細分析,明確客戶需求,輸出需求規格說明書最終版(原型圖)SRS,提交評審。
3.設計
把需求分析得到的結果轉換為軟件結構和數據結構,形成系統架構。
4.編碼
按照詳細設計好的模塊功能表,編程人員編寫出計算機可執行的程序代碼
5.軟件測試
在軟件設計完成后,要進行嚴密的測試,從而發現在整個設計過程中存在問題并加以糾正。測試的方法包含白盒測試和黑盒測試兩種。建立嚴格的測試計劃并按照測試計劃進行。
a.單元測試
一般由開發來完成。主要是測試程序代碼,為的是確保各單元模塊被正確編譯。所指的單元根據系統的顆粒度的不同,所指的范圍也有一定的差別。比如單元可以指系統的某個模塊、類、函數或者方法進行測試。
b.集成測試
單元測試后將各個單元組成一個完整的體系、測試軟件單元之間的接口是否正確,數據是否能正常傳遞。比如登錄后的跳轉是否能正常完成,就是測試的登錄功能和主頁面的顯示功能是否能正常傳遞登錄信號。
c.系統測試
把軟件系統搭建起來,按照軟件規格說明書中所要求,測試軟件其性能功能是否和用戶的需求相吻合,在系統運行中是否存在漏洞等。
d.驗收測試
主要是在用戶拿到軟甲的時候,在使用現場,會根據之前的需求,以及規格說明書來做相應的測試,以確定軟件達到符合的效果。
6.運行和維護
軟件維護時軟件生命周期中持續時間最長的階段,在軟件開發完成并投入使用后,由于多方面的原因,軟件不能持續適應用戶的需求,要延續軟件的使用壽命,就需要對軟件進行維護,軟件的維護主要包括糾錯性維護和改進型維護兩個方面