GitHub Resources 這篇文章說明「軟體開發生命週期」(Software Development Lifecycle,簡稱 SDLC)是什麼。SDLC 是一套管理軟體專案從頭到尾的框架,涵蓋需求蒐集、系統設計、撰寫程式、測試、部署與維護,整個過程呈現循環狀,維護階段發現的問題又會回饋到規劃階段,讓團隊持續改善專案品質。
文章把 SDLC 拆成六個具體階段:需求蒐集與分析階段要做訪談、工作坊與問卷;系統設計階段由架構師用 UML、資料流程圖畫出模組化架構;接著是撰寫程式、進行程式碼審查;測試階段包含單元測試、整合測試與滲透測試;部署階段常用藍綠部署(兩套相同環境切換)、金絲雀部署(逐步放量)或滾動式部署;最後是上線後的維護與修補。
文章也比較了五種常見的開發方法論:敏捷式以一到四週為一個衝刺,適合快速交付但時程較難預測;疊代式從回饋中反覆修正;螺旋式在每個階段加入風險評估,適合大型高風險專案;V 型方法讓每個開發階段都對應一個測試階段;精實方法則強調消除浪費、即時決策。文章建議團隊依專案規模與風險程度挑選合適的方法論,而不是只用一種套路。
對正在學程式的孩子來說,SDLC 提供了一個很好的心智模型:寫程式不是只有「打字」,而是從釐清需求、設計架構、動手實作、測試除錯到上線維護的完整過程。家長可以鼓勵孩子在做自己的小專案時,試著照著這六個階段走一遍,例如先想清楚要解決什麼問題、畫個簡單流程圖,再開始寫程式與測試,養成有條理的開發習慣。
軟體工程開發流程DevOps程式教育