做爲一個經驗豐富的老司機——ThinkSNS(http://www.thinksns.com)軟件開發團隊,今天咱們來聊聊軟件開發的總體流程,最簡單明瞭的總結則是:服務器
1.軟件規劃階段:開發計劃、質量計劃、測試計劃;業務藍圖 ,也就是須要產生什麼文檔,用到什麼工具?架構
2.軟件概要設計階段:需求分析、概要設計;業務流程圖,即須要產生什麼文檔,用到什麼工具?工具
3.軟件詳細設計階段:詳細設計、系統架構設計、部分編碼;詳細業務流程圖,即須要產生什麼文檔,用到什麼工具?佈局
4.軟件編碼測試階段:編碼、測試及報告,即須要產生什麼文檔,用到什麼工具?測試
5.軟件完成階段:操做手冊、用戶手冊、維護說明,即須要產生什麼文檔,用到什麼工具?網站
那麼,咱們來看一張軟件開發流程圖,您就可以直觀的瞭解到軟件開發步驟了:編碼
那麼,咱們以ThinkSNS團隊的軟件開發經驗,詳細的談談軟件開發每一步:架構設計
一、軟件需求調研設計
內容:經過對軟件項目目標、項目價值點的溝通,初步判斷軟件項目的可行性,並根據溝通狀況初步規劃項目實施路徑,評估項目規模、投入預算等因素。blog
價值:此項工做是軟件開發項目目標與項目價值點可否落地的第一環節,對項目成敗起到決定性做用。
二、擬定軟件開發解決方案
內容:根據軟件開發項目背景溝通,定位項目核心價值點,並以此規劃價值點落地路徑,把軟件開發項目須要解決的核心痛點清晰暴露,提出可行性建議以及實施計劃。
價值:經過體系化的價值點落地路徑和計劃,清晰項目實施的主要方向,讓軟件開發項目資源、時間規劃、人力投入等項目成敗因素在規劃階段就獲得關注,並可以及時預見部分項目疏漏點,儘量在規劃階段下降風險,提升軟件開發成功率。
三、軟件需求文檔製做
內容:根據敲定的解決方案,進行需求文檔製做,肯定軟件功能規劃,細化功能實現方式。
價值:明確功能模塊及其實現方式、敲定功能細節,保障軟件開發工做可以按照解決方案的思路順利進行。
四、軟件原型製做
內容:根據功能結構,進行原型圖製做,功能規劃較複雜狀況下,會加入近似於功能開發完畢後呈現出的功能效果,用於客觀的指導開發工做。
價值:原型圖的製做,可以直觀的表達出功能實現意圖以及效果,結合需求說明文檔,可以最大程度上避免最終功能開發結束後,與預期差距大的問題。
五、實施方案敲定
內容:需求肯定後,軟件開發項目總體時間規劃肯定,總體實施計劃的時間安排,會根據項目需求節點進行規劃;在時間過於緊張的狀況下,會採起分期方案進行開發,一部分先投入使用,後續開發同期進行。
價值:肯定好總體實施計劃後,項目資源的準備就有了明確的時間規劃,項目正式上線運營進入倒計時階段,可以相對緊密地開展準備工做,避免多餘的人力消耗,另外能夠按軟件開發計劃作好市場準備工做。
六、效果圖設計
內容:根據功能規劃,設計效果圖,肯定網站/APP佈局設計,定義總體軟件系統風格。
價值:用於肯定站點設計風格,展現軟件開發完之後的實際視覺效果。
七、軟件研發
內容:根據需求和總體實施計劃開始進行軟件編碼工做,實現軟件功能。
價值:軟件開發需求和設計正式進入實現階段。
八、軟件測試
內容:檢查功能實現是否與軟件需求規劃一致,軟件功能開發是否存在BUG和相關問題。
價值:保障軟件系統質量。
八、軟件系統安裝部署
內容:軟件系統部署到在線服務器,能夠在線進行測試。
價值:在實際運營前,更完全的發現軟件系統遺留問題,減小軟件系統在實際環境中出現問題的可能性。
九、軟件交付驗收
內容:在線測試驗收結束後,針對實際運營服務器的部署,以及相關軟件成果整理,如架構文檔、測試文檔、產品白皮書、接口文檔等。
價值:軟件系統進入實際使用階段。
十、軟件維護
內容:針對軟件系統平常使用問題進行培訓答疑、軟件程序BUG修復、軟件功能使用培訓、服務器管理等,根據軟件開發項目實際所需維護工做制定維護策略,並開始執行。
價值:保障軟件系統上線後,可以穩定支撐運營工做。