1.計劃
對所要解決的問題進(jìn)行總體定義,包括了解用戶的要求及現(xiàn)實環(huán)境,從技術(shù)、經(jīng)濟和社會因素等3個方面研究并論證本軟件項目的可行性,編寫可行性研究報告,探討解決問題的方案,并對可供使用的資源(如計算機硬件、系統(tǒng)軟件、人力等)成本,可取得的效益和開發(fā)進(jìn)度作出估計,制訂完成開發(fā)任務(wù)的實施計劃。
2.分析
軟件需求分析就是對開發(fā)什么樣的軟件的一個系統(tǒng)的分析與設(shè)想。它是一個對用戶的需求進(jìn)行去粗取精、去偽存真、正確理解,然后把它用軟件工程開發(fā)語言(形式功能規(guī)約,即需求規(guī)格說明書)表達(dá)出來的過程。
本階段的工作是根據(jù)需求說明書的要求,設(shè)計建立相應(yīng)的軟件系統(tǒng)的體系結(jié)構(gòu),并將整個系統(tǒng)分解成若干個子系統(tǒng)或模塊,定義子系統(tǒng)或模塊間的接口關(guān)系,對各子系統(tǒng)進(jìn)行具體設(shè)計定義,編寫軟件概要設(shè)計和詳細(xì)設(shè)計說明書,數(shù)據(jù)庫或數(shù)據(jù)結(jié)構(gòu)設(shè)計說明書,組裝測試計劃。
3.設(shè)計
軟件設(shè)計可以分為概要設(shè)計和詳細(xì)設(shè)計兩個階段。
概要設(shè)計就是結(jié)構(gòu)設(shè)計,其主要目標(biāo)就是給出軟件的模塊結(jié)構(gòu),用軟件結(jié)構(gòu)圖表示。
詳細(xì)設(shè)計的首要任務(wù)就是設(shè)計模塊的程序流程、算法和數(shù)據(jù)結(jié)構(gòu),次要任務(wù)就是設(shè)計數(shù)據(jù)庫,常用方法還是結(jié)構(gòu)化程序設(shè)計方法。
4.編碼
軟件編碼是指把軟件設(shè)計轉(zhuǎn)換成計算機可以接受的程序,即寫成以某一程序設(shè)計語言表示的“源程序清單”。
5.測試
軟件測試的目的是以較小的代價發(fā)現(xiàn)盡可能多的錯誤。不同的測試方法有不同的測試用例設(shè)計方法。
白盒法測試對象是源程序,依據(jù)的是程序內(nèi)部的的邏輯結(jié)構(gòu)來發(fā)現(xiàn)軟件的編程錯誤、結(jié)構(gòu)錯誤和數(shù)據(jù)錯誤。結(jié)構(gòu)錯誤包括邏輯、數(shù)據(jù)流、初始化等錯誤。
黑盒法用例設(shè)計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。
白盒法和黑盒法依據(jù)的是軟件的功能或軟件行為描述,發(fā)現(xiàn)軟件的接口、功能和結(jié)構(gòu)錯誤。其中接口錯誤包括內(nèi)部/外部接口、資源管理、集成化以及系統(tǒng)錯誤。
6.維護(hù)
維護(hù)是指在已完成對軟件的研制(分析、設(shè)計、編碼和測試)工作并交付使用以后,對軟件產(chǎn)品所進(jìn)行的一些軟件工程的活動。
即根據(jù)軟件運行的情況,對軟件進(jìn)行適當(dāng)修改,以適應(yīng)新的要求,以及糾正運行中發(fā)現(xiàn)的錯誤。編寫軟件問題報告、軟件修改報告。