軟件配置管理(SCM——Software Configuration Management)是ISO9001和CMM Level2中的重要組成元素,它在軟件產(chǎn)品開(kāi)發(fā)的生命周期中,提供了結構化的、有序化的、產(chǎn)品化的管理軟件工程的方法,是軟件開(kāi)發(fā)和維護的基礎。
SCM是指通過(guò)技術(shù)及行政手段對軟件產(chǎn)品及其開(kāi)發(fā)過(guò)程和生命周期進(jìn)行控制、規范的一系列措施和過(guò)程,它通過(guò)控制、記錄、追蹤對軟件的修改和每個(gè)修改生成的軟件組成部件來(lái)實(shí)現對軟件產(chǎn)品的管理。SCM可以協(xié)調軟件開(kāi)發(fā)使得混亂減到最小,是一種標識、組織和控制修改的技術(shù),目的是使錯誤達到最小并最有效地提高生產(chǎn)效率。
一、SCM使軟件產(chǎn)品變?yōu)槭芸氐暮涂深A見(jiàn)的,它控制這樣幾個(gè)問(wèn)題:
1. 誰(shuí)做的變更?->WHO
2. 軟件有什么變更?->WHAT
3. 什么時(shí)間做的變更?->WHEN
4. 為何要變更?->WHY
通過(guò)實(shí)施SCM,可以達到可重用過(guò)程制度化,包括:滿(mǎn)足組織的政策方針、計劃和過(guò)程描述文檔化、分配適當資源(包括資金,人員和工具)、確定責任和權限、培訓相關(guān)人員、通過(guò)不同級別的管理方法和糾正活動(dòng)檢測狀態(tài)。
置于SCM之下的工作產(chǎn)品包括發(fā)送給用戶(hù)的軟件產(chǎn)品(如軟件需求文檔,軟件代碼),用于內部使用的軟件工作產(chǎn)品(如過(guò)程描述),和用于創(chuàng )建工作產(chǎn)品的工具等(如操作系統、數據庫、開(kāi)發(fā)工具)。
SCM還用于建立和維護軟件工作產(chǎn)品基線(xiàn)?;€(xiàn)是由配置項及相關(guān)實(shí)體組成的,包括組成軟件產(chǎn)品的相關(guān)版本、設計、代碼、用戶(hù)文檔等。它是軟件生命周期中各開(kāi)發(fā)階段末尾的特定點(diǎn),即里程碑。通過(guò)正式的技術(shù)評審而得到的軟件配置的正式文本才能成為基線(xiàn),它的作用是使各個(gè)階段工作的劃分更加明確化,使本來(lái)連續的工作在這些點(diǎn)上斷開(kāi),以便于檢驗和肯定階段成果?;€(xiàn)是配置項繼續發(fā)展的一個(gè)固定基礎。
實(shí)施SCM不論是對軟件開(kāi)發(fā)者、測試者、項目經(jīng)理、QA人員,還是客戶(hù)都將會(huì )獲得很多好處:有助于規范團隊各個(gè)角色的行為,同時(shí)又為各個(gè)角色之間的任務(wù)傳遞和交流提供無(wú)縫的接合;能幫助項目經(jīng)理更好地了解項目的進(jìn)度、開(kāi)發(fā)人員的負荷、工作效率和產(chǎn)品質(zhì)量狀況、交付日期等信息。
二、SCM分為四大功能領(lǐng)域:配置標識、變更控制、配置狀態(tài)統計、配置審核。
配置標識包括標識軟件系統的結構,標識獨立部件,并使它們是可訪(fǎng)問(wèn)的。配置標識的目的,是在整個(gè)生命周期中標識系統各部件并提供對軟件及其軟件產(chǎn)品的跟蹤能力。(SPLM系統中的編碼系統)
配置變更控制包括在軟件生命周期中控制軟件產(chǎn)品的發(fā)布和變更,目的是建立確保軟件產(chǎn)品質(zhì)量的機制。它回答:什么是受控的?受控產(chǎn)品怎樣變更?誰(shuí)控制變更?何時(shí)接受,恢復,驗證變更?(SPLM系統中的變更流程,基于CMII)
配置狀態(tài)統計包括記錄和報告變更過(guò)程,目標是不間斷記錄所有基線(xiàn)項的狀態(tài)和歷史,并進(jìn)行維護,它解決以下問(wèn)題:系統已經(jīng)做了什么變更?此問(wèn)題將會(huì )對多少個(gè)文件產(chǎn)生影響?(SPLM系統中的流程查看,需要完善)
配置審核將驗證軟件產(chǎn)品的構造是否符合需求、標準、或合同的要求,目的是根據SCM的過(guò)程和程序,驗證所有的軟件產(chǎn)品已經(jīng)產(chǎn)生并有正確標識和描述,所有的變更需求都已解決。它回答:系統和需求是否吻合?是否所有變更都是在版本控制下?(SPLM系統中的評審過(guò)程,通過(guò)表單和質(zhì)量小組實(shí)現)
三、SCM從應用層次上可以從低到高分為三級:版本控制、以開(kāi)發(fā)者為中心、過(guò)程驅動(dòng)。
版本控制主要應用于個(gè)人獨立開(kāi)發(fā)或小組開(kāi)發(fā),它可以控制任何文件的版本、實(shí)現分支和歸并功能、進(jìn)行文本比較、標記注釋和版本報告信息,主要工具有我們目前用到的Visual SourceSafe及Intersolv PVCS。(PLM已經(jīng)應用微軟的VSS,SPLM系統沒(méi)有這個(gè)功能)
以開(kāi)發(fā)者為中心主要應用于部門(mén)級開(kāi)發(fā),它可用于軟件維護、不斷增加的開(kāi)發(fā)任務(wù)、并行開(kāi)發(fā)、QA及測試,它面向大型團隊、利于交流、能最大限度地利用人力資源,主要工具為Rational ClearCase及MKS Source Integrity。(SPLM系統中的功能基本都有,需要不斷測試完善,特別加上強壯的建模能力和流程系統,與ClearCase等產(chǎn)品競爭是有技術(shù)優(yōu)勢的)
過(guò)程驅動(dòng)主要使用于企業(yè)級開(kāi)發(fā),著(zhù)重解決新的工具引入、IT審核、管理報告、復雜的生命周期、應用工具包、集成解決方案、資料庫等問(wèn)題,實(shí)現真正規范的團隊開(kāi)發(fā),主要工具為Platinum Technology CCC/Harvest。(SPLM系統在這方面沒(méi)有進(jìn)行實(shí)踐,需要應用并總結,比如對英泰各個(gè)事業(yè)部的軟件資源管理,其他相關(guān)資料庫等)
四、不同軟件配置工具的特色比較。
根據IDC1的1999年SCM工具市場(chǎng)調查,排名第一的正是Rational ClearCase,第二位則是CA公司的CCC/Harvest,第三位就是MERANT公司的PVCS系列,微軟排名第六.Visual Source Safe不能算是一個(gè)完整的軟件配置管理工具,只是版本控制做的很好,當然對于國內目前大多數的軟件工程實(shí)踐而言已經(jīng)足夠.而pvcs和 clearcase是比較完整意義上的SCM軟件,稱(chēng)為full-fledged SCM Tools.
此外配置管理工具比較流行的還有: CCC/HARVEST, Continuus, Change Man,
Source Integrity, TRUEchange, TeamConnect等. 對于PVCS的配置管理工具叫 PVCS Process Manager. 當然上面列的是一些可運行于WINDOWS/NT平臺的工具, 在UNIX下還有一些.
VSS只是一個(gè)版本管理的工具, 如果用于做配置管理的話(huà), 有些勉為其難。
比如說(shuō), 我們無(wú)法在VSS中輸出有關(guān)的配置報告, 不易做到對變更的審查及控制. 當然如果你另外再制定一套完善的配置管理制定, 并將相應的文檔用VSS統統管理起來(lái)也是可以的.做為版本管理工具而言, VSS還是很不錯的, 我們一直都用它, 它也有象分支, 版本合并, Multi-checkout等功能.
PVCS有兩個(gè)版本, 一個(gè)也是與VSS相同的, 用于進(jìn)行版本管理 另一個(gè)是"Process Management"的版本,是一個(gè)配置管理的工具.
Rational ClearCase應當算是配置管理工具了, 配置管理中的基本功能都有,但覺(jué)得好象輸出報告的能力不是很強.
聯(lián)系客服