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