軟件開發(fā)過程大致可以分為10個階段,實(shí)際開發(fā)過程中的許多過程都是結(jié)合在一起的。
下圖顯示了軟件開發(fā)產(chǎn)品所需的所有流程:
1、啟動
軟件開發(fā)產(chǎn)品的目標(biāo)和可行性主要在軟件開發(fā)項(xiàng)目的啟動階段確定。通過軟件開發(fā)產(chǎn)品的背景、用戶畫像、調(diào)查痛點(diǎn)等。編制項(xiàng)目章程,組建項(xiàng)目團(tuán)隊(duì),包括:產(chǎn)品經(jīng)理、架構(gòu)工程師、UI設(shè)計(jì)師、開發(fā)工程師、測試工程師、運(yùn)維工程師等。
完成上述準(zhǔn)備工作后,召開啟動會議,進(jìn)入下一步。
2、規(guī)劃
在軟件開發(fā)的規(guī)劃階段,首先要確定項(xiàng)目的范圍,創(chuàng)建WBS(工作分解結(jié)構(gòu))確定項(xiàng)目的里程碑和項(xiàng)目計(jì)劃。同時,制定項(xiàng)目管理計(jì)劃,包括成本、質(zhì)量、風(fēng)險等方面的預(yù)測和控制方案。
3、需求
在軟件開發(fā)需求階段,需要分析收集求進(jìn)行需求分析,并由產(chǎn)品經(jīng)理編寫PRD文檔、UI設(shè)計(jì)、高保真設(shè)計(jì)。
最后進(jìn)入需求評審,如果通過評審,進(jìn)入下一步
4、設(shè)計(jì)
在設(shè)計(jì)階段,設(shè)計(jì)師根據(jù)需求文檔設(shè)計(jì)軟件開發(fā)系統(tǒng),包括數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)架構(gòu)、業(yè)務(wù)模式和規(guī)則、流程控制、模塊接口等。輸出總結(jié)設(shè)計(jì)、詳細(xì)設(shè)計(jì)文件、數(shù)據(jù)庫設(shè)計(jì)說明等。
5、開發(fā)
需求明確后,開發(fā)工程師根據(jù)軟件開發(fā)產(chǎn)品原型圖、UI效果圖、實(shí)現(xiàn)產(chǎn)品功能的設(shè)計(jì)文檔。
6、功能測試
開發(fā)工程師開發(fā)完成后,由測試工程師進(jìn)行測試。測試工程師測試到測試BUG反饋給開發(fā),開發(fā)修復(fù)。在測試通過之前,功能測試通常需要進(jìn)行多次,以滿足質(zhì)量要求。
7、端到端測試
根據(jù)完整的業(yè)務(wù)流程設(shè)計(jì),測試人員可以覆蓋整個過程的端到端測試案例,然后根據(jù)端到端案例對系統(tǒng)的所有模塊進(jìn)行全面測試,確保系統(tǒng)能夠滿足要求和驗(yàn)收質(zhì)量標(biāo)準(zhǔn)。
8、用戶驗(yàn)收測試
UAT(UserAcceptanceTest)最后階段是用戶驗(yàn)收測試,最終用戶可以檢查軟件是否符合業(yè)務(wù)要求。UAT最終用戶了解構(gòu)建軟件的要求和目的。此測試是在軟件運(yùn)行前進(jìn)行的最后一次測試。最終用戶使用真實(shí)生活場景并構(gòu)建真實(shí)數(shù)據(jù)UAT在測試用例中,用戶驗(yàn)收測試在驗(yàn)證軟件是否滿足這些業(yè)務(wù)需求方面起著重要作用。
9、上線
通過所有測試,并與客戶或上級達(dá)成協(xié)議后,系統(tǒng)進(jìn)行試運(yùn)行,穩(wěn)定后上線。
上線包括:上線部署、部署后驗(yàn)證、整理交付對象(需求文檔(、設(shè)計(jì)文檔、安裝部署手冊、產(chǎn)品幫助等)及運(yùn)維交接。
10、收尾
在軟件開發(fā)項(xiàng)目的最后階段,移交項(xiàng)目成果,釋放項(xiàng)目團(tuán)隊(duì),進(jìn)行項(xiàng)目回顧總結(jié),項(xiàng)目匯報,完成項(xiàng)目完成。