IT公司軟件配置管理.ppt
《IT公司軟件配置管理.ppt》由會員分享,可在線閱讀,更多相關(guān)《IT公司軟件配置管理.ppt(98頁珍藏版)》請在裝配圖網(wǎng)上搜索。
軟件配置管理 尹繼剛2007 4 5 軟件配置管理什么是軟件配置管理 軟件配置管理 SoftwareConfigurationManagement SCM 是指通過執(zhí)行版本控制 變更控制等規(guī)程 以及使用合適的配置管理軟件 來保證所有配置項的完整性和可跟蹤性 配置管理是對工作成果的一種有效保護 軟件配置管理 SCM 是貫穿于整個軟件過程中的保護性活動 SCM目的是保證軟件項目生成的產(chǎn)品在軟件生命周期中的完整性和一致性 因為變化可能發(fā)生在任意時間 SCM活動被設(shè)計來 1 標(biāo)識變化 2 控制變化 3 保證變化被適當(dāng)?shù)貙崿F(xiàn) 4 向其他可能有興趣的人員報告變化 軟件配置管理使改進變化可以更容易地被適應(yīng) 并減少當(dāng)變化必須發(fā)生時所需花費的工作量 明確地區(qū)分軟件維護和軟件配置管理是很重要的 維護是發(fā)生在軟件已經(jīng)被交付給客戶 并投入運行后的一系列軟件工程活動 而軟件配置管理則是當(dāng)軟件項目開始時就開始 并且僅當(dāng)軟件退出運行后才終止的一組跟蹤和控制活動 配置管理與任何一位項目成員都有關(guān)系 因為每個人都會產(chǎn)生工作成果 配置管理是否有成效取決于三個要素 人 規(guī)范 工具 隨著計算機軟件的發(fā)展 軟件開發(fā)已由最初的 程序設(shè)計階段 經(jīng)歷了 軟件系統(tǒng)階段 進而演變?yōu)楹髞淼?軟件工程階段 軟件的復(fù)雜性日益增大 此時 如果仍然把軟件看成一個單一的個體 就無法解決所面臨的問題 于是配置的概念逐漸引入軟件領(lǐng)域 人們越來越重視軟件配置的管理工作 不懂軟件項目的配置管理 就不懂軟件開發(fā)管理不對軟件項目進行配置管理 就沒有進行軟件項目開發(fā)管理 軟件配置管理是CMM2中6個關(guān)鍵過程域的第6個關(guān)鍵域 CMM2認為 SCM的目的是為了建立和維護軟件開發(fā)過程中各種制品的完整性和一致性 包括以下內(nèi)容 對軟件產(chǎn)品配置的標(biāo)志和識別系統(tǒng)地控制對處于配置管理下的各種軟件制品的修改和更新維護軟件開發(fā)過程中的各種制品的一致性和可跟蹤性 CMM2的配置管理概念 SCM的目標(biāo) 目標(biāo)1 軟件配置管理活動被定義和計劃目標(biāo)2 軟件開發(fā)過程中的制品被識別 控制和管理目標(biāo)3 對于處于配置管理下的軟件制品的修改被控制目標(biāo)4 與軟件制品相關(guān)的項目組和成員應(yīng)該被通知制品的目前狀態(tài)和被修改的信息 SCM的目標(biāo) 從對配置目的的定義可以看出 CMM2的配置管理應(yīng)包括這樣一些活動 標(biāo)識給定時間點的軟件配置 即所選擇的工作產(chǎn)品及其描述 系統(tǒng)地控制這些配置的更改 并在軟件生命周期中保持這些配置的完整性和可跟蹤性 CMM2認為 受控于配置管理的工作產(chǎn)品 包括交付給用戶的軟件產(chǎn)品 如 代碼等 以及生成軟件產(chǎn)品所需要的有關(guān)項 如 項目管理文件 CMM2的配置管理活動最主要的內(nèi)容是 建立軟件基線庫 該庫存儲開發(fā)的軟件基線 通過軟件配置管理的更改控制和配置審核功能 系統(tǒng)地控制基線變更和由軟件基線庫生成的軟件產(chǎn)品版本 要達到CMM規(guī)定的SCM要求所需具備的能力 具有對軟件基線產(chǎn)品有管理權(quán)限的組織已經(jīng)建立 例如 軟件配置管理委員會 協(xié)調(diào)和實現(xiàn)軟件配置管理的組織已經(jīng)建立 為進行軟件配置管理所需要的各項資源已經(jīng)分配 軟件配置管理組織里的成員已經(jīng)接受了軟件配置目標(biāo) 流程 方法方面的培訓(xùn) 軟件項目組或是其他的相關(guān)的部門經(jīng)過培訓(xùn) 可以執(zhí)行他們的軟件配置管理活動 CMM中對SCM規(guī)定的活動 根據(jù)文檔化的流程 項目軟件配置管理計劃已準(zhǔn)備完畢 文檔化的已獲批準(zhǔn)的軟件配置管理計劃可用作以后軟件配置管理活動的基礎(chǔ) 軟件配置管理庫已經(jīng)創(chuàng)建 并可用作進入基線的軟件制品的存貯庫 處于軟件配置管理下的軟件制品被標(biāo)志和識別 對于配置項的變更請求和問題報告被初始化 計劃 評審 批準(zhǔn)并根據(jù)文化化的流程對其進行跟蹤 對于進入基線的制品的修改必須遵循文檔化的流程 發(fā)布的產(chǎn)品必須從軟件配置庫中取出 并且產(chǎn)品發(fā)布的流程須依照文檔化的流程和規(guī)定 根據(jù)文檔化的流程和規(guī)定 軟件配置項的狀態(tài)被記錄和跟蹤 記錄軟件配置管理活動和軟件基線內(nèi)容的報告被建立 并通知受到影響的項目組和個人 根據(jù)文檔化的流程進行軟件制品基線的評審 CMM中對SCM規(guī)定的活動 組織規(guī)定和相關(guān)責(zé)任 項目級配置管理項目配置經(jīng)理 ProjectConfigurationManager 與軟件配置管理計劃變更控制委員會 ChangeControlBoard 組織級配置管理組織配置管理庫 OrganizationalConfigurationManagementCell 負責(zé)項目完成后的軟件配置管理活動管理組織級的文檔 IEEE標(biāo)準(zhǔn)729 1983就配置管理的內(nèi)容進行了規(guī)范的定義 1 標(biāo)識 識別產(chǎn)品的結(jié)構(gòu) 產(chǎn)品的構(gòu)件及其類型 為其分配唯一的標(biāo)識符 并以某種形式提供對它們的存取 2 控制 通過建立產(chǎn)品基線 控制軟件產(chǎn)品的發(fā)布和在整個軟件生命周期中對軟件產(chǎn)品的修改 例如 它將解決哪些修改會在該產(chǎn)品的最新版本中實現(xiàn)的問題 3 狀態(tài)統(tǒng)計 記錄并報告構(gòu)件和修改請求的狀態(tài) 并收集關(guān)于產(chǎn)品構(gòu)件的重要統(tǒng)計信息 例如 它將解決修改這個錯誤會影響多少個文件的問題 4 審計和審查 確認產(chǎn)品的完整性并維護構(gòu)件間的一致性 即確保產(chǎn)品是一個嚴(yán)格定義的構(gòu)件集合 例如 它將解決目前發(fā)布的產(chǎn)品所用的文件的版本是否正確的問題 5 生產(chǎn) 對產(chǎn)品的生產(chǎn)進行優(yōu)化管理 它將解決最新發(fā)布的產(chǎn)品應(yīng)由哪些版本的文件和工具來生成的問題 6 過程管理 確保軟件組織的規(guī)程 方針和軟件周期得以正確貫徹執(zhí)行 它將解決要交付給用戶的產(chǎn)品是否經(jīng)過測試和質(zhì)量檢查的問題 7 小組協(xié)作 控制開發(fā)統(tǒng)一產(chǎn)品的多個開發(fā)人員之間的協(xié)作 例如 它將解決是否所有本地程序員所做的修改都已被加入到新版本的產(chǎn)品中的問題 IEEE的配置管理定義 CMM2的定義比較抽象 IEEE的定義比較具體 結(jié)合各體系的定義和要求 我們下面具體來討論配置管理的概念 配置管理功能概述 配置標(biāo)識或者又稱為配置需求 包括標(biāo)識軟件系統(tǒng)的結(jié)構(gòu) 標(biāo)識獨立部件 并使它們是可訪問的 配置標(biāo)識的目的 是在整個生命周期中標(biāo)識系統(tǒng)各部件并提供對軟件過程及其軟件產(chǎn)品的跟蹤能力 它回答 什么是受控的 配置變更控制包括在軟件生命周期中控制軟件產(chǎn)品的發(fā)布和變更 目的是建立確保軟件產(chǎn)品質(zhì)量的機制 它回答 受控產(chǎn)品怎樣變更 誰控制變更 何時接受 恢復(fù) 驗證變更 配置狀態(tài)統(tǒng)計包括記錄和報告變更過程 目標(biāo)是不間斷記錄所有基線項的狀態(tài)和歷史 并進行維護 它解決以下問題 系統(tǒng)已經(jīng)做了什么變更 此問題將會對多少個文件產(chǎn)生影響 配置變更控制是針對軟件產(chǎn)品 狀態(tài)統(tǒng)計針對軟件過程 因此 二者的統(tǒng)一就是對軟件開發(fā) 產(chǎn)品 過程 的變更控制 配置審核將驗證軟件產(chǎn)品的構(gòu)造是否符合需求 標(biāo)準(zhǔn) 或合同的要求 目的是根據(jù)SCM的過程和程序 驗證所有的軟件產(chǎn)品已經(jīng)產(chǎn)生并有正確標(biāo)識和描述 所有的變更需求都已解決 它回答 系統(tǒng)和需求是否吻合 是否所有變更都是在版本控制下 SCM的四大功能領(lǐng)域 SCM從應(yīng)用層次上可以從低到高分為三級 版本控制 以開發(fā)者為中心 過程驅(qū)動 版本控制主要應(yīng)用于個人獨立開發(fā)或小組開發(fā) 它可以控制任何文件的版本 實現(xiàn)分支和歸并功能 進行文本比較 標(biāo)記注釋和版本報告信息 主要工具有MS的VisualSourceSafe及IntersolvPVCS 以開發(fā)者為中心主要應(yīng)用于部門級開發(fā) 它可用于軟件維護 不斷增加的開發(fā)任務(wù) 并行開發(fā) QA及測試 它面向大型團隊 利于交流 能最大限度地利用人力資源 主要工具為RationalClearCase及MKSSourceIntegrity 過程驅(qū)動主要使用于企業(yè)級開發(fā) 著重解決新的工具引入 IT審核 管理報告 復(fù)雜的生命周期 應(yīng)用工具包 集成解決方案 資料庫等問題 實現(xiàn)真正規(guī)范的團隊開發(fā) 主要工具為PlatinumTechnologyCCC Harvest SCM的三個應(yīng)用層次 SCM中的專業(yè)術(shù)語 配置 Configuration 與配置項 ConfigurationItem 在軟件開發(fā)過程中生成各種制品的總和叫做這個項目的軟件配置 RogerS Pressman 1997 計算機程序 包括源代碼和可執(zhí)行程序與計算機程序相對應(yīng)的各種文檔計算機數(shù)據(jù) 包括計算機程序中包含的數(shù)據(jù)和系統(tǒng)初始化數(shù)據(jù) 基線項目開發(fā)過程的制品經(jīng)過正式評審并被相關(guān)人員一致同意 可以作為以后項目開發(fā)的基礎(chǔ) 對已經(jīng)確定為基線的制品的修改必須要通過正式的變更控制流程 在軟件工程環(huán)境中 基線是指在軟件開發(fā)過程中的里程碑 這些里程碑的標(biāo)志是一項或多項經(jīng)過正式的技術(shù)評審并一致認同的軟件制品的提交 配置數(shù)據(jù)庫 軟件制品基線庫 項目建立和訪問軟件制品庫 這個制品庫主要用來對保存配置項和一些與軟件配置管理相關(guān)的記錄 目前比較好的配置管理工具 Clearcase Rational Notes Domino Lotus PVCS Merant andVSS Microsoft 配置管理的商業(yè)理念企業(yè)的商業(yè)需求決定了配置管理的力度 我們不必追求完美無缺的配置管理 而是讓開發(fā)團隊恰好夠用就行 并將為配置管理所付出的代價控制在預(yù)算之內(nèi) 富有成效的配置管理的特征 任何項目成員都要對其工作成果進行配置管理 應(yīng)當(dāng)養(yǎng)成良好的習(xí)慣 不必付出過多的精力 最低要求是保證重要工作成果不發(fā)生混亂 配置管理規(guī)范應(yīng)當(dāng)清晰明了 便于執(zhí)行 不必在細節(jié)方面要求太多 不給項目人員添加過多的負擔(dān) 不使人厭煩 最大的麻煩是工作成果被覆蓋 如果不采用配置管理軟件來保存工作成果的歷史版本的話 人們在同一個文件上修改內(nèi)容 保存之后 那么新的內(nèi)容覆蓋了老的內(nèi)容 如果沒有軟件配置管理 將有什么壞處 多數(shù)情況下新的內(nèi)容比老的內(nèi)容好 覆蓋了也沒關(guān)系 但是總有不少意外 例如程序員修改了老程序員之后 突然發(fā)現(xiàn)新程序是錯誤的 而老程序卻是對的 可是老程序被新程序覆蓋了 再也無法恢復(fù) 怎么辦呢 還能怎么辦 只好重新寫老程序再覆蓋新程序 可是過一陣子又發(fā)現(xiàn)新程序也又可取之處 這時卻無法恢復(fù)新程序了 只好重新寫新程序再覆蓋老程序 如果你經(jīng)常碰到這樣的事情 你會發(fā)瘋的 為了避免成果被覆蓋 很多人采用最原始的手工管理版本的方式 例如給文件加后綴 01 02 以表示版本 天長日久 工作目錄下就會有一堆帶數(shù)字后綴的文件 而且你自己也忘記了數(shù)字后綴代表什么內(nèi)容 管理起來非常麻煩 最直接的好處是工作成果的所有版本都被保留著 不會丟失也不會被覆蓋 你不會氣得發(fā)瘋了 使用軟件配置管理 將有什么好處 如今硬盤的存儲空間價格低廉 用于保存歷史版本的存儲空間的成本可以忽略不計 如果你保存了工作成果的100個歷史版本 哪怕99版本都是 垃圾 只有一個版本里有 黃金 那也值了 所以你盡管放心保存歷史版本好了 累的是計算機又不是你 你怕什么 間接的好處是 項目的所有工作成果被完整地保留下來 這是企業(yè)的知識財富 可以被人們很好地分享利用 而且減少了人員辭職造成的損失 企業(yè)老板可以放心很多了 因為如果沒有配置管理的話 人走了 即使他把成果刻錄成光盤交給接收者 別人也搞不清楚那些成果的演化過程 事在人為配置管理的方法是成熟的 而且相應(yīng)的軟件工具也是成熟的 基本上不存在看不懂 不會用的問題 配置管理的執(zhí)行效果如何 完全應(yīng)了中國的一句老話 事在人為 啊 妨礙配置管理的主要問題是人們 嫌麻煩 還有僥幸心理 在沒有出亂子的情況下 執(zhí)行版本控制看起來有些麻煩 每次修改工作成果的時候 總是先checkout 然后再修改 最后還要checkin 多了前后兩步 其實checkout和checkin兩步操作只需花費幾秒鐘 而且不費腦子 憑良心說根本沒有添加麻煩 僅僅是個人感覺不爽快而已 然而不執(zhí)行版本控制的話 萬一發(fā)生工作成果被覆蓋或丟失等問題 那么麻煩就大了 配置項軟件研發(fā)和管理過程中會產(chǎn)生許許多多的工作成果 例如文檔 程序和數(shù)據(jù)等 它們都應(yīng)當(dāng)被妥善地保管起來 以便查閱和修改 如果把所有文件一股腦地塞進計算機里 那么使用起來肯定很麻煩 毫無疑問 人們應(yīng)當(dāng)將文件分門別類 有條理地保存起來 凡是納入配置管理范疇的工作成果統(tǒng)稱為配置項 ConfigurationItem CI 軟件配置項 SoftwareConfigurationItems SCI 配置項主要有兩大類 屬于產(chǎn)品組成部分的工作成果 例如源代碼 需求文檔 設(shè)計文檔 測試用例等等在管理過程中產(chǎn)生的文檔例如各種計劃 監(jiān)控報告等等 這些文檔雖然不是產(chǎn)品的組成部分 但是值得保存 標(biāo)識軟件配置項 軟件配置項分為基本對象和復(fù)合對象 基本對象 分析 設(shè)計 編碼 測試時所建立的 文檔單元 如 需求規(guī)格說明中的一節(jié) 一個模塊的源代碼 一組測試用例 復(fù)合對象 基本對象或其他復(fù)合對象的一個集合 如 設(shè)計規(guī)格說明書 是一個復(fù)合對象 一些基本對象 如 數(shù)據(jù)模型 模塊N 的集合 每個配置項可用一組信息來唯一地標(biāo)識它 每個配置項的主要屬性有 名稱 標(biāo)識符 文件狀態(tài) 版本 作者 日期等 所有配置項都被保存在配置庫里 確保不會混淆 丟失 配置項及其歷史記錄反映了軟件的演化過程 基線由正式技術(shù)評審而得到的軟件配置項的正式文本構(gòu)成了基線 基線 Baseline 由一組配置項組成 這些配置項構(gòu)成了一個相對穩(wěn)定的邏輯實體 基線中的配置項被 凍結(jié) 了 不能再被任何人隨意修改 見變更控制規(guī)程 其作用是使連續(xù)的工作在這些點上斷開 以便于檢查和肯定階段成果 基線需要定期審核 以驗證與文檔的一致性 基線通常對應(yīng)于開發(fā)過程中的里程碑 Milestone 一個產(chǎn)品可以有多個基線 也可以只有一個基線 基線的主要屬性有 名稱 標(biāo)識符 版本 日期等 通常將交付給客戶的基線稱為一個 Release 為內(nèi)部開發(fā)用的基線則稱為一個 Build 以下的SCI成為配置管理技術(shù)的目標(biāo)并形成一組基線 1 系統(tǒng)規(guī)約2 軟件項目計劃3 軟件需求規(guī)約 a 圖形分析模型 b 處理規(guī)約 c 原型 d 數(shù)學(xué)規(guī)約4 初步的用戶手冊5 設(shè)計規(guī)約 a 數(shù)據(jù)設(shè)計描述 b 體系結(jié)構(gòu)設(shè)計描述 c 模塊設(shè)計描述 d 界面設(shè)計描述e 對象描述 如果使用面向?qū)ο蠹夹g(shù) 6 源代碼清單7 測試規(guī)約a 測試計劃和過程b 測試用例和結(jié)果記錄 8 操作和安裝手冊9 可執(zhí)行程序a 模塊的可執(zhí)行代碼b 鏈接的模塊10 數(shù)據(jù)庫描述a 模式和文件結(jié)構(gòu)b 初始內(nèi)容11 聯(lián)機用戶手冊12 維護文檔a 軟件問題報告b 維護請求c 工程變化命令13 軟件工程的標(biāo)準(zhǔn)和規(guī)程14 特定版本的編輯器 編譯器和其他CASE工具等 角色為了提高配置管理的效率和安全性 項目應(yīng)當(dāng)設(shè)有配置管理員這個角色 配置管理員的主要工作是為項目制定配置管理計劃 創(chuàng)建和維護配置庫等 對于大型的項目 鑒于配置管理的重要性和復(fù)雜性 機構(gòu)應(yīng)當(dāng)設(shè)立配置控制委員會 ConfigurationControlBoard CCB CCB是個虛擬小組 對配置管理各項活動擁有決策權(quán) 例如審批計劃 審批變更請求等 對于配置管理而言 CCB是決策者 而配置管理員是執(zhí)行者 對于普通的小型軟件項目而言 CCB這個概念難以落實 我們就不要玩虛的了 讓項目經(jīng)理或者配置管理員做決定就行了 流程 RUP描述的配置管理的主要活動如下圖所示 對于一個軟件項目組來說 開展一個項目組的配置管理 大致可以分為以下步驟 對于一個軟件項目組來說 開展一個項目組的配置管理 大致可以分為以下步驟 1 擬訂項目的配置管理計劃 2 創(chuàng)建項目的配置管理環(huán)境 3 進行項目的配置管理活動 包括 標(biāo)識配置項 管理基線和發(fā)布活動 監(jiān)測與報告配置狀態(tài) 管理變更請求 1 和 2 可以看成配置管理的準(zhǔn)備 3 是配置管理的具體實施 配置管理的具體實施 在RUP定義為四個管理活動 配置項的標(biāo)識和控制 所有配置項都應(yīng)按照相關(guān)規(guī)定統(tǒng)一編號 按照相應(yīng)的模板生成 并在文檔中的規(guī)定章節(jié) 部分 記錄對象的標(biāo)識信息 在引入軟件配置管理工具進行管理后 這些配置項都應(yīng)以一定的目錄結(jié)構(gòu)保存在配置庫中 所有配置項的操作權(quán)限應(yīng)由配置管理員嚴(yán)格管理 基本原則是 基線配置項向軟件開發(fā)人員開放讀取權(quán)限 非基線配置項向項目經(jīng)理 配置控制委員會及相關(guān)人員開放 工作空間管理 在引入了軟件配置管理工具之后 所有開發(fā)人員都會被要求把工作成果存放到由軟件配置管理工具所管理的配置庫 存儲池 中去 或是直接工作在軟件配置管理工具提供的環(huán)境之下 根據(jù)配置管理構(gòu)架提供的控制方式不同而不同 每個開發(fā)人員按照任務(wù)的要求 在不同的開發(fā)階段 工作在不同的工作空間上 比較理想的情況是把整個配置庫視為一個統(tǒng)一的工作空間 然后再根據(jù)需要把它劃分為個人 私有 團隊 集成 和全組 公共 這三類工作空間 分支 從而更好的支持將來可能出現(xiàn)的并行開發(fā)的需求 版本控制 版本控制是軟件配置管理的核心功能 所有置于配置庫中的元素都應(yīng)自動予以版本的標(biāo)識 并保證版本命名的唯一性 版本在生成過程中 自動依照設(shè)定的使用模型自動分支 演進 除了系統(tǒng)自動記錄的版本信息以外 為了配合軟件開發(fā)流程的各個階段 我們還需要定義 收集一些元數(shù)據(jù)來記錄版本的輔助信息和規(guī)范開發(fā)流程 并為今后對軟件過程的度量做好準(zhǔn)備 當(dāng)然如果選用的工具支持的話 這些輔助數(shù)據(jù)將能直接統(tǒng)計出過程數(shù)據(jù) 從而方便我們軟件過程改進 SoftwareProcessImprovement SPI 活動的進行 對于配置庫中的各個基線控制項 應(yīng)該根據(jù)其基線的位置和狀態(tài)來設(shè)置相應(yīng)的訪問權(quán)限 一般來說 對于基線版本之前的各個版本都應(yīng)處于被鎖定的狀態(tài) 如需要對它們進行變更 則應(yīng)按照變更控制的流程來進行操作 變更控制 變更管理的一般流程是 1 獲得 提出變更請求 2 由CCB審核并決定是否批準(zhǔn) 3 被接受 分配請求 修改人員提取配置項 進行修改 4 復(fù)審變化 5 提交修改后的配置項 6 建立測試基線并測試 7 重建軟件的適當(dāng)版本 8 復(fù)審 審計 所有配置項的變化 9 發(fā)布新版本 在這樣的流程中 配置管理員通過軟件配置管理工具來進行訪問控制和同步控制 而這兩種控制則是建立在前面所描述的版本控制和分支策略的基礎(chǔ)上的 狀態(tài)報告 配置狀態(tài)報告應(yīng)該包括下列主要內(nèi)容 1 配置庫結(jié)構(gòu)和相關(guān)說明 2 開發(fā)起始基線的構(gòu)成 3 當(dāng)前基線位置及狀態(tài) 4 各基線配置項集成分支的情況 5 各私有開發(fā)分支類型的分布情況 6 關(guān)鍵元素的版本演進記錄 7 其它應(yīng)報告的事項 配置審計 配置審計的主要作用是作為變更控制的補充手段 來確保某一變更需求已被切實實現(xiàn) 在某些情況下 它被作為正式的技術(shù)復(fù)審的一部分 但當(dāng)軟件配置管理是一個正式的活動時 該活動由SQA人員單獨執(zhí)行 總之 軟件配置管理的對象是軟件研發(fā)活動中的全部開發(fā)資產(chǎn) 所有這一切都應(yīng)作為配置項納入管理計劃統(tǒng)一進行管理 從而能夠保證及時的對所有軟件開發(fā)資源進行維護和集成 因此 軟件配置管理的主要任務(wù)也就歸結(jié)為以下幾條 1 制定項目的配置計劃 2 對配置項進行標(biāo)識 3 對配置項進行版本控制 4 對配置項進行變更控制 5 定期進行配置審計 6 向相關(guān)人員報告配置的狀態(tài) 項目經(jīng)理的配置管理流程 項目經(jīng)理的工作是 1 確定項目配置管理策略 2 確定用于控制產(chǎn)品變更的策略和流程 3 在配置管理計劃 是軟件開發(fā)計劃的一部分 中記錄此信息 配置管理策略 軟件配置管理策略是指能夠確定 保護和報告已經(jīng)批準(zhǔn)用于項目中的工件的能力 通過正確的標(biāo)注來實現(xiàn)確定操作 對項目工件的保護是通過歸檔 建立基線和報告等操作而得以實現(xiàn)的 使用標(biāo)準(zhǔn)的 已記錄下來的變更控制流程的目的是 確保項目中所做的變更保持一致 并將產(chǎn)品的狀態(tài) 對其所做的變更以及這些變更所耗費的成本及對時間表的影響通知給有關(guān)的涉眾 軟件配置管理計劃說明在產(chǎn)品 項目生命周期中要執(zhí)行的所有與配置管理相關(guān)的活動 它記錄如何計劃 實施 控制和組織與產(chǎn)品相關(guān)的配置管理活動 配備人員 配置管理人員的選擇和配備 是軟件項目經(jīng)理最主要的工作 在一個比較理想的軟件開發(fā)團隊中 需要哪些角色呢 負責(zé)軟件項目組的項目經(jīng)理負責(zé)SCM計劃和策略的配置經(jīng)理負責(zé)軟件產(chǎn)品開發(fā)與維護的軟件工程人員負責(zé)驗證產(chǎn)品正確性的測試人員負責(zé)確保產(chǎn)品高質(zhì)量的質(zhì)量保證經(jīng)理使用產(chǎn)品的用戶 配置經(jīng)理 配置經(jīng)理的目標(biāo)是確保用來建立 變更及編碼測試的計劃和策略得以貫徹執(zhí)行 同時使有關(guān)項目的信息容易獲得 為了對編碼更改形成控制 配置經(jīng)理引入規(guī)范的請求變更的機制 評估更改的機制 通過變更控制機構(gòu)CCB 由它負責(zé)批準(zhǔn)對軟件系統(tǒng)的變更 和批準(zhǔn)變更的機制 配置經(jīng)理負責(zé)為工程人員創(chuàng)建任務(wù)單 交由項目經(jīng)理對任務(wù)進行分配 創(chuàng)建項目的框架 同時 配置經(jīng)理還收集軟件系統(tǒng)中構(gòu)件的相關(guān)數(shù)據(jù) 比如說用以判斷系統(tǒng)中出現(xiàn)問題的構(gòu)件的信息 配置管理計劃 配置管理員根據(jù)本項目的特征 起草配置管理計劃 由CCB負責(zé)人 通常是項目經(jīng)理 審批 配置管理計劃的主要內(nèi)容 1 人員與職責(zé)2 軟件硬件資源3 配置項計劃4 基線計劃5 配置庫備份計劃6 版本控制規(guī)則7 變更控制規(guī)則8 審批 角色職責(zé) 項目經(jīng)理 ProjectManager PM 配置控制委員會 ConfigurationControlBoard CCB 配置管理員 ConfigurationManagementOfficer CMO 系統(tǒng)集成員 SystemIntegrationOfficer SIO 開發(fā)人員 Developer DEV 配置管理計劃 肩負對項目成功負責(zé)的重要職責(zé)評估開發(fā)團隊當(dāng)前配置管理現(xiàn)狀定義實施的范圍計劃資源要素 項目經(jīng)理的階段工作要點 概念軟件的每一版本都是軟件基線庫的配置項 源代碼 文檔 數(shù)據(jù) 的一個集合 版本控制的目的是按照一定的規(guī)則保存配置項的所有版本 避免發(fā)生版本丟失或混淆等現(xiàn)象 并且可以快速準(zhǔn)確地查找到配置項的任何版本 所有項目成員都必須遵照版本控制規(guī)程操作配置庫 版本控制規(guī)則 配置項的狀態(tài)有三種 草稿 Draft 正式發(fā)布 Released 正在修改 Changing 配置項狀態(tài)變遷 配置項剛建立時其狀態(tài)為 草稿 配置項通過評審 或?qū)徟?后 其狀態(tài)變?yōu)?正式發(fā)布 此后若更改配置項 必須依照 變更控制規(guī)程 執(zhí)行 其狀態(tài)變?yōu)?正在修改 當(dāng)配置項修改完畢并重新通過評審 或?qū)徟?時 其狀態(tài)又變?yōu)?正式發(fā)布 如此循環(huán) 版本號 1 處于 草稿 狀態(tài)的配置項的版本號格式為 0 YZYZ數(shù)字范圍為01 99 隨著草稿的不斷完善 YZ 的取值應(yīng)遞增 YZ 的初值和增幅由用戶自己把握 2 處于 正式發(fā)布 狀態(tài)的配置項的版本號格式為 X YX為主版本號 取值范圍為1 9 Y為次版本號 取值范圍為1 9 配置項第一次 正式發(fā)布 時 版本號為1 0如果配置項的版本升級幅度比較小 一般只增大Y值 X值保持不變 只有當(dāng)配置項版本升級幅度比較大時 才允許增大X值 3 處于 正在修改 狀態(tài)的配置項的版本號格式為 X YZ配置項正在修改時 一般只增大Z值 X Y值保持不變 當(dāng)配置項修改完畢 狀態(tài)重新成為 正式發(fā)布 時 將Z值設(shè)置為0 增加X Y值 參見規(guī)則 2 版本控制的好處 使混亂的開發(fā)狀態(tài)變得有序 SCM的主要技術(shù) 版本控制 變更控制的目的是防止配置項被隨意修改而導(dǎo)致混亂 為了提高效率 對于處于 草稿狀態(tài) 的配置項 不必進行變更控制 因為它們本來就是草稿 本來就是要被不斷地修改的 變更控制 當(dāng)配置項狀態(tài)為 正式發(fā)布 或者該配置項已經(jīng)成為某個基線的一部分 即被 凍結(jié) 時 如果要修改配置項的話 那么按照變更控制規(guī)則執(zhí)行 步驟 第一步變更申請 變更申請人向CCB提交變更申請 重點說明 變更內(nèi)容 和 變更原因 第二步審批變更申請 CCB負責(zé)人 或項目經(jīng)理 審批該申請 分析此變更對項目造成的影響 如果同意變更的話 則轉(zhuǎn)向第三步 否則終止 第三步安排變更任務(wù) CCB指定變更執(zhí)行人 安排他們的任務(wù) CCB需要和變更執(zhí)行人就變更內(nèi)容達成共識 第四步執(zhí)行變更任務(wù) 變更執(zhí)行人根據(jù)CCB安排的任務(wù) 修改配置項 CCB監(jiān)督變更任務(wù)的執(zhí)行 如檢查變更內(nèi)容是否正確 是否按時完成工作等 第五步對更改后的配置項重新進行技術(shù)評審 或?qū)徟?第六步結(jié)束變更 當(dāng)所有變更后的配置項都通過了技術(shù)評審或領(lǐng)導(dǎo)審批 這些配置項的狀態(tài)從 正在修改 變遷為 正式發(fā)布 本次變更結(jié)束 在實際操作中 審批變更申請并非總是 客觀公正 的 人們并不在乎變更申請是否合理 關(guān)鍵看是誰提出變更申請 官兒越大的人提出的變更申請總是優(yōu)先處理的 配置庫操作 所有人員都依照配置管理規(guī)范和計劃來操作配置庫 配置管理員的主要操作有 創(chuàng)建配置庫 并且至少創(chuàng)建配置庫的所有第一級目錄 為每個項目成員分配操作權(quán)限 一般地 項目成員擁有Add Checkin Checkout Download等權(quán)限 但是不要輕易擁有 刪除 權(quán)限 配置管理員的權(quán)限最高 具體操作視所采用的配置管理軟件而定 根據(jù) 基線計劃 創(chuàng)建與維護基線 凍結(jié) 配置項 控制變更 定期清除配置庫里的垃圾文件 定期備份配置庫 其他項目成員根據(jù)自己的權(quán)限操作配置庫里的工作成果 例如 Add Checkin Checkout Download等 配置審計的目的就是要保證所有人員 包括配置管理員 CCB 和普通項目成員 都遵守配置管理規(guī)范 所以配置審計是質(zhì)量人員的工作職責(zé)之一 可以歸類為 過程檢查活動 配置審計 人們對配置審計最大的誤解是 對配置庫中的每個配置項都檢查一遍 配置庫里的配置項非常多 這樣做無疑非常勞累 卻沒有多少價值 配置審計的對象是項目的主要配置項 如果主要配置項符合 版本控制規(guī)則 和 變更控制規(guī)則 并且定期備份了配置庫 那么就可以認為配置管理符合既定的規(guī)范 反之 如果質(zhì)量人員在審計的時候發(fā)現(xiàn)主要配置項比較混亂 那么應(yīng)當(dāng)告知當(dāng)事人及時更正 這樣就起到了審計的作用 總之 由于每個人都已經(jīng)在配置管理上付出了時間 切勿再在配置審計方面化很多時間 可以不必去熟悉過程 也不必知道團隊開發(fā)的模式可以延續(xù)你一貫的工作程序和處理辦法將變更流程化自動處理業(yè)務(wù) SCM的過程驅(qū)動 SCM的過程改進 SCM為變更和過程改進提供基本結(jié)構(gòu)第一步 了解產(chǎn)品是怎樣生產(chǎn)的第二步 培養(yǎng)一個好的變更環(huán)境 改進要構(gòu)造的也就是改進怎樣構(gòu)造 SEI1998年 過程驅(qū)動的好處 真正規(guī)范團隊開發(fā) 1VisualSourceSafeVisualSourceSafe是Microsoft公司推出的配置管理工具 是VisualStudio的套件之一 SourceSafe是國內(nèi)最流行的配置管理工具 用戶量絕對是第一位 常用配置管理工具 VSS的簡單工作原理 將項目所有的源文件 包括各種文件類型 以特有的方式存入數(shù)據(jù)庫 客戶端將程序拷貝到各自的工作目錄下進行調(diào)試修改 然后進行Checkin到服務(wù)器 進行綜合更新 支持多個項目之間文件快速高效的共享 每個成員對項目文件所作的修改將被記錄到數(shù)據(jù)庫中 VSS可以很容易地與MicrosoftAccess VisualBasic VisualC VisualFoxPro和其他的開發(fā)工具集成在一起 SourceSafe長得很象早先土氣的文件管理器 的確難看 但是難看不礙事 SourceSafe的優(yōu)點可以用8個字來概括 簡單易用 一學(xué)就會 雖然SourceSafe并不是免費的 但是在國內(nèi)人們以接近于零的成本得到它 網(wǎng)上到處可以下載 當(dāng)然Microsoft也不在乎這個小不點的軟件 它屬于 買大件送小件 的角色 如果你合法地得到VisualStudio 你就得到了免費的SourceSafe SourceSafe的主要局限性 只能在Windows下運行 不能在Unix Linux下運行 SourceSafe不支持異構(gòu)環(huán)境下的配置管理 對用戶而言是個麻煩事 這不是技術(shù)問題 是微軟公司產(chǎn)品戰(zhàn)略決定的 適合于局域網(wǎng)內(nèi)的用戶群 不適合于通過Internet連接的用戶群 因為SourceSafe是通過 共享目錄 方式存儲文件的 2CVSCVS是ConcurrentVersionSystem 并行版本系統(tǒng) 的縮寫 它是著名的開放源代碼的配置管理工具 CVS的官方網(wǎng)站是http www cvshome org 官方提供的是CVS服務(wù)器和命令行程序 但是官方并不提供交互式的客戶端軟件 許多軟件機構(gòu)根據(jù)CVS官方提供的編程接口開發(fā)了各色各樣的CVS客戶端軟件 最有名的當(dāng)推Windows環(huán)境的CVS客戶端軟件 WinCVS WinCVS是免費的 但是并不開放源代碼 與SourceSafe相比 CVS的主要優(yōu)點是 SourceSafe有的功能CVS全都有 CVS支持并發(fā)的版本管理 SourceSafe沒有并發(fā)功能 CVS服務(wù)器的功能和性能都比SourceSafe高出一籌 CVS服務(wù)器是用Java編寫的 可以在任何操作系統(tǒng)和網(wǎng)絡(luò)環(huán)境下運行 CVS深受Unix和Linux的用戶喜愛 Borland公司的JBuilder提供了CVS的插件 Java程序員可以在JBuilder集成環(huán)境中使用CVS進行版本控制 CVS服務(wù)器有自己專用的數(shù)據(jù)庫 文件存儲并不采用SourceSafe的 共享目錄 方式 所以不受限于局域網(wǎng) 信息安全性很好 CVS的主要缺點在于客戶端軟件 真可謂五花八門 良莠不齊 Unix和Linux的軟件高手可以直接使用CVS命令行程序 而Windows用戶通常使用WinCVS 安裝和使用WinCVS顯然比SourceSafe麻煩不少 這是令人比較遺憾的 3ClearCaseRational公司的ClearCase是軟件行業(yè)公認的功能最強大 價格最昂貴的配置管理軟件 ClearCase主要應(yīng)用于復(fù)雜產(chǎn)品的并行開發(fā) 發(fā)布和維護 其功能劃分為四個范疇 版本控制 工作空間管理 WorkspaceManagement 構(gòu)造管理 BuildManagement 過程控制 ProcessControl ClearCase通過TCP IP來連接客戶端和服務(wù)器 另外 ClearCase擁有的浮動License可以跨越UNIX和WindowsNT平臺被共享 ClearCase的功能比CVS SourceSafe強大得多 但是其用戶量卻遠不如CVS SourceSafe的多 主要原因是 ClearCase價格昂貴 如果沒有批量折扣的話 每個License大約5000美元 對于中國用戶而言 這無疑是天價 用戶只有經(jīng)過幾天的培訓(xùn)后 費用同樣很昂貴 才能正常使用ClearCase 如果不參加培訓(xùn)的話 用戶基本上不可能無師自通 選擇配置管理工具應(yīng)當(dāng)綜合考慮價格 易用性和功能因素 而不是購買最先進的工具 令人滿意的工具通常是價格低廉 簡便易用 功能恰好夠用 CMM CMMI對配置管理過程域論述得十分清楚詳細 假設(shè)完全按照CMM CMMI的要求執(zhí)行的話 你可以得到100分 滿分 的配置管理成績 Thanks- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- IT 公司 軟件 配置管理
鏈接地址:http://ioszen.com/p-6357246.html