為了用工程化方式有效地管理軟體的全過程,軟體的生存過程也可以劃分為好幾個階段,由此逐步形成“軟體生命週期”的概念;
它是一個從使用者需求開始,經過開發、交付使用,在使用中不斷增補修訂,直至讓位於新軟體的全過程;
概括地說,軟體生命週期由軟體定義、軟體開發和執行維護3個時期組成,每個時期又進一步劃分成若干個階段。
問題定義階段:界定問題的範圍,確切地定義問題;
可行性研究階段:研究問題的範圍,探索這個問題是否值得去解,是否有可行的解決辦法;
需求分析階段:確定目標系統必須具備哪些功能;
另外,要估計完成該項工程所需要的資源和成本,制定工程進度表。
具體設計和實現在前一個時期定義的軟體。
總體設計階段:設計出實現目標系統的幾種可能的方案,權衡利弊推薦一最佳方案,並制定實現最佳方案的詳細計劃,以及設計軟體的體系結構;
詳細設計階段:設計出程式的詳細規格說明;
編碼和單元測試階段:寫出正確的、容易理解、容易維護的程式模組;
綜合測試階段:透過各種型別的測試使軟體達到預定的要求。
維護階段的關鍵任務是:透過各種必要的維護活動使軟體系統持久地滿足使用者的需要。通常的4種維護活動:
改正性維護:診斷和改正使用過程中發現的軟體錯誤;
適應性維護:修改軟體以適應環境的變化;
完善性維護:根據使用者需要改進或擴充軟體使之更完善;
預防性維護:修改軟體從而為將來的維護活動做好準備。
為了用工程化方式有效地管理軟體的全過程,軟體的生存過程也可以劃分為好幾個階段,由此逐步形成“軟體生命週期”的概念;
它是一個從使用者需求開始,經過開發、交付使用,在使用中不斷增補修訂,直至讓位於新軟體的全過程;
概括地說,軟體生命週期由軟體定義、軟體開發和執行維護3個時期組成,每個時期又進一步劃分成若干個階段。
問題定義階段:界定問題的範圍,確切地定義問題;
可行性研究階段:研究問題的範圍,探索這個問題是否值得去解,是否有可行的解決辦法;
需求分析階段:確定目標系統必須具備哪些功能;
另外,要估計完成該項工程所需要的資源和成本,制定工程進度表。
具體設計和實現在前一個時期定義的軟體。
總體設計階段:設計出實現目標系統的幾種可能的方案,權衡利弊推薦一最佳方案,並制定實現最佳方案的詳細計劃,以及設計軟體的體系結構;
詳細設計階段:設計出程式的詳細規格說明;
編碼和單元測試階段:寫出正確的、容易理解、容易維護的程式模組;
綜合測試階段:透過各種型別的測試使軟體達到預定的要求。
維護階段的關鍵任務是:透過各種必要的維護活動使軟體系統持久地滿足使用者的需要。通常的4種維護活動:
改正性維護:診斷和改正使用過程中發現的軟體錯誤;
適應性維護:修改軟體以適應環境的變化;
完善性維護:根據使用者需要改進或擴充軟體使之更完善;
預防性維護:修改軟體從而為將來的維護活動做好準備。