天天看點

軟體配置管理(SCM)簡介

軟體配置管理(SCM)簡介qclrudse

一、引言qclrudse

軟體開發過程中随着工作的進展會産生許多資訊,如:需求分析說明、設計說明、源代碼、可執行碼、使用者手冊、測試用例、測試結果和這些内容形成的相應的技術文檔;以及合同、計劃、會議記錄、報告等管理文檔。另一方面,軟體開發過程中出現變更是不可避免的。面對如此龐大且變動中的資訊集合,如何使其有序高效地産生、存放、查找和利用成為軟體工程項目十分突出的問題。如果沒有一套嚴謹、科學的管理辦法,出現混亂和差錯幾乎是必然的。軟體配置管理正是為解決這個問題而提出的,它為軟體開發提供了一套管理辦法和活動原則,成為貫穿軟體開發始終的重要品質保證活動。qclrudse

二、軟體配置管理的概念qclrudse

要想掌握一種技術,首先要深刻了解他的概念。那麼什麼是軟體配置管理呢?這個名詞英文是Software

Configuration Management,通常我們将它縮寫為SCM。我們可以從以下幾個角度了解和掌握它的真正含義:qclrudse

(1)《ISO/IEC

12207(1995)資訊技術--軟體生存期過程》:配置管理過程是在整個軟體生存期中實施管理和技術規程的過程,它辨別、定義系統中軟體項并制定基線;控制軟體項的修改和發行;記錄和報告軟體項的狀态和修改申請;保證軟體項的完整性、協調性和正确性;以及控制軟體項的儲存、裝載和傳遞。qclrudse

(2)《ISO 9000-3(1997)品質管理和品質保證标準--第3部分:ISO

9001:1994

在計算機軟體開發、供應、安裝和維護中的使用指南》:軟體配置管理是一個管理學科,它對配置項的開發和支援生存期給予技術上和管理上的指導。配置管理的應用取決于項目的規模、複雜程度和風險大小。qclrudse

(3)巴比齊(W.Babich):軟體配置管理能協調軟體開發,使得混亂減少到最小。軟體配置管理是一種辨別、組織和控制修改的技術,目的是最有效地提高生産率。qclrudse

(4)《GB/T

11457(1995)軟體工程術語》:軟體配置管理是辨別和确定系統中配置項的過程,在系統整個生存周期内控制這些項的投放和更動,記錄并報告配置的狀态和更動要求,驗證配置項的完整性和正确性。qclrudse

一言以蔽之,配置管理是門通過一系列技術、方法和手段來維護産品的曆史、鑒别和定位産品獨有的版本、在産品開發和釋出階段控制變化,進而使管理制度化、有效減少重複性工作、保證産品的品質和效率的科學。

qclrudse

三、軟體配置管理術語qclrudse

軟體配置管理是軟體工程學科中涉及概念較多的一項内容,為了便于說明,下面給出一些相關術語的定義。qclrudse

(1)項目委托機關 project entrust organizationqclrudse

指為産品開發提供資金并通常也是(但有時也未必)确定産品需求的機關或個人。qclrudse

(2)項目承辦機關 project undertaking

organizationqclrudse

指為項目委托機關開發、購置或選用軟體産品的機關或個人。qclrudse

(3)軟體開發機關 software development

軟體開發機關是指直接或間接受項目委托機關委托而直接負責開發軟體的機關或個人。qclrudse

(4)使用者 userqclrudse

指實際全勝軟體來完成某項計算、控制或資料處理等任務的機關或個人。qclrudse

(5)軟體 softwareqclrudse

指計算機程式及其有關的資料和文檔,也包括固化了的程式。qclrudse

(6)重要軟體 critical softwareqclrudse

指其故障會影響到人身安全、會導緻重大經濟損失或社會損失的軟體。qclrudse

(7)軟體生存周期 software life cycleqclrudse

指從軟體系統設計對軟體系統提出應用需求開始,經過開發,産生出一個滿足需求的計算機軟體系統,然後投入運作,直至該軟體系統退役為止。其間經曆系統分析與軟體定義、軟體開發以及系統的運作與維護等三個階段。其中軟體開發階段一般又分成需求分析、概要設計、詳細設計、編碼與單元測試、組裝與內建測試、系統測試以及安裝與驗收等七個階段。qclrudse

(8)軟體開發庫 software development libraryqclrudse

指在軟體生存周期的某一個階段期間,存放與該階段軟體開發工作有關的計算機可讀資訊和人工可讀資訊的庫。qclrudse

(9)軟體受控庫 software controlled libraryqclrudse

指在軟體生存周期的某一個階段結束時,存放作為階段産品而釋放的、與軟體開發工作有關的計算機可讀資訊和人工可讀資訊的庫。軟體配置管理就是對軟體受控庫中的各軟體項進行管理,是以軟體受控庫也叫做軟體配置管理庫。qclrudse

(10)軟體産品庫 software product libraryqclrudse

指在軟體生存周期的系統測試階段結束後,存放最終産品而後傳遞給使用者運作或在現場安裝的軟體的庫。qclrudse

(11)接口控制 interface controlqclrudse

指描述有關由一個或多個部門提供的兩個或兩個以上的配置項接口的所有功能特性和實體特性的過程。在實作之前,要確定對這些功能特性和實體特性所建議的修改已經過評審和準許。qclrudse

(13)功能基線 functional baselineqclrudse

指在系統分析與軟體定義階段結束時,經過正式評審和準許的系統設計規格說明書中對待開發系統的規格說明;或是指經過項目委托機關和項目承辦機關雙方簽字同意的協定書或合同中所規定的對待開發軟體系統的規格說明;或是由下級申請經上級同意或直接由上級下達的項目任務書中所規定的對待開發軟體系統的規格說明。功能基線是最初準許的功能配置辨別。qclrudse

(13)指派基線 allocated baselineqclrudse

指在軟體需求分析階段結束時,經過正式評審和準許的軟體需求的規格說明。指派基線是最初準許的指派配置辨別。qclrudse

(14)産品基線 product baselineqclrudse

指在軟體組裝與系統測試階段結束時,經過正式評審的準許的有關所開發的軟體産品的全部配置項的規格說明。産品基線是最初準許的産品配置辨別。qclrudse

(15)軟體配置 software configurationqclrudse

指一個軟體産品在軟體生存周期各個階段所産生的各種形式(機器可讀或人工可讀)和各種版本的文檔、程式及其資料的集合。該集合中的每一個元素稱為該軟體産品軟體配置中的一個配置項(configuration

item)。qclrudse

(16)釋放 releaseqclrudse

指在軟體生存周期的各個階段結束時,由該階段向下階段送出該階段産品的過程。它也指将系統測試階段結束時所獲得的最終産品向使用者送出的過程。後面這個過程也叫做傳遞(delivery)。qclrudse

(17)配置控制委員會 configuration control boardqclrudse

一組負責評估和審批配置項的變更的人員,以確定所有的變更都是經過稽核的。qclrudse

(18)配置标示qclrudse

配置管理的一個要素,由為系統所選的配置項及紀錄它們功能和實體特性的技術文檔組成;經核準的配置項的技術文檔是由說明書、圖、表等組成的。qclrudse

(19)配置控制qclrudse

配置管理的一個要素,由評估、協調、準許或不準許,和對正式建立配置辨別的配置項實施變更等活動組成。qclrudse

(20)配置狀态統計qclrudse

配置管理的一個要素,由為有效管理所需的記錄和報告資訊組成。這些資訊包括經核準的配置辨別表、需要變更的配置狀态和實施經稽核的變更狀态組成。qclrudse

四、常用縮寫qclrudse

CCB configuration control board 配置控制委員會qclrudse

CI configuration item 配置項qclrudse

CM configuration management 配置管理qclrudse

CMP configuration management 配置管理計劃qclrudse

CR change request 變更請求qclrudse

FCA functional configuration audit 功能配置稽核qclrudse

GUI graphical user interface 圖形使用者界面qclrudse

PCA physical configuration audit 實體配置稽核qclrudse

SCM software configuration management

軟體配置管理qclrudse

五、軟體配置管理的任務qclrudse

軟體配置管理是軟體品質保證的重要一環,其主要責任是控制變化,同時,也負責配置項和軟體的版本辨別、軟體配置的設計、以及配置中所有變化的報告。可以認為,軟體配置管理的工作是要解決下列問題:qclrudse

(1) 采用什麼方式去表示和管理數量不少的程式、文檔等的各種版本?qclrudse

(2) 在軟體産品傳遞使用者之前和傳遞之後如何控制變更?實作有效的變更?qclrudse

(3) 誰有權準許變更以及安排變更的優先級?qclrudse

(4) 用什麼方法估計變更可能引起的其它問題?qclrudse

這些問題的解決正是軟體配置管理應完成的任務:配置辨別、版本管理、變更管理、配置稽核及配置報告。qclrudse

六、配置管理工具qclrudse

1、 太平洋公司代理的MKS公司開發的産品qclrudse

(1) Source Integrity(SI)--版本管理工具qclrudse

(2) Track Integrity--問題跟蹤、變更管理工具qclrudse

2、 Rational公司的産品qclrudse

(1) ClearCase--版本控制工具qclrudse

(2) ClearQuery--變更管理工具qclrudse

3、 在國内,使用最多的版本管理工具可能就是微軟的Studio

Package中帶的VSSqclrudse

4、 較早被使用的版本管理工具--PVCSqclrudse

七、結束語qclrudse

配置管理的過程實際是軟體開發過程中品質管理的精髓所在,版本管理提高了開發者的工作效率,而變更控制則提高了整個開發團隊的工作效率。兩者的緊密結合,将為軟體開發項目提供一道堅實的品質防火牆,使軟體開發項目的品質管理過程規範而有效。

繼續閱讀