標籤:
一個軟體產品像人的生命一樣,也要經曆孕育、誕生、成長、成熟、衰亡等許多階段,這些階段對應到軟體產品中就是計劃、分析、設計、編程、測試、維護直至被淘汰的全過程,整個過程便被稱為軟體生命週期,它一般分為六個階段:
1.可行性分析與項目開發計劃
這個階段主要確定軟體的開發目標及其可行性,即要求系統分析員與使用者交流,確定“使用者需要電腦解決什麼問題”提出關於“系統目標與範圍的說明”,提交使用者審查和確定。然後把待開發系統的目標用明確的語言描述出來,再從經濟、技術、法律等方面進行可行性分析,最後制定項目開發計劃。
參加人員:使用者、項目負責人、系統分析師
文檔:可行性分析報告、項目開發計劃
2.需求分析
確定使用者對軟體系統的需求,即軟體系統必須做什麼,確定系統的功能、效能、資料和介面等要求,從而確定系統的邏輯模型。
參加人員:使用者、項目負責人、系統分析師
文檔:軟體需求說明書
3.開發階段
1)軟體設計
主要根據需求分析的結果,對整個軟體系統進行設計,如系統架構設計、資料庫設計等等。軟體設計一般分為兩個部分:概要設計和詳細設計
概要設計:開發人員要把確定的各項功能需求轉換成需要的體繫結構,在這個體繫結構中每部分都是意義明確的模組,每個模組都和某些功能需求相對應。因此概要設計就是軟體系統的結構,明確軟體系統由哪些模組組成,以及這些模組的階層、調用關係和模組間的功能,同時確定資料結構和資料庫結構。
參加人員:系統分析師、軟體設計師
文檔:概要設計說明書
詳細設計:主要任務是對每個模組完成的功能進行具體描述,把功能描述轉變為精確的、結構化的流程說明。即該模組的控制結構或邏輯結構是怎樣的,先做什麼,後做什麼,有什麼樣的條件判定,有什麼重複處理等,並用相應的表示工具把這些控制結構表示出來。
參加人員:軟體設計師、程式員
文檔:詳細設計文檔
2)程式編碼
編碼就是把每個模組的控制結構轉換成程式碼。在程式編碼中必須要制定統一的、符合標準的編寫規範,以保證程式的可讀性、易維護性,提高程式的運行效率
參加人員:程式員
3)軟體測試
在軟體設計完成後要經過嚴密的測試,以發現在整個設計過程中存在的問題並加以糾正,這是保證軟體品質的重要手段。測試的主要方式是在設計測試案例的基礎上檢查軟體的各個組成部分,在測試過程中要建立詳細的測試計劃並嚴格按照測試計劃進行測試減少測試的隨意性。整個測試過程分為單元測試、組裝測試以及系統測試三個階段,測試方法主要有白盒測試、黑箱測試兩種。
參加人員:軟體設計師或系統分析師
文檔:軟體測試計劃、測試案例、軟體測試報告
4.運行維護
軟體維護是軟體生命週期中期間最長的階段。在軟體開發完成並投入使用後,由於多方面的原因(發現隱含的錯誤、需求的變更等),軟體不能繼續適應使用者的要求,要延續軟體的使用壽命,就必須對軟體進行維護。軟體維護包括錯誤修正性維護和改進性維護
文檔:項目開發總結報告、使用者手冊、維護文檔
各階段的文檔對應圖
小結:
軟體生命週期是軟體的產生直到報廢的生命週期,每一個周期都有確定的任務,併產生一定規格的文檔(資料),提交給下一個周期作為繼續工作的依據。軟體開發不只是編碼,而是概況了軟體開發的全過程,但是隨著新的物件導向的設計方法和技術的成熟,軟體生命週期設計方法的指導意義正在逐步減少。
軟體生命週期