軟體生命周期管理

軟體生命周期管理(Application lifecycle management),簡稱ALM,是指軟體的產生直到成熟的全部過程。

軟體生命周期

生命周期是事物發展的客觀規律,軟體同樣存在生命周期。早期的軟體生命周期往往是說“軟體從計畫、需求開始,經歷分析設計、實現、部署、維護,直到最後逐漸消亡的”。這是受到了第一個軟體生命周期模型---瀑布模型影響,上述語句實質上簡要的描述了瀑布型生命周期。 現在的軟體生命周期不再只考慮瀑布型生命周期,另外常見的軟體生命周期模型有原型模型、螺旋模型、疊代模型。所以現在的軟體生命周期說明應當不再包括瀑布型生命周期中的典型階段。

因此,現在對軟體生命周期及軟體生命周期模型採用如下定義:

•軟體生命周期是指軟體的產生直到成熟的全部過程。

•軟體生命周期模型是指人們為開發更好的軟體而歸納總結的軟體生命周期的典型實踐參考。

最近幾年來,給軟體生命周期帶來最多活力的是敏捷軟體開發,使得這個領域呈現出勃勃生機,出現了一些更好回響變化、迎接競爭的生命周期模型。

敏捷軟體開發明確對生命周期模型提出了要求:短疊代開發。疊代模型的歷史可以追溯到上世紀50年代,但以往的疊代模型並沒有對疊代周期長度提出要求。而在敏捷軟體開發中,疊代周期長度一般不超過2個月,而常見的疊代周期是2周到4周,因此可以稱之為“短疊代”。

有些敏捷軟體開發在主開發過程前安排有預研或計畫或架構或需求階段等等,在主開發過程後安排有系統集成測試或驗收測試或試運行等等,這樣做並不違反敏捷開發原則,但其主開發過程應當採用短疊代開發,而且主開發過程的工期應當占有顯著的比例,形成多個短疊代。

敏捷開發講究固定的節奏,建議按照固定的節奏開發,所以短疊代的周期長度在開始選定之後,一般不作改變。同樣的原因,敏捷疊代與疊代之間一般不安排緩衝期,上個疊代未完成的內容放到下個疊代中進行處理。

敏捷開發疊代與瀑布生命周期的階段是不同的。瀑布型中需求分析階段的產物一般是需求規格說明書,不同階段的產物是不同的;而敏捷開發疊代的產物是軟體本身,前期疊代的產物也許不完整,但各個敏捷開發疊代的產物是一致的、逐步改進完善的軟體本身。

敏捷軟體開發

敏捷軟體開發(英語:Agile software development),又稱 敏捷開發,是一種從1990年代開始逐漸引起廣泛關注的一些新型軟體開發方法,是一種應對快速變化的需求的一種軟體開發能力。它們的具體名稱、理念、過程、術語都不盡相同,相對於“非敏捷”,更強調程式設計師團隊與業務專家之間的緊密協作、面對面的溝通(認為比書面的文檔更有效)、頻繁交付新的軟體版本、緊湊而自我組織型的團隊、能夠很好地適應需求變化的代碼編寫和團隊組織方法,也更注重軟體開發過程中人的作用。

敏捷軟體開發(或稱快速程式開發RAD)描述了一套軟體開發的價值和原則,在這些開發中,需求和解決方案皆通過自組織跨功能團隊達成。敏捷軟體開發主張適度的項目、進化開發、提前交付與持續改進,並且鼓勵快速與靈活的面對開發與變更。這些原則支持許多軟體開發方法的定義和持續進化。

驗收測試

在工程及其他相關領域中, 驗收測試是指確認一系統是否符合設計規格或契約之需求內容的測試,可能會包括化學測試、物理測試或是性能測試。

在系統工程中驗收測試可能包括在系統(例如一套軟體系統、許多機械零件或是一批化學製品)交付前的黑箱測試。

軟體開發者常會將系統開發者進行的驗收測試和客戶在接受產品前進行的驗收測試分開。後者一般會稱為使用者驗收測試、終端客戶測試、實機(驗收)測試、現場(驗收)測試。

在進行主要測試程式之前,常用冒煙測試作為一個此階段的驗收測試。

相關詞條

熱門詞條

聯絡我們