請(qǐng)注意查收:一份關(guān)于SCM軟件配置管理的基礎(chǔ)手冊(cè)(scm工具)
?
IEEE對(duì)SCM的定義:
A discipline applying technical and administrative direction and surveillance to identify and document the functional and physical characteristics of a configuration item, control changes to those characteristics, record and report change processing and implementation status, and verify compliance with specified requirements.
一套應(yīng)用技術(shù)上和管理上的指導(dǎo)和監(jiān)督的方法,用于:識(shí)別、記錄配置項(xiàng)的功能特征和物理特征;控制這些特征的變更;記錄、報(bào)告變更的處理和執(zhí)行的狀態(tài),并驗(yàn)證是否符合特定的需求。
IEEE(Institute of Electrical and Electronics Engineers)
SCM(Software Configuration Management)
引例
電腦的基本配置包括主板(內(nèi)存、CPU、顯卡)、硬盤、機(jī)箱、顯示器、外設(shè),統(tǒng)一記錄并管理這些配置的型號(hào)與相互關(guān)系就是電腦的配置管理,通常是某種列表、清單或文檔。當(dāng)配置發(fā)生變化時(shí),我們就需要更新這種清單。此外還有汽車配置管理、手機(jī)配置管理等。
No.1
SCM軟件配置管理
軟件配置管理是對(duì)軟件資產(chǎn)的管理。軟件資產(chǎn),即源代碼、設(shè)計(jì)文檔、安裝程序、引用類庫、資源文件、可以運(yùn)行的程序等。
▲ 軟件資產(chǎn)
相比于一般物體的配置管理,配置之間的關(guān)聯(lián)性/耦合性更高更復(fù)雜,配置之間的聯(lián)系更加緊密,因此一旦發(fā)生配置更改,通常是全局性的。
SCM是什么
軟件配置管理,又稱軟件形態(tài)管理、或軟件建構(gòu)管理,簡(jiǎn)稱軟件形管。用于:歸納軟件的組成項(xiàng)目,對(duì)項(xiàng)目變更進(jìn)行管控(版本控制),并維護(hù)不同項(xiàng)目之間的版本關(guān)聯(lián),以使軟件在開發(fā)過程中任一時(shí)間的內(nèi)容都可以被追溯。
SCM的目標(biāo)
SCM活動(dòng)的目標(biāo)就是為了標(biāo)識(shí)變更、控制變更、確保變更正確實(shí)現(xiàn)并向其他有關(guān)人員報(bào)告變更。從流程角度看,軟件配置管理是整個(gè)軟件開發(fā)生命周期中一個(gè)非常核心的管理過程。
SCM涉及流程
配置管理實(shí)際貫穿了從需求分析、架構(gòu)設(shè)計(jì)、項(xiàng)目管理、開發(fā)、集成構(gòu)建、測(cè)試以及上線的全過程。
▲ 軟件配置管理涉及過程1
這一過程不僅涉及宏觀的項(xiàng)目進(jìn)度控制、配置管理規(guī)范及計(jì)劃、多地點(diǎn)開發(fā)規(guī)劃等,也包括更細(xì)粒度的分支模型、構(gòu)建及集成方式、變更處理流程,還包括微觀的與開發(fā)人員直接相關(guān)的版本控制、差異比較和歸并等。
▲ 軟件資產(chǎn)配置涉及過程2
No.2
軟件配置管理的重要活動(dòng)
▲ 軟件配置管理的重要活動(dòng)
配置計(jì)劃 Configuration Schedule
配置管理計(jì)劃是開展所有配置管理活動(dòng)的基礎(chǔ)。
應(yīng)該明確以下要素:配置管理人員的組織和職責(zé);配置項(xiàng)的命名規(guī)則;配置管理工具以及配置庫結(jié)構(gòu);標(biāo)識(shí)的配置項(xiàng)和位置;權(quán)限分配和管理方法;配置庫備份的周期、方法;版本發(fā)布的計(jì)劃和策略;集成策略;軟件配置管理的場(chǎng)景。
配置標(biāo)識(shí) Configuration Identification
配置標(biāo)識(shí)是配置管理的一個(gè)組成部分,包括選擇產(chǎn)品的配置項(xiàng),為它們制定唯一的標(biāo)識(shí),并在技術(shù)文檔中記錄功能特性。
命名規(guī)則:文檔,文件名就作為配置項(xiàng)的命名;代碼,使用“項(xiàng)目名/模塊名+代碼”或者“項(xiàng)目名+代碼”的方式進(jìn)行命名;工具,以工具本身的名稱命名。
配置控制 Configuration Control
配置控制是配置管理的一個(gè)組成部分,包含評(píng)估、協(xié)調(diào)、批準(zhǔn)/拒絕、實(shí)施對(duì)配置項(xiàng)的變更。
配置狀態(tài)報(bào)告 Configuration Status Report
是配置管理的一個(gè)組成部分,記錄和報(bào)告用來有效管理配置所需要的必要信息。
一旦配置項(xiàng)基線化后,應(yīng)該通知項(xiàng)目組, 內(nèi)容應(yīng)該包括基線化配置項(xiàng)的名稱以及位置。
配置審計(jì) Configuration Audit
執(zhí)行審計(jì)以驗(yàn)證配置項(xiàng)符合特定的標(biāo)準(zhǔn)或需求。
對(duì)配置管理的獨(dú)立的查檢過程,確認(rèn)受控軟件配置項(xiàng)滿足需求并就緒。功能審計(jì):配置項(xiàng)的變更控制是否和配置管理計(jì)劃中的描述相一致;物理審計(jì):配置項(xiàng)的完整性、正確性, 一致性和可跟蹤性。
No.3
軟件配置管理的組織
▲ SCM組織
角色
以下列舉三個(gè)SCM組織的角色:
項(xiàng)目經(jīng)理 PM(Project Manager):制定和修改項(xiàng)目的組織結(jié)構(gòu)和配置管理策略;批準(zhǔn)、發(fā)布配置管理計(jì)劃;決定項(xiàng)目起始基線和開發(fā)里程碑;接受并審閱配置控制委員會(huì)的報(bào)告。
軟件配置工程師 CMO(Configuration Management Officer):根據(jù)配置管理計(jì)劃執(zhí)行各項(xiàng)管理任務(wù),包括軟件配置管理工具的日常管理與維護(hù);提交配置管理計(jì)劃;各配置項(xiàng)的管理與維護(hù);執(zhí)行版本控制和變更控制方案;完成配置審計(jì)并提交報(bào)告等。
系統(tǒng)集成工程師 SIO(System Integration Engineer):系統(tǒng)集成員負(fù)責(zé)生成和管理項(xiàng)目的內(nèi)部和外部發(fā)布版本。
流程
定制并行開發(fā)策略。協(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)定基線。
S O F T B A S E L I N E
基 線
軟件基線是項(xiàng)目?jī)?chǔ)存庫中每個(gè)工件版本在其生命周期的不同時(shí)間點(diǎn)上,通過評(píng)審而進(jìn)入正式受控的一種狀態(tài),而這個(gè)過程被稱為“基線化”。它提供一個(gè)正式標(biāo)準(zhǔn),隨后的工作基于此標(biāo)準(zhǔn),并且只有經(jīng)過授權(quán)后才能變更這個(gè)標(biāo)準(zhǔn)。
S O F T C O N F I G U R A T I O N I T E M
配 置 項(xiàng)
為了方便對(duì)“配置”進(jìn)行管理,“配置”經(jīng)常被劃分為各類配置項(xiàng)。配置項(xiàng)是一組軟件功能或者物理屬性的組合,在配置管理過程中,配置項(xiàng)被作為一個(gè)單一的實(shí)體對(duì)待。
No.4
軟件配置管理的實(shí)踐
▲ SCM實(shí)踐
以下舉三個(gè)例子說明SCM的實(shí)踐:
代碼構(gòu)建
構(gòu)建是指編譯、鏈接和打安裝包用來測(cè)試和發(fā)布的過程。SCM要求構(gòu)建的日志必須記錄和保存,并且每天對(duì)最新的源代碼進(jìn)行編譯、打包與測(cè)試。
持續(xù)集成
系統(tǒng)集成的基本使命,就是把產(chǎn)品的各個(gè)部分集成在一起,并且保證整體是可以運(yùn)轉(zhuǎn)的。作為改進(jìn),集成可以逐步進(jìn)行。每完成一個(gè)模塊,就加入到整體環(huán)境中來,發(fā)現(xiàn)問題并解決。
并行開發(fā)
SCM中允許在當(dāng)前分支通過標(biāo)簽的方式(版本標(biāo)簽)整體記錄版本,同時(shí)通過分支產(chǎn)生并行的版本(版本分支)進(jìn)行新功能開發(fā)或者長(zhǎng)期持續(xù)維護(hù)。
通福云分布式研發(fā)云平臺(tái)(CCS DevCloud),集云端研發(fā)運(yùn)營一體化的研發(fā)云平臺(tái),由中國通服集團(tuán)集二十多年研發(fā)與實(shí)踐傾力打造。為客戶提供代碼托管、編譯構(gòu)建、部署發(fā)布、運(yùn)維監(jiān)控、項(xiàng)目管理等覆蓋軟件研發(fā)全生命周期服務(wù),讓軟件構(gòu)建、測(cè)試和發(fā)布變得更快捷、可靠,全面助力企業(yè)快速提升研發(fā)效率和產(chǎn)品交付能力。
(免責(zé)聲明:部分內(nèi)容轉(zhuǎn)載自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪除?。?/p>