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