軟件開發(fā)流程即軟件設(shè)計(jì)思路和方法的一般過程,包括設(shè)計(jì)軟件的功能和實(shí)現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計(jì)和模塊設(shè)計(jì)、編程和調(diào)試、程序聯(lián)調(diào)和測試以及編寫、提交程序等一系列操作。
軟件開發(fā)流程包括開發(fā)流程、軟件維護(hù)、軟件升級(jí)等;開發(fā)流程包括需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試(白盒、黑盒等)、軟件交付、驗(yàn)收、維護(hù)。
開發(fā)流程
1.軟件需求分析師向終使用用戶初步了解需求,然后用相關(guān)的工具軟件列出要軟件開發(fā)的系統(tǒng)的大的功能模塊,每個(gè)大功能模塊又細(xì)分出哪些小功能模塊,對于有些軟件需求比較明確相關(guān)的界面時(shí),在這一步里面可以初步定義好少量的界面原型,交付給終用戶確認(rèn)時(shí)好使用界面原型進(jìn)行溝通交流。
開發(fā)流程
需求分析
1.軟件需求分析師向終使用用戶初步了解需求,然后用相關(guān)的工具軟件列出要軟件開發(fā)的系統(tǒng)的大的功能模塊,每個(gè)大功能模塊又細(xì)分出哪些小功能模塊,對于有些軟件需求比較明確相關(guān)的界面時(shí),在這一步里面可以初步定義好少量的界面原型,交付給終用戶確認(rèn)時(shí)好使用界面原型進(jìn)行溝通交流。
2.軟件需求分析師深入了解和分析需求,根據(jù)自己的軟件開發(fā)經(jīng)驗(yàn)和需求用WORD或相關(guān)的工具再做出一份文檔系統(tǒng)的功能需求文檔。這次的文檔會(huì)清楚列出系統(tǒng)大致的大功能模塊,大功能模塊有哪些小功能模塊,并且還列出相關(guān)的界面和界面功能。
3.軟件需求分析師向用戶再次確認(rèn)需求。
首先,軟件開發(fā)公司的項(xiàng)目經(jīng)理安排專業(yè)的系統(tǒng)設(shè)計(jì)師需要對軟件系統(tǒng)進(jìn)行概要設(shè)計(jì),即系統(tǒng)設(shè)計(jì)。概要設(shè)計(jì)需要對軟件系統(tǒng)的設(shè)計(jì)進(jìn)行全面考慮,包括系統(tǒng)的基本處理流程、系統(tǒng)的組織結(jié)構(gòu)、模塊劃分、功能分配、接口設(shè)計(jì)、運(yùn)行設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和出錯(cuò)處理設(shè)計(jì)等,為軟件的詳細(xì)設(shè)計(jì)提供基礎(chǔ)。
軟件開發(fā)公司在軟件編碼階段,開發(fā)者根據(jù)《軟件系統(tǒng)詳細(xì)設(shè)計(jì)報(bào)告》中對數(shù)據(jù)結(jié)構(gòu)、算法分析和模塊實(shí)現(xiàn)等方面的設(shè)計(jì)要求,使用規(guī)定的開發(fā)語言,開始具體的編寫程序工作,按照開發(fā)計(jì)劃,分別實(shí)現(xiàn)各模塊的功能,從而實(shí)現(xiàn)對目標(biāo)系統(tǒng)的功能、性能、接口、界面等方面的要求。在代碼編寫規(guī)范化的研發(fā)流程中,軟件編碼工作在整個(gè)項(xiàng)目流程里多不會(huì)超過1/2,通常在1/3的時(shí)間,所謂磨刀不誤砍柴功,設(shè)計(jì)過程完成的好,編碼效率就會(huì)極大提高,編碼時(shí)不同模塊之間的進(jìn)度協(xié)調(diào)和協(xié)作是最需要小心的,也許一個(gè)小模塊的問題就可能影響了整體進(jìn)度,讓很多程序員因此被迫停下工作等待,這種問題在很多研發(fā)過程中都出現(xiàn)過。編碼時(shí)的相互溝通和應(yīng)急的解決手段都是相當(dāng)重要的,對于程序員而言,bug永遠(yuǎn)存在,你必須永遠(yuǎn)面對這個(gè)問題,大名鼎鼎的微軟,可曾有連續(xù)三個(gè)月不發(fā)補(bǔ)丁的時(shí)候嗎?從來沒有!
軟件 測試編寫好的系統(tǒng)。交給用戶使用,用戶使用后一個(gè)一個(gè)的確認(rèn)每個(gè)軟件功能。軟件測試有很多種:按照測試執(zhí)行方,可以分為內(nèi)部測試和外部測試;按照測試范圍,可以分為模塊測試和整體聯(lián)調(diào);按照測試條件,可以分為正常操作情況測試和異常情況測試;按照測試的輸入范圍,可以分為全覆蓋測試和抽樣測試。以上都很好理解,不再解釋??傊?,測試同樣是項(xiàng)目研發(fā)中一個(gè)相當(dāng)重要的步驟,對于一個(gè)大型軟件,3個(gè)月到1年的外部測試都是正常的,因?yàn)橛肋h(yuǎn)都會(huì)有不可預(yù)料的問題存在。完成測試后,完成驗(yàn)收并完成后的一些幫助文檔,整體項(xiàng)目才算告一段落,當(dāng)然日后少不了升級(jí),修補(bǔ)等等工作,只要不是想通過一錘子買賣騙錢,就要不停的跟蹤軟件的運(yùn)營狀況并持續(xù)修補(bǔ)升級(jí),直到這個(gè)軟件被徹底淘汰為止。3.軟件需求分析師向用戶再次確認(rèn)需求。
概要設(shè)計(jì)
首先,軟件開發(fā)公司的項(xiàng)目經(jīng)理安排專業(yè)的系統(tǒng)設(shè)計(jì)師需要對軟件系統(tǒng)進(jìn)行概要設(shè)計(jì),即系統(tǒng)設(shè)計(jì)。概要設(shè)計(jì)需要對軟件系統(tǒng)的設(shè)計(jì)進(jìn)行全面考慮,包括系統(tǒng)的基本處理流程、系統(tǒng)的組織結(jié)構(gòu)、模塊劃分、功能分配、接口設(shè)計(jì)、運(yùn)行設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和出錯(cuò)處理設(shè)計(jì)等,為軟件的詳細(xì)設(shè)計(jì)提供基礎(chǔ)。
編碼
軟件開發(fā)公司在軟件編碼階段,開發(fā)者根據(jù)《軟件系統(tǒng)詳細(xì)設(shè)計(jì)報(bào)告》中對數(shù)據(jù)結(jié)構(gòu)、算法分析和模塊實(shí)現(xiàn)等方面的設(shè)計(jì)要求,使用規(guī)定的開發(fā)語言,開始具體的編寫程序工作,按照開發(fā)計(jì)劃,分別實(shí)現(xiàn)各模塊的功能,從而實(shí)現(xiàn)對目標(biāo)系統(tǒng)的功能、性能、接口、界面等方面的要求。在代碼編寫規(guī)范化的研發(fā)流程中,軟件編碼工作在整個(gè)項(xiàng)目流程里多不會(huì)超過1/2,通常在1/3的時(shí)間,所謂磨刀不誤砍柴功,設(shè)計(jì)過程完成的好,編碼效率就會(huì)極大提高,編碼時(shí)不同模塊之間的進(jìn)度協(xié)調(diào)和協(xié)作是最需要小心的,也許一個(gè)小模塊的問題就可能影響了整體進(jìn)度,讓很多程序員因此被迫停下工作等待,這種問題在很多研發(fā)過程中都出現(xiàn)過。編碼時(shí)的相互溝通和應(yīng)急的解決手段都是相當(dāng)重要的,對于程序員而言,bug永遠(yuǎn)存在,你必須永遠(yuǎn)面對這個(gè)問題,大名鼎鼎的微軟,可曾有連續(xù)三個(gè)月不發(fā)補(bǔ)丁的時(shí)候嗎?從來沒有!
測試
軟件交付
在軟件測試證明軟件達(dá)到要求后,軟件開發(fā)者應(yīng)向用戶提交開發(fā)的目標(biāo)安裝程序、數(shù)據(jù)庫的數(shù)據(jù)字典、《用戶安裝手冊》、《用戶使用指南》、需求報(bào)告、設(shè)計(jì)報(bào)告、測試報(bào)告等雙方合同約定的產(chǎn)物。
《用戶安裝手冊》應(yīng)詳細(xì)介紹安裝軟件對運(yùn)行環(huán)境的要求、安裝軟件的定義和內(nèi)容、在客戶端、服務(wù)器端及中間件的具體安裝步驟、安裝后的系統(tǒng)配置。
《用戶使用指南》應(yīng)包括軟件各項(xiàng)功能的使用流程、操作步驟、相應(yīng)業(yè)務(wù)介紹、特殊提示和注意事項(xiàng)等方面的內(nèi)容,在需要時(shí)還應(yīng)舉例說明。
用戶驗(yàn)收。
根據(jù)用戶需求的變化或環(huán)境的變化,對應(yīng)用程序進(jìn)行全部或部分的修改。
驗(yàn)收
用戶驗(yàn)收。