軟件配置管理

軟件配置管理

科技術語
軟件配置管理是一種标識、組織和控制修改的技術。軟件配置管理應用于整個軟件工程過程。在軟件建立時變更是不可避免的,而變更加劇了項目中軟件開發者之間的混亂。SCM活動的目标就是為了标識變更、控制變更、确保變更正确實現并向其他有關人員報告變更。
    中文名:軟件配置管理 外文名: 所屬學科:軟件工程 概念:标識、組織和控制修改的技術 目的:使錯誤降為最小,提高生産效率

簡介

軟件配置管理,又稱軟件形态管理、或軟件建構管理,簡稱軟件形管(SCM)。界定軟件的組成項目,對每個項目的變更進行管控(版本控制),并維護不同項目之間的版本關聯,以使軟件在開發過程中任一時間的内容都可以被追溯,包括某幾個具有重要意義的數個組合。

軟件配置管理,貫穿于整個軟件生命周期,它為軟件研發提供了一套管理辦法和活動原則。軟件配置管理無論是對于軟件企業管理人員還是研發人員都有着重要的意義。軟件配置管理可以提煉為三個方面的内容:

VersionControl-版本控制;

ChangeControl-變更控制;

ProcessSupport-過程支持。

關鍵活動包括:配置項、工作空間管理、版本控制、變更控制、狀态報告、配置審計等。

發展曆史

配置管理的概念源于美國空軍,為了規範設備的設計與制造,美國空軍1962年制定并發布了第一個配置管理的标準“AFSCM375-1,CMDuringtheDevelopment&AcquisitionPhases”。

而軟件配置管理概念的提出則在20世紀60年代末70年代初。當時加利福尼亞大學聖巴巴拉分校的LeonPresser教授在承擔美國海軍的航空發動機研制合同期間,撰寫了一篇名為“ChangeandConfigurationControl”的論文,提出控制變更和配置的概念,這篇論文同時也是他在管理該項目(這個過程進行過近一千四百萬次修改)的一個經驗總結。

LeonPresser在1975年成立了一家名為SoftTool的公司,開發了配置管理工具:ChangeandConfigurationControl(CCC),這是最早的配置管理工具之一。

随着軟件工程的發展,軟件配置管理越來越成熟,從最初的僅僅實現版本控制,發展到21世紀初提供工作空間管理、并行開發支持、過程管理、權限控制、變更管理等一系列全面的管理能力,已經形成了一個完整的理論體系。同時在軟件配置管理的工具方面,也出現了大批的産品。

在國外已經有30多年曆史的軟件配置管理,但在國内的發展卻是在21世紀這幾年的事。但是通過專家們的介紹,可以感受到,國内的軟件配置管理已經取得了迅速發展,并得到了軟件公司的普遍認可。

過程描述

一個軟件研發項目一般可以劃分為三個階段:計劃階段、開發階段和維護階段。然而從軟件配置管理的角度來看,後兩個階段所涉及的活動是一緻,所以就把它們合二為一,成為“項目開發和維護”階段。

計劃階段

一個項目設立之初PM首先需要制定整個項?研發計劃之後,軟件配置管理的活動就可以展開了,因為如果不在項目開始之初制定軟件配置管理計劃,那麼軟件配置管理的許多關鍵活動就無法及時有效的進行,而它的直接後果就是造成了項目開發狀況的混亂并注定軟件配置管理活動成為一種“救火”的行為。所以及時制定一份軟件配置管理計劃在一定程度上是項目成功的重要保證。

在軟件配置管理計劃的制定過程中,它的主要流程應該是這樣的:

CCB根據項目的開發計劃确定各個裡程碑和開發策略;

CMO根據CCB的規劃,制定詳細的配置管理計劃,交CCB審核;

CCB通過配置管理計劃後交項目經理批準,發布實施。

開發維護階段

這一階段是項目研發的主要階段。在這一階段中,軟件配置管理活動主要分為三個層面:

1、主要由CMO完成的管理和維護工作;

2、由SIO和DEV具體執行軟件配置管理策略;

3、變更流程。這三個層面是彼此之間既獨立又互相聯系的有機的整體。

在這個軟件配置管理過程中,它的核心流程應該是這樣的:

1、CCB設定研發活動的初始基線;

2、CMO根據軟件配置管理規劃設立配置庫和工作空間,為執行軟件配置管理計劃做好準備;

3、開發人員按照統一的軟件配置管理策略,根據獲得的授權的資源進行項目的研發工作;

4、SIO按照項目的進度集成組内開發人員的工作成果,并構建系統,推進版本的演進;

5、CCB根據項目的進展情況,審核各種變更請求,并适時的劃定新的基線,保證開發和維護工作有序的進行。

這個流程就是如此循環往複,直到項目的結束。當然,在上述的核心過程之外,還涉及其他一些相關的活動和操作流程,下面按不同的角色分工予以列出:

各開發人員按照項目經理發布的開發策略或模型進行工作;

SIO負責将各分項目的工作成果歸并至集成分支,供測試或發布;

SIO可向CCB提出設立基線的要求,經批準後由CMO執行;

CMO定期向項目經理和CCB提交審計報告,并在CCB例會中報告項目在軟件過程中可能存在的問題和改進方案;

在基線生效後,一切對基線和基線之前的開發成果的變更必須經CCB的批準;

CCB定期舉行例會,根據成員所掌握的情況、CMO的報告和開發人員的請求,對配置管理計劃作出修改,并向項目經理負責。

目标

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

配置識别:識别配置、配置項目和基準。

配置控管:導入變更控管流程。該流程通常由變更控制委員會來運行,其主要的職責是核準或拒絕有悖任何基準的所有變更請求。

配置狀态報告:記錄和呈報與開發過程狀态相關的所有必要信息。

配置審核:确保這些配置包含所有預期内容,且備有完整的規定文件(包括要求、結構規範和用戶手冊)。

建構管理:管理用于建構的流程和工具。

流程管理:确保遵循企業組織的開發流程。

環境管理:管理承載系統的軟硬件。

團隊合作:促進流程中團隊彼此間的交互。

缺陷追蹤:确保可溯及每個缺陷的源頭。

随着雲計算的引進,SCM工具的用途有時已互相集成。SCM工具本身轉變為虛拟設施,可以在虛拟機上運行并保存狀态和版本。這些工具能管理并為雲端虛拟資源(包括虛拟設備、存儲設備和軟件包)創建模型。如今,因為現在已經可以動态的激活虛拟服務器和相關資源,SCM管理人員的角色和職責已經與開發人員合并。

管理方針

為了達到上述目标,如下的方針應該得到貫徹執行:

技術部門經理和具體項目主管應該使用和遵循XSSC的OSSP中所描述的軟件配置管理的工作過程。施行軟件配置管理的職責應被明确分配。相關人員得到軟件配置管理方面的培訓。技術部門經理和具體項目主管應該明确他們在相關項目中所擔負的軟件配置管理方面的責任。

軟件配置管理工作應該享有足夠的資金支持,這需要在客戶,技術部門經理和具體項目主管之間協商。軟件配置管理應該實施于如下産品:對外交付的軟件産品,以及那些被選定的在項目中使用的支持類工具等。軟件配置的整體性在整個項目生命周期中得到控制。軟件質量保證人員應該定期審核各類軟件基準以及軟件配置管理工作。使軟件基準的狀态和内容能夠及時通知給相關組别和個人。

相關詞條

相關搜索

其它詞條