軟體配置管理(SCM)簡介

2021-09-01 18:34:53 字數 4320 閱讀 8233

軟體配置管理(scm)簡介

一、引言

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

二、軟體配置管理的概念

要想掌握一種技術,首先要深刻理解他的概念。那麼什麼是軟體配置管理呢?這個名詞英文是software configuration management,通常我們將它縮寫為scm。

我們可以從以下幾個角度理解和掌握它的真正含義:

(1)《iso/iec 12207(1995)資訊科技--軟體生存期過程》:配置管理過程是在整個軟體生存期中實施管理和技術規程的過程,它標識、定義系統中軟體項並制定基線;控制軟體項的修改和發行;記錄和報告軟體項的狀態和修改申請;保證軟體項的完整性、協調性和正確性;以及控制軟體項的儲存、裝載和交付。

(2)《iso 9000-3(1997)質量管理和質量保證標準--第3部分:iso 9001:1994 在計算機軟體開發、**、安裝和維護中的使用指南》:軟體配置管理是乙個管理學科,它對配置項的開發和支援生存期給予技術上和管理上的指導。配置管理的應用取決於專案的規模、複雜程度和風險大小。(3)巴比齊(w.babich):軟體配置管理能協調軟體開發,使得混亂減少到最小。軟體配置管理是一種標識、組織和控制修改的技術,目的是最有效地提高生產率。

(4)《gb/t 11457(1995)軟體工程術語》:軟體配置管理是標識和確定系統中配置項的過程,在系統整個生存週期內控制這些項的投放和更動,記錄並報告配置的狀態和更動要求,驗證配置項的完整性和正確性。一言以蔽之,配置管理是門通過一系列技術、方法和手段來維護產品的歷史、鑑別和定位產品獨有的版本、在產品開發和發布階段控制變化,從而使管理制度化、有效減少重複性工作、保證產品的質量和效率的科學。

三、軟體配置管理術語

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

(1)專案委託單位 project entrust organization 指為產品開發提供資金並通常也是(但有時也未必)確定產品需求的單位或個人。

(2)專案承辦單位 project undertaking organization 指為專案委託單位開發、購置或選用軟體產品的單位或個人。

(3)軟體開發單位 software development organization 軟體開發單位是指直接或間接受專案委託單位委託而直接負責開發軟體的單位或個人。

(4)使用者 user 指實際全勝軟體來完成某項計算、控制或資料處理等任務的單位或個人。

(5)軟體 software 指電腦程式及其有關的資料和文件,也包括固化了的程式。

(6)重要軟體 critical software 指其故障會影響到人身安全、會導致重大經濟損失或社會損失的軟體。

(7)軟體生存週期 software life cycle 指從軟體系統設計對軟體系統提出應用需求開始,經過開發,產生出乙個滿足需求的計算機軟體系統,然後投入執行,直至該軟體系統退役為止。其間經歷系統分析與軟體定義、軟體開發以及系統的執行與維護等三個階段。其中軟體開發階段一般又分成需求分析、概要設計、詳細設計、編碼與單元測試、組裝與整合測試、系統測試以及安裝與驗收等七個階段。

(8)軟體開發庫 software development library 指在軟體生存週期的某乙個階段期間,存放與該階段軟體開發工作有關的計算機可讀資訊和人工可讀資訊的庫。

(9)軟體受控庫 software controlled library 指在軟體生存週期的某乙個階段結束時,存放作為階段產品而釋放的、與軟體開發工作有關的計算機可讀資訊和人工可讀資訊的庫。軟體配置管理就是對軟體受控庫中的各軟體項進行管理,因此軟體受控庫也叫做軟體配置管理庫。

(10)軟體產品庫 software product library 指在軟體生存週期的系統測試階段結束後,存放最終產品而後交付給使用者執行或在現場安裝的軟體的庫。

(11)介面控制 inte***ce control 指描述有關由乙個或多個部門提供的兩個或兩個以上的配置項介面的所有功能特性和物理特性的過程。在實現之前,要確保對這些功能特性和物理特性所建議的修改已經過評審和批准。

(12)功能基線 functional baseline 指在系統分析與軟體定義階段結束時,經過正式評審和批准的系統設計規格說明書中對待開發系統的規格說明;或是指經過專案委託單位和專案承辦單位雙方簽字同意的協議書或合同中所規定的對待開發軟體系統的規格說明;或是由下級申請經上級同意或直接由上級下達的專案任務書中所規定的對待開發軟體系統的規格說明。功能基線是最初批准的功能配置標識。

(13)指派基線 allocated baseline 指在軟體需求分析階段結束時,經過正式評審和批准的軟體需求的規格說明。指派基線是最初批准的指派配置標識。

(14)產品基線 product baseline 指在軟體組裝與系統測試階段結束時,經過正式評審的批准的有關所開發的軟體產品的全部配置項的規格說明。產品基線是最初批准的產品配置標識。

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

(16)釋放 release 指在軟體生存週期的各個階段結束時,由該階段向下階段提交該階段產品的過程。它也指將系統測試階段結束時所獲得的最終產品向使用者提交的過程。後面這個過程也叫做交付(delivery)。

(17)配置控制委員會 configuration control board 一組負責評估和審批配置項的變更的人員,以確保所有的變更都是經過審核的。

(18)配置標示 配置管理的乙個要素,由為系統所選的配置項及紀錄它們功能和物理特性的技術文件組成;經核准的配置項的技術文件是由說明書、圖、表等組成的。

(19)配置控制 配置管理的乙個要素,由評估、協調、批准或不批准,和對正式建立配置標識的配置項實施變更等活動組成。

(20)配置狀態統計配置管理的乙個要素,由為有效管理所需的記錄和報告資訊組成。這些資訊包括經核准的配置標識表、需要變更的配置狀態和實施經審核的變更狀態組成。

四、常用縮寫

ccb configuration control board 配置控制委員會

ci configuration item 配置項

cm configuration management 配置管理

cmp configuration management 配置管理計畫

cr change request 變更請求

fca functional configuration audit 功能配置審核

gui graphical user inte***ce 圖形使用者介面

pca physical configuration audit 物理配置審核

scm software configuration management 軟體配置管理

五、軟體配置管理的任務

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

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

(2) 在軟體產品交付使用者之前和交付之後如何控制變更?實現有效的變更?

(3) 誰有權批准變更以及安排變更的優先順序?

(4) 用什麼方法估計變更可能引起的其它問題?這些問題的解決正是軟體配置管理應完成的任務:配置標識、版本管理、變更管理、配置審核及配置報告。

六、配置管理工具

1、 太平洋公司**的mks公司開發的產品

(1) source integrity(si)--版本管理工具

(2) track integrity--問題跟蹤、變更管理工具

2、 rational公司的產品

(1) clearcase--版本控制工具

(2) clearquery--變更管理工具

3、 在國內,使用最多的版本管理工具可能就是微軟的studio package中帶的vss

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

七、結束語

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

scm 軟體配置管理

4 版本控制工具 1.更改原始檔,但不知道哪個是最新的 2.我不了解檔案的修改過程,尤其是最後修改了哪幾行以及為什麼修改 1.make時,經常用錯檔案的版本 多人修改乙個檔案,有些人的結果被沖掉了 程式誤刪了,只能重寫 花了一周時間,終於查出了乙個錯誤,但發現有個同事上週前已經修改了同樣的錯誤,但我...

配置管理(scm)學習筆記(二)

配置管理過程 明確配置管理軟硬體資源 根據專案實際情況來決定。網路環境 配置管理伺服器的處理能力 空間需求 配置管理軟體的選擇 1.按模組劃分 在模組下劃分如設計文件 等 2.按產品型別劃分 首先文件 再在其下劃分模組 將配置項分為管理類和產品類 管理類 初始 計畫 執行 收尾 產品類 需求 設計 ...

軟體配置管理

軟體配置管理,它為軟體開發提供了一套管理辦法和活動原則,成為貫穿軟體開發始終的重要質量保證活動。配置管理的過程實際是軟體開發過程中質量管理的精髓所在,版本管理提高了開發者的工作效率,而變更控制則提高了整個開發團隊的工作效率。兩者的緊密結合,將為軟體開發專案提供一道堅實的質量防火牆,使軟體開發專案的質...