複製鏈接
請複製以下鏈接發送給好友

軟件生命週期管理

鎖定
軟件生命週期管理(Application lifecycle management),簡稱ALM,是指軟件的產生直到成熟的全部過程。
中文名
軟件生命週期管理
外文名
Application lifecycle management
簡    寫
ALM
領    域
計算機

軟件生命週期管理軟件生命週期

生命週期是事物發展的客觀規律,軟件同樣存在生命週期。早期的軟件生命週期往往是説“軟件從計劃、需求開始,經歷分析設計、實現、部署、維護,直到最後逐漸消亡的”。這是受到了第一個軟件生命週期模型---瀑布模型影響,上述語句實質上簡要的描述了瀑布型生命週期。 軟件生命週期不再只考慮瀑布型生命週期,另外常見的軟件生命週期模型有原型模型螺旋模型迭代模型。所以軟件生命週期説明應當不再包括瀑布型生命週期中的典型階段。
因此,對軟件生命週期及軟件生命週期模型採用如下定義:
  • 軟件生命週期是指軟件的產生直到成熟的全部過程。
  • 軟件生命週期模型是指人們為開發更好的軟件而歸納總結的軟件生命週期的典型實踐參考。
最近幾年來,給軟件生命週期帶來最多活力的是敏捷軟件開發,使得這個領域呈現出勃勃生機,出現了一些更好響應變化、迎接競爭的生命週期模型。
敏捷軟件開發明確對生命週期模型提出了要求:短迭代開發。迭代模型的歷史可以追溯到上世紀50年代,但以往的迭代模型並沒有對迭代週期長度提出要求。而在敏捷軟件開發中,迭代週期長度一般不超過2個月,而常見的迭代週期是2周到4周,因此可以稱之為“短迭代”。
有些敏捷軟件開發在主開發過程前安排有預研或計劃或架構或需求階段等等,在主開發過程後安排有系統集成測試或驗收測試試運行等等,這樣做並不違反敏捷開發原則,但其主開發過程應當採用短迭代開發,而且主開發過程的工期應當佔有顯著的比例,形成多個短迭代。
敏捷開發講究固定的節奏,建議按照固定的節奏開發,所以短迭代的週期長度在開始選定之後,一般不作改變。同樣的原因,敏捷迭代與迭代之間一般不安排緩衝期,上個迭代未完成的內容放到下個迭代中進行處理。
敏捷開發迭代與瀑布生命週期的階段是不同的。瀑布型中需求分析階段的產物一般是需求規格説明書,不同階段的產物是不同的;而敏捷開發迭代的產物是軟件本身,前期迭代的產物也許不完整,但各個敏捷開發迭代的產物是一致的、逐步改進完善的軟件本身。 [1] 

軟件生命週期管理敏捷軟件開發

敏捷軟件開發(英語:Agile software development),又稱敏捷開發,是一種從1990年代開始逐漸引起廣泛關注的一些新型軟件開發方法,是一種應對快速變化的需求的一種軟件開發能力。它們的具體名稱、理念、過程、術語都不盡相同,相對於“非敏捷”,更強調程序員團隊與業務專家之間的緊密協作、面對面的溝通(認為比書面的文檔更有效)、頻繁交付新的軟件版本、緊湊而自我組織型的團隊、能夠很好地適應需求變化的代碼編寫和團隊組織方法,也更注重軟件開發過程中人的作用。
敏捷軟件開發(或稱快速程序開發RAD)描述了一套軟件開發的價值和原則,在這些開發中,需求和解決方案皆通過自組織跨功能團隊達成。敏捷軟件開發主張適度的項目、進化開發、提前交付與持續改進,並且鼓勵快速與靈活的面對開發與變更。這些原則支持許多軟件開發方法的定義和持續進化。 [1] 

軟件生命週期管理驗收測試

工程及其他相關領域中,驗收測試是指確認一系統是否符合設計規格或契約之需求內容的測試,可能會包括化學測試、物理測試或是性能測試。
系統工程中驗收測試可能包括在系統(例如一套軟件系統、許多機械零件或是一批化學制品)交付前的黑箱測試。
軟件開發者常會將系統開發者進行的驗收測試和客户在接受產品前進行的驗收測試分開。後者一般會稱為使用者驗收測試、終端客户測試、實機(驗收)測試、現場(驗收)測試。
在進行主要測試程序之前,常用冒煙測試作為一個此階段的驗收測試。 [2] 
參考資料
  • 1.    Keuper, Frank; Oecking, Christian; Degenhardt, Andreas; Verlag, Gabler. Application Management: Challenges - Service Creation - Strategies. 2011.
  • 2.    [編輯] 跳轉 ^ Black, Rex. Managing the Testing Process: Practical Tools and Techniques for Managing Hardware and Software Testing. Hoboken, NJ: Wiley. August 2009.