軟體生存週期包括軟體定義階段、軟體開發階段和軟體使用、維護和更新換代階段。系統分析師、設計師、程式設計人員、測試人員以及維護人員可以作為參考,了解軟體整個生命週期的階段。
1、軟體定義階段
軟體定義階段的基本任務是確定軟體系統的工程需要,可分為兩個階段。
1.1、軟體系統的可行性研究
-經濟可行性研究
-技術可行性研究
-法律可行性研究
-開發方案的選擇性研究
可行性研究的任務是了解使用者的要求及實現的環境,從技術、經濟和社會等各個方面進行研究,並從成功和風險兩方面來論證軟體系統的可行性。參與軟體開發的分析人員應在使用者配合下對使用者要求及實現環境作深入細緻的調查,寫出調研報告,並進行可行性論證。
1.2、專案需求分析
-軟體功能需求:系統必須完成的功能
-軟體效能需求:安全性、可靠性、可維護性和使用者培訓等
-軟體執行環境約束
-需求建模
-問題抽象、問題分解與多視點分析
-支援需求分析的快速原型技術
-需求規格說明與評審
軟體需求是指使用者對其目標軟體系統的功能、行為、效能、設計約束等諸方面的期望。用過與使用者反覆交流,對應用問題及環境充分地理解與分析,為問題涉及的資訊、功能及系統行為建立模型。去除無關的和使人誤解的資訊,尋找是否有對類似問題的解決辦法,將使用者需求精確化、完全化,最終形成需求規格說明,完成軟體開發生存週期的需求分析階段。
2、軟體開發階段
軟體開發階段包括概要設計、詳細設計、實現、組裝測試和確認測試5個階段。
2.1、概要設計:根據軟體需求規格說明進行
-建立系統總體結構和各模組之間的關係
-定義各功能模組的介面
-設計全域性資料庫或資料結構
-規定設計約束
-制定組裝測試計畫
2.2、詳細設計
-對概要設計進行細化
-建立文件資料
2.3、實現
-選擇何時的程式語言編寫程式
-制定模組測試方案和測試資料
-制定模組預期測試結果
-制定組裝測試方案和測試資料
-制定預期測試結果
-儲存相應的文件資料
2.4、組裝測試
-根據模組測試方案和測試資料進行模組測試
-根據組裝測試方案和測試資料逐步進行組裝測試
-系統各模組連線正確性測試
-軟體系統或子系統的正確性和容錯性能測試
-儲存相應的文件資料
2.5、確認測試
-由專家、客戶、開發人員組成系統測試評審小組
-向使用者提供最終的使用者手冊、操作手冊、源程式清單及其他軟體文件資料
-三方共同根據組裝測試方案和測試資料逐條嚴格進行組裝測試,確認軟體系統是否達到使用者的系統需求
-確認系統測試結束時應建立確認系統測試報告、專案開發總結報告
-儲存相應文件資料
由專家、客戶、開發人員組成的軟體測試評審小組在對軟體確認報告、測試結果和軟體經銷評審通過以後,軟體產品得到確認,就可以交付使用者使用。另外需要強調說明的是,軟體在開發過程中通常會有很多中方案可供人們選擇,可以根據成本、進度、功能、效能、系統複雜性、時空開銷、風險等諸方面進行折衷平衡,以便用較小的代價實現客戶對軟體總體目標的需求。
3、軟體使用、維護和更新換代階段
3.1、軟體的使用
-推廣軟體的應用。使用軟體的使用者越多,其社會經濟效果越大
-客戶和系統維護人員必須認真收集軟體使用時發現的軟體錯誤
-定期撰寫「軟體問題報告」
3.2、系統維護
-對發現的軟體產品中潛伏的錯誤進行修改維護
-對使用者提出的軟體需求進行修改維護
-軟體執行環境發生變化時需要對軟體進行修改維護
-對軟體定義和軟體開發各階段生存的文件資料進行修改維護
軟體維護需要花費大量勞動,軟體維護的好壞直接影響到軟體的應用和軟體生存週期,而軟體的可維護性又與軟體設計密切相關,所以軟體在開發過程中應當重視對軟體可維護性的支援。
3.3、系統更新換代
軟體生存週期的最後乙個階段。本軟體已完成其歷史使命,但軟體中的一些構件或模組還可以復用,可以成為新系統的乙個組成部分。
(以上摘自《物件導向技術導論-系統分析與設計》一書)
軟體生存週期的各個階段(可作為軟體開發流程使用)
軟體生存週期包括軟體定義階段 軟體開發階段和軟體使用 維護和更新換代階段。系統分析師 設計師 程式設計人員 測試人員以及維護人員可以作為參考,了解軟體整個生命週期的階段。1 軟體定義階段 軟體定義階段的基本任務是確定軟體系統的工程需要,可分為兩個階段。1.1 軟體系統的可行性研究 經濟可行性研究 技...
軟體生存週期的各個階段(可作為軟體開發流程使用)
軟體生存週期包括軟體定義階段 軟體開發階段和軟體使用 維護和更新換代階段。系統分析師 設計師 程式設計人員 測試人員以及維護人員可以作為參考,了解軟體整個生命週期的階段。1 軟體定義階段 軟體定義階段的基本任務是確定軟體系統的工程需要,可分為兩個階段。1.1 軟體系統的可行性研究 經濟可行性研究 技...
軟考 軟體生存週期
軟體有乙個孕育 誕生 成長 成熟 衰亡的生存過程。可行性分析 此階段由軟體開發方與需求方共同討論,主要確定軟體的開發目標及可行性。需求分析 在確定軟體開發可行的情況下,對軟體需要實現的各個功能進行詳細分析。需求分析是乙個很重要的階段,主要解決 做什麼 的問題。概要設計 此階段主要根據需求分析的結果,...