一,項目計劃階段。(也可以說是可行性分析階段)
確定了一個軟件以目前的條件可以完成,主要是經濟,技術和社會條件,撰寫可行性分析報告。需求方和開發方共同探討項目中的問題的解決方案;需要的資金,人力,物力;社會方面的影響,例如是否符合法律等;對項目的進度和預期效益進行估計。
二,項目需求分析階段。
對用戶需求進行分析。將用戶的需求用邏輯的軟件工程語言表達出來,設計好功能和數據庫模型,編寫成軟件需求設計書。這個階段要注意的是行業的術語以及行業規則,開發的軟件難免遇到不同行業,我們不是那個行業里面的人,所以對用戶所在行業的需求分析的時候要正確理解他們的術語和規則。當需求得到用戶確認后記得讓用戶簽字。最后提醒一點,需求的變更在項目中很頻繁,必須做好需求變更計劃用以項目正常進行。
三,項目設計階段。
概要設計就是設計軟件的結構,包括組成模塊,模塊的層次結構,模塊的調用關系,每個模塊的功能等等。同時,還要設計該項目的應用系統的總體數據結構和數據庫結構,即應用系統要存儲什么數據,這些數據是什么樣的結構,它們之間有什么關系。
詳細設計階段就是為每個模塊完成的功能進行具體的描述,要把功能描述轉變為精確的、結構化的過程描述。
概要設計階段通常得到軟件結構圖。
詳細設計階段常用的描述方式有:流程圖、N-S圖、PAD圖、偽代碼等。
四,編碼階段。
為程序員分配好編碼任務,將軟件的設計具體為軟件代碼。這里注意的是編碼語言,工具,環境和編碼規范。統一,標準的編碼規范可讓程序可讀和易維護。
五,軟件測試階段。
軟件測試就是利用測試工具按照測試方案和流程對產品進行功能和性能測試,甚至根據需要編寫不同的測試工具,設計和維護測試系統,對測試方案可能出
現的問題進行分析和評估。執行測試用例后,需要跟蹤故障,以確保開發的產品適合需求。
測試,目的是以較小的代價發現盡可能多的錯誤。要實現這個目標的關鍵在于設計一套出色的測試用例。如何才能設計出一套出色的測試用例,關鍵在于理解測試方法。不同的測試方法有不同的測試用例設計方法。兩種常用的測試方法是白盒法測試對象是源程序,依據的是程序內部的的邏輯結構來發現軟件的編程錯誤、結構錯誤和數據錯誤。結構錯誤包括邏輯、數據流、初始化等錯誤。用例設計的關鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果。白盒法和黑盒法依據的是軟件的功能或軟件行為描述,發現軟件的接口、功能和結構錯誤。其中接口錯誤包括內部/外部接口、資源管理、集成化以及系統錯誤。
六,維護階段。
對軟件正式交付使用過程中出現的軟件的bug進行修復,調整軟件以適應正式環境,編寫軟件的維護報告。
傳說中的------------------------------------------------------------------------------------------------------------------分割線
以上是我在搜索軟件工程方面的資料時候簡單的描述了軟件工程的階段。但是個人感覺很多項目在正式過程中只有四個階段,即需求分析,軟件設計,編碼,測試,這是最重要的四個階段。計劃階段和維護階段沒有,也不能說沒有,只是這2個階段應該說不明顯。寫這個資料目的一個溫習下以前學的軟件工程方面的東西,另外一個由于準備寫點個人的東西所以準備下文檔留備用。對于寫文檔我比較頭痛,主要是沒有這方面的經驗,寫的不多,感覺項目文檔中很多東西有點雞肋。希望各位有經驗的老鳥能幫忙提點下有關這個方面的實踐經驗。