軟件開發生命週期,亦叫做軟件生命週期或者系統開發生命週期,是直到生命週期結束的軟件生成生命週期。有問題定義,可行性分析,總體描述,系統設計,編碼,調試和測試,驗收。運行,維護和升級到過時,這種分時的思維方法是軟件工程中的思想原則,即逐步,逐步,每個階段都必須進行定義,工作,審查,文檔記錄以進行交換或檢查以進行改進質量。但是隨著新的面向對象設計方法和技術的成熟,軟件生命週期設計方法的指導意義正在逐漸降低。
將整個軟件開發生命週期劃分為多個階段,以便每個階段都有明確的任務,從而可以輕鬆地控制和管理具有大規模,複雜結構和複雜管理的軟件開發。通常,軟件開發週期包括可行性分析和開發計劃,需求分析,設計(摘要設計和詳細設計),編碼,測試,維護等,可以按照適當的方式分配給不同的階段。
一、需求階段:
通過溝通交流,產出需求文檔,包含頁面的內容,則需要對應的進行設計稿的設計。通過評審會,使涉及到的人都有自己的瞭解,同時對需求進行改進。
涉及到的人包含:
- 產品/項目PM/分析:編寫需求文檔
- 設計人員:設計設計稿
- 開發人員:瞭解需求,瞭解需求所對應的用途,思考原有系統是否有影響或者未涉及到的點,提出自己的疑問並討論。
- 測試人員:瞭解需求,同時回寫測試點,並對可能出現的問題,進行思考並及時提出疑問並討論溝通。
注意點:
需要顧及到系統的老邏輯,防止新加功能,不符合原有邏輯的流程。開發以及測試都需要有對應的瞭解,防止後期在開發中,不清楚系統以及作用的情況下,進行開發。前期儘量考慮全面,防止後期有問題,後期有問題的時候,也可以進行反饋和溝通。
二、開發階段:
涉及人為:
- 開發:編碼,自行測試。
- 產品:對產品進行驗收。
- 測試:編寫測試用例,進行測試用例的評審會議。
- 該階段需要涉及人進行一個測試用例的評審會。
三、測試階段:
測試人員根據測試用例進行測試,並進行問題反饋,編寫測試報告,開發人員進行bug的修復,如有需求不確認的,再找分析/產品/PM等進行確認。bug修復完成後,測試再進行迴歸測試,同時測試還需要兼容性的測試,對依賴項或者機器都進行對應的測試。
灰度發佈:(內部灰度,外部灰度)
為了防止在正式區發生問題,會有一個特定的環境,類似於線上環境,提供給到測試,防止後期出現問題,提前解決問題。
四、發佈階段:
發佈階段,為了防止會有依賴項出現問題,所以會對多臺服務器進行控制,分批進行發佈。