登錄

軟件配置管理

百科 > 軟件項(xiàng)目管理 > 軟件配置管理

1.什么是軟件配置管理

軟件配置管理(SCM)是指在開發(fā)過程中各階段,管理計(jì)算機(jī)程序演變的學(xué)科,它作為軟件工程的關(guān)鍵元素。已經(jīng)成為軟件開發(fā)和維護(hù)的重要組成部分。SCM提供了結(jié)構(gòu)化的、有序化的、產(chǎn)品化的管理軟件工程的方法。它涵蓋了軟件生命周期的所有領(lǐng)域并影響所有數(shù)據(jù)和過程。

配置管理是對產(chǎn)品進(jìn)行標(biāo)識(shí)、存儲(chǔ)和控制,以維護(hù)其完整性、可追溯性以及正確性的學(xué)科。

2.配置管理的任務(wù)

配置管理的任務(wù)如下圖所示:

Image:配置管理的任務(wù).jpg

(1)定義配置項(xiàng):軟件配置項(xiàng)(SCI)即軟件配置管理的對象。軟件開發(fā)過程中產(chǎn)生的所有信息構(gòu)成軟件配置,它們是:代碼(源代碼、目標(biāo)代碼)以及數(shù)據(jù)結(jié)構(gòu)(內(nèi)部數(shù)據(jù)、外部數(shù)據(jù))、文檔(技術(shù)文檔、管理文檔、需方文檔)、報(bào)告,其中每一項(xiàng)稱為配置項(xiàng),軟件配置項(xiàng)是配置管理的基本單位。同時(shí),開發(fā)過程中使用的環(huán)境,如操作系統(tǒng)、各種支撐軟件、配置管理工具,也可納入軟件配置管理范圍。

(2)標(biāo)識(shí)配置項(xiàng):正確標(biāo)識(shí)軟件配置項(xiàng)對整個(gè)管理活動(dòng)非常重要,對軟件開發(fā)過程中的所有軟件項(xiàng)目賦予唯一的標(biāo)識(shí)符,便于對其進(jìn)行狀態(tài)控制和管理。

配置標(biāo)識(shí)包括:文檔標(biāo)識(shí)、代碼標(biāo)識(shí)、運(yùn)行文件標(biāo)識(shí)。

典型的命名規(guī)則是RUP法。

(3)定義基線:基線標(biāo)志著軟件開發(fā)過程一個(gè)階段的結(jié)束,任一軟件配置項(xiàng),一旦形成文檔并審議通過,即成為基線。基本的作用在于把各階段的工作劃分得更明確,使本來連續(xù)的工作在這些點(diǎn)上斷開,以便檢驗(yàn)和肯定階段成果。

(4)定義軟件配置庫:軟件配置庫內(nèi)容因涵蓋開發(fā)的全過程,應(yīng)包括如表所示的軟件項(xiàng):

表 軟件開發(fā)過程與軟件配置庫

模型、文檔庫代碼庫運(yùn)行庫
軟件分析設(shè)計(jì)軟件實(shí)現(xiàn)軟件運(yùn)行
軟件分析設(shè)計(jì)模型源代碼可執(zhí)行代碼
軟件分析設(shè)計(jì)文檔目標(biāo)代碼使用數(shù)據(jù)
測試數(shù)據(jù)
軟件開發(fā)環(huán)境軟件運(yùn)行環(huán)境

基線技術(shù)將項(xiàng)目實(shí)施配置管理的存儲(chǔ)庫分為3類:開發(fā)庫、受控庫、產(chǎn)品庫。

①開發(fā)庫:存放在開發(fā)過程中按照要求生成的各種技術(shù)文檔、源代碼、可執(zhí)行代碼和使用的數(shù)據(jù),為開發(fā)人員的活動(dòng)提供支持。

② 受控庫:存放基線產(chǎn)品即項(xiàng)目轉(zhuǎn)階段經(jīng)評(píng)審?fù)ㄟ^的和已經(jīng)批準(zhǔn)的軟件工作產(chǎn)品和軟件產(chǎn)品。

③產(chǎn)品庫:存放項(xiàng)目正式交付用戶的最終產(chǎn)品和最終運(yùn)行環(huán)境。

(5)控制配置:配置控制的定義是為了明確配置管理在具體實(shí)現(xiàn)時(shí)所執(zhí)行的配置規(guī)程,主要包括入庫控制和變更控制。

(6)配置審計(jì):包含了物理和功能上的審計(jì)。包括以下活動(dòng):① 驗(yàn)證每個(gè)軟件配置項(xiàng)的正確性、一致性、完備性、有效性、可追蹤性;② 在軟件生存期內(nèi)應(yīng)定期配置審計(jì)工作;③定期進(jìn)行軟件備份,應(yīng)保證備份介質(zhì)的安全性和可用性。

(7)配置狀態(tài)報(bào)告:提供軟件開發(fā)過程的歷史記錄,內(nèi)容包括配置管理項(xiàng)的現(xiàn)行狀態(tài)及何時(shí)因何故發(fā)生了何事(入庫、更動(dòng))。配置管理人員應(yīng)定期或在需要時(shí)提交配置狀態(tài)報(bào)告。配置狀態(tài)報(bào)告包含了整個(gè)軟件生命周期中對基線所有變更的可追蹤性。

3.實(shí)施軟件配置管理的優(yōu)點(diǎn)

  • 節(jié)約費(fèi)用:縮短開發(fā)周期、減少施工費(fèi)用
  • 利于知識(shí)庫的建立:代碼對象庫、業(yè)務(wù)及經(jīng)驗(yàn)庫
  • 規(guī)范管理:量化工作量考核、規(guī)范測試、加強(qiáng)協(xié)調(diào)與溝通。

4.配置軟件管理實(shí)施的流程

1.規(guī)劃、調(diào)整網(wǎng)絡(luò)開發(fā)環(huán)境

一個(gè)規(guī)劃良好的開發(fā)環(huán)境,是實(shí)施配置管理系統(tǒng)的前提。此階段要對配置管理系統(tǒng)做出規(guī)劃,主要考慮以下問題:

  • 網(wǎng)絡(luò)的帶寬、拓?fù)浣Y(jié)構(gòu)
  • 服務(wù)器的選擇、命名規(guī)范
  • 存儲(chǔ)區(qū)的定位
  • 開發(fā)人員及組的命名規(guī)約等。

2.設(shè)計(jì)配置管理庫

根據(jù)項(xiàng)目開發(fā)的要求,設(shè)計(jì)開發(fā)資源的存儲(chǔ)模式,良好的存儲(chǔ)模式有利于減輕管理上的負(fù)擔(dān),增強(qiáng)配置管理庫的訪問性能,同時(shí)便于控制訪問權(quán)限,保護(hù)軟件資產(chǎn)。

3.定義配置管理系統(tǒng)的角色

需要確定與配置管理相關(guān)的所有角色,包括他們的相應(yīng)的活動(dòng)。在開發(fā)過程中,一個(gè)開發(fā)人員可能兼任多種角色,但一項(xiàng)任務(wù)在同一時(shí)刻只能由一個(gè)角色來執(zhí)行。

一般配置管理中的角色主要包括:

  • 配置管理員
  • 軟件開發(fā)人員
  • 集成人員
  • QA人員

4.制定配置管理流程

配置管理實(shí)施的一個(gè)重要階段,主要目的是根據(jù)項(xiàng)目開發(fā)的需要,制定相應(yīng)的配置管理流程,以更好地支持開發(fā),主要活動(dòng)包括:

  • 定制并行開發(fā)策略。合理的并行開發(fā)策略應(yīng)該具有以下特點(diǎn):協(xié)調(diào)項(xiàng)目的復(fù)雜性和需求,統(tǒng)一創(chuàng)建分支類型和元數(shù)據(jù),為開發(fā)過程中的變更集成制定有效的規(guī)范,適時(shí)反映開發(fā)過程中方法和需求的變化:
  • 發(fā)布版本管理。軟件開發(fā)過程中的一個(gè)關(guān)鍵活動(dòng)是提取工件的相關(guān)版本,以形成軟件系統(tǒng)的階段版本或發(fā)布版本,一般將其稱為穩(wěn)定基線。一個(gè)穩(wěn)定基線代表新開發(fā)活動(dòng)的開始,而一系列定制良好的活動(dòng)之后又會(huì)產(chǎn)生一個(gè)新的穩(wěn)定基線。有效地利用此項(xiàng)功能,在項(xiàng)目開發(fā)過程中可以至始至終管理、跟蹤部件版本間的關(guān)聯(lián)。

5.相關(guān)人員的培訓(xùn)

實(shí)施配置管理系統(tǒng),相關(guān)人員需要接受培訓(xùn):

  • 管理員培訓(xùn):針對配置管理員,主要學(xué)習(xí)配置管理工具管理相關(guān)內(nèi)容:
  • 開發(fā)人員培訓(xùn):針對開發(fā)人員,主要學(xué)習(xí)配置管理工具與開發(fā)相關(guān)的常用操作
  • 管理流程培訓(xùn):針對全體人員,目的是了解配置管理策略和流程,以及如何與開發(fā)管理、項(xiàng)目管理相結(jié)合。

5.軟件配置管理與CMMI

能力成熟度集成模型(Capability Maturity Model Integration)是由美國卡耐基·梅隆大學(xué)的軟件工程研究所(SEI)組織開發(fā),并于2002年發(fā)布的一種規(guī)范、實(shí)用的途徑來管理軟件過程的模型.CMMI通過指導(dǎo)軟件開發(fā)人員的活動(dòng)來改進(jìn)軟件過程,以達(dá)到軟件過程可復(fù)用性、可定量管理、可有效控制的目的.軟件配置管理是CMMI可重復(fù)級(jí)的一個(gè)關(guān)鍵過程域(Key Process Area,KPA),其目的是在整個(gè)項(xiàng)目的軟件生命周期中,保持軟件產(chǎn)品的完整性和可追蹤性,這包含了對改變的控制和所有能影響到改變的軟件因素的管理.作為過程實(shí)現(xiàn)、過程優(yōu)化的一部分,配置管理是實(shí)現(xiàn)軟件過程的基本保證,它還是基于重用的軟件開發(fā)的管理手段,所以成為軟件過程管理的核心.CMMI模型清晰地描述了SCM,并說明了SCM 的目的和所要達(dá)到的目標(biāo),具體描述了某級(jí)成熟度下軟件過程在該方面所應(yīng)達(dá)到的一組目標(biāo)和實(shí)現(xiàn)這些目標(biāo)的一組關(guān)鍵實(shí)踐(Key Pradice).這些關(guān)鍵實(shí)踐被劃分為5類,分別為完成該組目標(biāo)所需的承諾、執(zhí)行能力、執(zhí)行的活動(dòng)、度量分析以及驗(yàn)證.使企業(yè)在實(shí)施軟件配置管理時(shí)能知道到底要做什么,團(tuán)隊(duì)的配置管理現(xiàn)狀如何評(píng)估,在哪些方面還可以進(jìn)行改進(jìn)等問題能得到具體的答案。

6.軟件配置管理案例分析

評(píng)論  |   0條評(píng)論