軟體演化過程

軟體過程的概念包含了軟體生命周期里所涉及的一系列相關過程,它為管理那些軟體開發過程中較難控制的活動提供了一個統一的框架。

基本介紹

  • 中文名:軟體演化過程
  • 外文名:Software evolution process
  • 特點:系列相關過程
  • 實質:件開發過程中較難控制
概念,基本特徵,

概念

軟體過程的概念包含了軟體生命周期里所涉及的一系列相關過程,它為管理那些軟體開發過程中較難控制的活動提供了一個統一的框架。軟體過程是在軟體生命周期中所實施的一系列活動的集合,活動是任務的集合,任務則起到把輸入加工成輸出的作用。軟體演化過程作為軟體過程的一個分支,它同樣也是一種軟體過程,它通過對軟體演化過程中的一些較難以控制的活動進行管理,試圖為軟體演化過程建立一個統一的流程框架。軟體演化能否取得成功在很大的程度上取決於組織所實施的軟體演化過程。因而,它對於軟體的演化具有重要的意義。同時,Osterweil提出的一個廣泛被接受的觀點“軟體過程也是軟體”,軟體演化過程作為軟體過程的一個分支,同樣,我們也可以像軟體一樣對其進行相關建模和編檔。
軟體演化是軟體工程領域正逐步受到重視的研究方向,並將得到越來越多的關注。文獻從軟體演化管理的角度,較為系統地討論了軟體演化過程的相關問題,包括軟體演化過程元模型EPMM、軟體演化過程描述語言EPDL、軟體演化過程框架、軟體演化過程建模方法、軟體演化過程改進等。文獻還給出了一個軟體演化過程的支撐工具,並提供了多個案例研究。
軟體演化過程的目標就是在不違反系統約束的條件下,對軟體系統的演化流程進行管理,從而使演化後的軟體系統能夠在功能滿足用戶的需求,同時它所展現出來的質量屬性也維持在一個令人滿意的水平上。文獻的作者認為軟體演化過程應該具有如下的5個基本特徵。

基本特徵

(1) 疊代:軟體演化會促使軟體進行持續和不斷的改變,與傳統的軟體開發過程相比,許多活動會以更高的頻率反覆執行。
(2) 並發:在軟體演化的過程中有許多並發執行的活動,其並發行高於傳統的軟體開發過程。
(3) 非確定性:對於一個足夠複雜的軟體過程而言,軟體演化過程模型無法描述其演化的全部細節。軟體演化過程的執行會因環境不同而不同。
(4) 反饋驅動:儘管促使軟體系統演化的原因很複雜,但演化推動力必然是由於對需求的不滿導致的。所以,軟體演化必然是被用戶需求和環境共同作用而驅動。
(5) 多層結構:人們從不同的角度可以觀察到不同粒度的過程和活動,為了減小這種複雜度,軟體演化過程應該劃分成不同的層次。

相關詞條

熱門詞條

聯絡我們