軟件配置管理(Software Configuration Management,簡稱:SCM),又稱軟體形態管理、或軟體建構管理,簡稱軟體形管。界定軟體的組成項目,對每個項目變更進行管控(版本控制),並維護不同項目之間的版本關聯,以使軟體在開發過程中任一時間的內容都可以被追溯,包括某幾個具有重要意義的數個組合,例如某一次交付給客戶的軟體內容。

SCM的簡稱已經擴展為「原始碼配置管理」(source configuration management)以及「軟體修改及配置管理」 (software change and configuration management)[1]。不過,「配置」一詞一般還是會指系統管理員才能進行的變更。

目的

SCM的目標一般包括以下幾項:

  • 配置識別:識別配置、配置項目基準
  • 配置控管:導入變更控管流程。該流程通常由變更控制委員會來執行,其主要的職責是核准或拒絕有悖任何基準的所有變更請求。
  • 配置狀態報告:記錄和呈報與開發過程狀態相關的所有必要資訊。
  • 配置稽核:確保這些配置包含所有預期內容,且備有完整的規定文件(包括要求、結構規範和使用者手冊)。
  • 建構管理:管理用於建構的流程和工具。
  • 流程管理:確保遵循企業組織的開發流程。
  • 環境管理:管理承載系統的軟硬體。
  • 團隊合作:促進流程中團隊彼此間的互動。
  • 缺陷追蹤:確保可溯及每個缺陷的源頭。

隨著雲端運算的引進,SCM工具的用途有時已互相整合。SCM工具本身轉變為虛擬設施,可以在虛擬機上執行並保存狀態和版本。這些工具能管理並為雲端虛擬資源(包括虛擬設備、儲存設備和軟體套件)建立模型。如今,因為現在已經可以動態的啟用虛擬伺服器和相關資源,SCM管理人員的角色和職責已經與開發人員合併[2]

歷史

軟體配置管理(SCM)在運算領域的應用可以追溯至1950年代。當時,原先用於硬體開發和生產控制的CM(配置管理)概念,轉而應用於軟體開發。早期的軟體都有實體,如打孔卡打孔帶磁帶和其他媒介。第一個軟體配置管理需經由人為操作。隨著程式語言及其複雜性不斷進展,涉及配置管理和其他方法的軟體工程由於時程、預算和品質等因素而成為主要隱憂。多年來的實踐經驗,為軟體開發流程和工具提供定義並奠定基礎。而這些工具最終成為管理軟體變更的系統[3]。業界普遍的做法,即是採用開放或專有方式(如修訂控制系統)來作為解決方案。隨著電腦的使用越來越普及,可處理大型任務範疇的系統也因應而生,包括需求管理、設計替代方案、品質控管等。隨後,工具均遵循企業組織的守則,如軟體工程學院英語Software Engineering Institute建立的能力成熟度模型(CMM)。

參見

參考文獻

延伸閱讀

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.