軟件工程過程和軟件生存周期
作者:周玲 來源:希賽網
許多計算機和軟件科學家嘗試,把其它工程領域中行之有效的工程學知識運用到軟件開發工作中來。經過不斷實踐和總結,最后得出一個結論:按工程化的原則和方法組織軟件開發工作是有效的,是擺脫軟件危機的一個主要出路。
(1) 軟件工程過程 (Software Engineering Process)
軟件工程過程是為獲得軟件產品,在軟件工具支持下由軟件工程師完成的一系列軟件工程活動。軟件工程過程通常包含四種基本的過程活動:
P(Plan):軟件規格說明。規定軟件的功能及其運行的限制;
D(Do):軟件開發。產生滿足規格說明的軟件;
C(Check):軟件確認。確認軟件能夠完成客戶提出的要求;
A(Action):軟件演進。為滿足客戶的變更要求,軟件必須在使用的過程中演進。
事實上,軟件工程過程是一個軟件開發機構針對某一類軟件產品為自己規定的工作步驟,它應當是科學的、合理的,否則必將影響到軟件產品的質量。
(2) 軟件生存周期 (life cycle)
正如同任何事物一樣,軟件也有一個孕育、誕生、成長、成熟、衰亡的生存過程。我們稱其為計算機軟件的生存周期。根據這一思想,把上述基本的過程活動進一步展開,可以得到軟件生存周期的六個步驟。
1制定計劃:確定要開發軟件系統的總目標,給出它的功能、性能、可靠性以及接口等方面的要求;研究完成該項軟件任務的可行性,探討解決問題的可能方案;制定完成開發任務的實施計劃,連同可行性研究報告,提交管理部門審查。
2需求分析:對待開發軟件提出的需求進行分析并給出詳細的定義。編寫出軟件需求說明書及初步的用戶手冊,提交管理機構評審。
3軟件設計:把已確定了的各項需求轉換成一個相應的體系結構。進而對每個模塊要完成的工作進行具體的描述。編寫設計說明書,提交評審。
4程序編寫:在設計完成之后,用一種適當的程序設計語言或CASE工具把軟件設計轉換成計算機可以接受的程序代碼。應當就風格及清晰性對代碼進行評審,而且反過來應能直接追溯到詳細設計描述。
5軟件測試:在設計測試用例的基礎上檢驗軟件的各個組成部分。單元測試檢查每一單獨的模塊部件的功能和性能。組裝測試提供了構造軟件模塊結構的手段,同時測試其功能和接口。確認測試檢查所有的需求是否都得到滿足。在每一個測試步驟之后,都要進行調試,以診斷和糾正的故障。
6運行/維護:已交付的軟件投入正式使用,并在運行過程中進行適當的維護。為改正錯誤,適應環境變化及功能增強而進行的一系列修改活動。與軟件維護相關聯的那些任務依賴于所要實施的維護的類型。
文章來源于領測軟件測試網 http://www.kjueaiud.com/