軟件工程實踐度量與配置管理課件_第1頁
軟件工程實踐度量與配置管理課件_第2頁
軟件工程實踐度量與配置管理課件_第3頁
軟件工程實踐度量與配置管理課件_第4頁
軟件工程實踐度量與配置管理課件_第5頁
已閱讀5頁,還剩273頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

軟件工程實踐湯銘端中國航天科工集團公司706所軟件工程實踐湯銘端1第九講軟件度量需求管理軟件配置管理第九講軟件度量2內(nèi)容和目的了解軟件度量的概念和內(nèi)容掌握需求管理的概念了解需求管理的過程掌握配置管理的概念掌握配置管理的過程內(nèi)容和目的了解軟件度量的概念和內(nèi)容3軟件度量軟件度量4軟件度量理解軟件度量選擇軟件度量指標度量計劃步驟軟件度量理解軟件度量5軟件度量的理解項目規(guī)劃時,需要評估項目規(guī)模和進度等項目跟蹤時,需要明確實際的工作量和時間與計劃的對比情況判斷軟件產(chǎn)品的穩(wěn)定性時,需要明確發(fā)現(xiàn)和糾正缺陷的速率定量了解項目的進展,需要對當前項目的績效進行測量,并與基線進行比較軟件度量的理解項目規(guī)劃時,需要評估項目規(guī)模和進度等6軟件度量的定義軟件度量是軟件中范圍廣泛的測度,讓你定量了解進度,工作量,產(chǎn)品規(guī)模,項目狀態(tài)以及質(zhì)量性能,用于評估情況,跟蹤進展,評價效率。軟件度量的定義軟件度量是軟件中范圍廣泛的測度,讓你定量了解進7度量類型過程項目技術度量類型過程8過程中的度量戰(zhàn)略目的進行連續(xù)的過程改進過程中的度量戰(zhàn)略目的9項目中的度量輔助估算質(zhì)量控制生產(chǎn)率評估項目控制戰(zhàn)術目標項目中的度量輔助估算10技術中的度量評估技術工作產(chǎn)品的質(zhì)量在項目中進行決策技術中的度量評估技術工作產(chǎn)品的質(zhì)量11作用軟件度量是為項目估算,計劃的基礎數(shù)據(jù)軟件度量提供控制項目的量化信息軟件度量為質(zhì)量管理提供指示軟件度量能推動企業(yè)的過程改進作用軟件度量是為項目估算,計劃的基礎數(shù)據(jù)12度量成本開始度量時設定度量底線:收集度量的成本應與可獲得的潛在利益相平衡防止意外成本(后果)的發(fā)生度量成本開始度量時設定度量底線:收集度量的成本應與可獲得的潛13軟件度量的困難不一定認為度量是軟件工程的必備要素很難定義和收集度量,常常被忽視。今天的數(shù)據(jù)是明天的歷史數(shù)據(jù)軟件度量的困難不一定認為度量是軟件工程的必備要素14選擇軟件度量開始實施時,選擇一組數(shù)量少而且平衡的度量,有助于企業(yè)達到目標選擇軟件度量開始實施時,選擇一組數(shù)量少而且平衡的度量,有助于15GQM:目標-問題-度量GQM是一個杰出的技術用于選擇適當度量來滿足需求GQM:目標-問題-度量GQM是一個杰出的技術16GQM:步驟首先選擇幾個項目或者幾個機構的目標,盡可能將目標敘述的可以量化、可以測量。對于每個目標,設想一下必須回答的問題,看看是否達到目標最后,確認必須回答每個問題的度量GQM:步驟首先選擇幾個項目或者幾個機構的目標,盡可能將目標17目標:一年內(nèi)降低50%維護成本將進度估計的準確性實際提高到10%以內(nèi)將下一個項目的系統(tǒng)測試時間減少三個星期三個月內(nèi)將消滅一個缺陷的時間減少40%目標:一年內(nèi)降低50%維護成本18問題一年內(nèi)降低50%維護成本每個月我們花在維護上的費用是多少?花在我們支持的每個應用軟件上的維護成本是多少?我們花在調(diào)整(調(diào)整以適應變更的環(huán)境)、完善(增加、提高)和修正(糾正缺陷)上的費用是多少?問題一年內(nèi)降低50%維護成本19度量我們花在調(diào)整、完善和修正上的費用是多少?每類維護活動所花的時間每類維護活動所花的時間內(nèi)的總維護成本度量我們花在調(diào)整、完善和修正上的費用是多少?20平衡的度量組產(chǎn)品規(guī)模產(chǎn)品質(zhì)量過程質(zhì)量工作量項目狀態(tài)客戶滿意度平衡的度量組產(chǎn)品規(guī)模21SEI度量指標SEI度量指標22SEI度量指標ProcessEffortCostQualitySQAAuditResultsReviewResultsTroubleReportsPeerReviewResultsDefectPreventionStabilityRequirementsStabilitySizeStabilityProcessStabilityComputerResourceUtilizationTrainingSEI度量指標ProcessStability23項目的常用關鍵度量代碼的行數(shù)及時完成的預定任務推遲完成的預定任務測試覆蓋范圍資源適合程度故障密度系統(tǒng)運行的可利用率推向市場的時間進度、質(zhì)量和成本之間的折衷項目的常用關鍵度量代碼的行數(shù)24度量對象軟件開發(fā)人員軟件項目組軟件機構度量對象軟件開發(fā)人員25軟件開發(fā)人員工作量分布任務持續(xù)時間和工作量的估計值和實際值單元測試覆蓋的代碼單元測試發(fā)現(xiàn)的缺陷數(shù)目代碼和設計的復雜性軟件開發(fā)人員工作量分布26項目組產(chǎn)品規(guī)模工作量分布需求狀態(tài)(批準的需求數(shù),實現(xiàn)的需求數(shù),核實的需求)通過測試的測試用例百分比各主要里程碑之間相隔時間的估計值和實際值人員水平的估計值和實際值集成測試和系統(tǒng)測試中發(fā)現(xiàn)的缺陷數(shù)檢查發(fā)現(xiàn)的缺陷數(shù)缺陷狀態(tài)需求的穩(wěn)定性計劃任務數(shù)和完成任務數(shù)項目組產(chǎn)品規(guī)模27機構組織發(fā)布的缺陷水平產(chǎn)品開發(fā)周期估計準確度的進展計劃和工作量重新使用的有效性計劃成本和實際成本機構組織發(fā)布的缺陷水平28數(shù)據(jù)的級別成員級別項目級別機構級別數(shù)據(jù)的級別成員級別29PSP的度量指標項目計劃度量項目質(zhì)量度量PSP的度量指標項目計劃度量30項目計劃實際累計累計百分比總結Minutes/LOCLOC/HourDefects/KLOC過程效益A/FR程序規(guī)模(LOC)新開發(fā)與更改的最大值最小值開發(fā)時間計劃設計編嗎代碼復查編譯測試后置處理總計最大值最小值項目計劃總結表項目計劃實際累計累計百分比總結程序規(guī)模(LOC)開發(fā)時間項目31項目計劃總結表項目計劃實際累計累計百分比引入的缺陷計劃設計編碼代碼復查編譯總計排除的缺陷計劃設計編碼代碼復查編譯總計項目計劃總結表項目計劃實際累計累計百分比引入的缺陷排除的缺陷32項目規(guī)劃度量--個人統(tǒng)計任務編號任務名稱FPLOC時間類型001通訊模塊310005編碼002總體10設計項目名稱:教育信息平臺項目成員:張三成員級別系數(shù):1.2項目規(guī)劃度量--個人統(tǒng)計任務編號任務名稱FPLOC時間類型033項目規(guī)劃度量—項目統(tǒng)計(最好利用工具)統(tǒng)計出所有項目中各個任務的度量值。統(tǒng)計出項目中某一類任務的工作量值:FP,LOC統(tǒng)計出項目中某一類任務的規(guī)模(人天)項目規(guī)劃度量—項目統(tǒng)計(最好利用工具)統(tǒng)計出所有項目中各個任34項目規(guī)劃度量—項目統(tǒng)計例子項目的需求分析時間:50天項目的需求規(guī)模:100人天項目中任務001的設計時間:10天項目中任務001的設計規(guī)模:15人天項目中任務001的編碼時間:5天項目中任務001的測試時間:6天項目中任務001的編碼規(guī)模:5人天項目規(guī)劃度量—項目統(tǒng)計例子項目的需求分析時間:50天35項目質(zhì)量度量--個人統(tǒng)計任務編號任務名稱類型階段缺陷個數(shù)001通訊模塊接口設計3002成績查詢語法編碼6003招生管理函數(shù)測試2項目名稱:教育信息平臺項目成員:李四成員級別系數(shù):0.8項目質(zhì)量度量--個人統(tǒng)計任務編號任務名稱類型階段缺陷個數(shù)0036項目質(zhì)量度量—項目統(tǒng)計統(tǒng)計出所有項目中各個任務的度量值。統(tǒng)計出某一類型缺陷的個數(shù)統(tǒng)計出某一階段缺陷的個數(shù)統(tǒng)計出某一模塊缺陷的個數(shù)項目質(zhì)量度量—項目統(tǒng)計統(tǒng)計出所有項目中各個任務的度量值。37項目質(zhì)量度量—項目統(tǒng)計例子項目的需求階段的缺陷:6項目的編碼階段的缺陷:100項目中任務001的缺陷數(shù):20項目中接口類缺陷數(shù):20項目質(zhì)量度量—項目統(tǒng)計例子項目的需求階段的缺陷:638開發(fā)度量計劃的步驟開發(fā)度量計劃的步驟39開發(fā)度量計劃的步驟標識目標選擇起步度量明確工作活動匯總歷史數(shù)據(jù)收集并分析度量,決策中使用度量開發(fā)度量計劃的步驟標識目標401、標識目標確定明確的標準目標或者匯總一個基線1、標識目標確定明確的標準目標41標識目標作用讓度量計劃改善經(jīng)營成果執(zhí)行嚴格定義、目標集中的計劃以降低成本奠定改善軟件投資回報的基礎標識目標作用讓度量計劃改善經(jīng)營成果422、選擇起步度量進度度量需求度量測試覆蓋的百分數(shù)軟件規(guī)模故障密度故障發(fā)生解決率項目整體風險度量2、選擇起步度量進度度量432.1進度度量計算按期完成的任務數(shù)推遲完成的任務數(shù)重訂進計劃中的任務數(shù)2.1進度度量計算按期完成的任務數(shù)442.2需求度量已經(jīng)變更需求的百分數(shù)新需求百分數(shù)2.2需求度量已經(jīng)變更需求的百分數(shù)452.3測試覆蓋的百分數(shù)描述百分之幾的代碼已經(jīng)經(jīng)過測試了;統(tǒng)計表明:沒有度量的測試只能測試代碼的50-60%有有度量的測試可以推動代碼測試覆蓋率2.3測試覆蓋的百分數(shù)描述百分之幾的代碼已經(jīng)經(jīng)過測試了;462.4軟件規(guī)模代碼行功能點人月數(shù)2.4軟件規(guī)模代碼行472.5故障密度軟件質(zhì)量的基本度量:每KNCSS未解決的故障數(shù)。例如:產(chǎn)品發(fā)行標準:0.25故障/KNCSS數(shù)據(jù)表明:7發(fā)現(xiàn)缺陷數(shù)/KNCSS2.5故障密度軟件質(zhì)量的基本度量:每KNCSS未解決的故障數(shù)482.6故障發(fā)生解決率在一段固定時間內(nèi),發(fā)現(xiàn)并解決故障的數(shù)目.是軟件可以凍結的一個穩(wěn)健機制。軟件凍結的條件:故障發(fā)生率和解決率為0故障發(fā)生解決率可以判斷測試階段的完成,有助于測試過多。2.6故障發(fā)生解決率在一段固定時間內(nèi),發(fā)現(xiàn)并解決故障的數(shù)目.492.7項目整體風險度量完成特定進度計劃的可能性百分數(shù)2.7項目整體風險度量完成特定進度計劃的可能性百分數(shù)503、明確工作活動度量需要的什么特定日期誰負責收集度量數(shù)據(jù)何時收集、何時報告度量度量如何報告(狀態(tài)報告、季度會議、度量報告)必要時可以賦予各種度量相應的優(yōu)先級3、明確工作活動度量需要的什么特定日期514、匯總歷史數(shù)據(jù)已經(jīng)完成的項目的度量數(shù)據(jù)當前項目的歷史數(shù)據(jù)使用度量數(shù)據(jù)庫存儲收集的度量數(shù)據(jù)4、匯總歷史數(shù)據(jù)已經(jīng)完成的項目的度量數(shù)據(jù)52度量數(shù)據(jù)庫原則數(shù)據(jù)庫應當易于使用,人們才能方便地更新并報告數(shù)據(jù)數(shù)據(jù)庫應當靈活,數(shù)據(jù)庫最好與其他工具有接口界面數(shù)據(jù)庫與圖形報告工具有接口界面,便于制作圖形和表格數(shù)據(jù)庫足夠大,以便包含更多的歷史信息數(shù)據(jù)庫避免重復數(shù)據(jù)庫應注意安全度量數(shù)據(jù)庫原則數(shù)據(jù)庫應當易于使用,人們才能方便地更新并報告數(shù)53數(shù)據(jù)庫類型電子制表軟件商用數(shù)據(jù)庫軟件數(shù)據(jù)庫類型電子制表軟件545、收集并分析度量收據(jù)度量數(shù)據(jù)與既定的目標進行跟蹤比較,得出相應的結論5、收集并分析度量收據(jù)度量數(shù)據(jù)55收集并分析度量的自動化知識紙面模板電子數(shù)據(jù)表預定義報告軟件工具收集并分析度量的自動化知識566、決策中使用度量可以判斷產(chǎn)品的推出程度了解客戶項目的成本和進度在估計成本和進度時考慮多少偶然因素過程改進中投資何處能得到最到的回報何時開始用戶培訓6、決策中使用度量可以判斷產(chǎn)品的推出程度57度量管理的注意事項軟件度量成為習慣從小開始解釋為什么分享數(shù)據(jù)定義數(shù)據(jù)選項及其規(guī)程理解趨勢度量管理的注意事項軟件度量成為習慣58需求管理RequirementsManagement需求管理RequirementsManagement59需求工程定義需求獲取需求用戶需求系統(tǒng)需求分析需求規(guī)格說明文檔化需求評審需求管理需求理解需求保管需求實現(xiàn)需求控制需求驗證需求需求工程定義需求管理需求60需求管理的目的需求管理的目的是在顧客和將處理顧客需求的軟件項目之間建立對顧客需求的共同理解。需求管理的目的需求管理的目的是在顧客和將處理顧客需求的軟件項61需求管理的內(nèi)容需求管理包括和顧客一起建立和維護有關軟件項目需求的協(xié)議,該協(xié)議稱作“分配給軟件的系統(tǒng)需求”?!邦櫩汀笨山忉尀橄到y(tǒng)工程組、銷售組、另一個內(nèi)部組織、或者一個外部顧客。協(xié)議既包括技術需求、又包括非技術需求(例如交付日期)。該協(xié)議形成估計、策劃和跟蹤整個軟件生存周期內(nèi)軟件項目活動的基礎。需求管理的內(nèi)容需求管理包括和顧客一起建立和維護有關軟件項目需62分配需求的形成將系統(tǒng)需求分配給軟件、硬件和其它系統(tǒng)成分的工作可能由軟件工程組之外的組(例如系統(tǒng)工程組)完成,軟件工程組可能對此分配無直接控制。在項目約束范圍內(nèi),軟件工程組采取恰當步驟以保證對分配給軟件的需求建檔、并加以控制,該組負責處理分配給軟件的系統(tǒng)需求。

分配需求的形成將系統(tǒng)需求分配給軟件、硬件和其它系統(tǒng)成分的工作63需求管理的目標目標1分配給軟件的系統(tǒng)需求是受控的,建立供軟件工程和管理使用的基線。目標2

軟件計劃、產(chǎn)品和活動與分配給軟件的系統(tǒng)需求保持一致。

需求管理的目標目標1分配給軟件的系統(tǒng)需求是受控的,建立供64對分配需求建立文檔分配需求包括:1.

影響和確定軟件項目活動的非技術性需求(即:

協(xié)議、條件、和(或)合同條款),如—要交付的產(chǎn)品、交付日期、里程碑。2.

對軟件的技術需求,如最終用戶、操作員、支持、或集成功能;性能要求;設計約束;編程語言;界面需求。3.

用于確認軟件產(chǎn)品滿足分配需求的驗收準則。對分配需求建立文檔分配需求包括:65需求管理的過程要求(1)活動1

在分配需求被納入軟件項目之前,軟件工程組評審它們。1.

鑒別出不完整的和遺漏的分配需求。2.

評審分配需求,確定它們是否:用軟件來實現(xiàn)是可行的和恰當?shù)?,被清晰和正確地闡述,是相互一致的,和是可測試的。3.

負責分析和分配系統(tǒng)需求的組評審任何被識別出是有潛在問題的分配需求,并作出必要的更改。4.

和受到影響的組協(xié)商由分配需求引起的約定。需求管理的過程要求(1)活動1在分配需求被納入軟件項目之66需求管理的過程要求(2)活動2

軟件工程組采用分配需求作為軟件計劃、工作產(chǎn)品和活動的基礎。分配需求:1.

被進行管理和控制。“進行管理和控制”意味著在給定時間(過去或現(xiàn)在)使用的工作產(chǎn)品的版本是已知的(即版本控制),而且以受控的方式引進更改(即更改控制)。2.

是軟件開發(fā)計劃的基礎。3.

是制定軟件需求的基礎。需求管理的過程要求(2)活動2軟件工程組采用分配需求作為67需求管理的過程要求(3)活動3

評審對分配需求的更改,將其納入軟件項目。1.

評估它對現(xiàn)有約定的影響,合適時協(xié)商更改。

對組織外部的個人和組所作約定的更改由高級管理者參與評審。和受到影響的組協(xié)商組織內(nèi)部約定的更改。2.

對由于分配需求的更改所造成的對軟件計劃、工作產(chǎn)品和活動必須作的更改要加以:識別,評價,風險評估,文檔化,規(guī)劃,傳達到受到影響的組和個人,跟蹤直到結束。需求管理的過程要求(3)活動3評審對分配需求的更改,將其68需求管理過程任何項目都必須存在分配需求類文檔合同、任務書、立項報告、招標文件KickOff會議項目組討論(評審)分配需求分配需求經(jīng)批準后納入配置管理對涉及外部承諾、約定內(nèi)容的更改嚴格控制需求管理過程任何項目都必須存在分配需求類文檔69需求管理的工具:雙向追溯矩陣建立需求檔案檢查需求的完成設計實現(xiàn)檢測對相關的更改進行追蹤需求管理的工具:雙向追溯矩陣建立需求檔案70需求追溯矩陣部件1部件2部件3部件4部件5需求1*需求2**需求3**需求4*需求5*需求追溯矩陣部件1部件2部件3部件4部件5需求1*需求2**71軟件配置管理SCMSoftwareConfigurationManagement軟件配置管理SCM72軟件開發(fā)中存在的一些問題文文不一致文檔和文檔之間不一致文實不一致文檔和程序之間不一致程序版本不一致無法連接、無法安裝、無法形成特定產(chǎn)品問題處理的混亂軟件開發(fā)中存在的一些問題文文不一致73軟件開發(fā)中存在的一些問題軟件項目進行中面臨的一個主要問題是持續(xù)不斷的變化有效的項目管理能夠控制變化,以最有效的手段應對變化不斷命中移動的目標軟件開發(fā)中存在的一些問題軟件項目進行中面臨的一個主要問題是持74配置(Configuration)一計算機系統(tǒng)或網(wǎng)絡按照其功能部件的特點、數(shù)量和主要特征而確定的排列。具體地講,配置一詞可以指硬件裝置或軟件裝置。為確定一系統(tǒng)或系統(tǒng)組成部分的特定版本而提出的需求、設計和實現(xiàn)。在技術文件中制定的并在產(chǎn)品中體現(xiàn)的硬件、軟件的功能和(或)物理特性。配置(Configuration)一計算機系統(tǒng)或網(wǎng)絡按照其功75軟件配置在軟件工程過程中產(chǎn)生的所有信息項(文檔、報告、程序、表格、數(shù)據(jù))構成了軟件配置軟件配置是軟件的具體形態(tài)在某一時刻的瞬時影像隨著軟件工程過程的進展,軟件的配置項(CI)數(shù)目快速增加系統(tǒng)規(guī)格說明可繁衍出軟件項目實施計劃和軟件需求規(guī)格說明它們又依次繁衍出建立信息層次的其它文檔軟件配置在軟件工程過程中產(chǎn)生的所有信息項(文檔、報告、程序、76對配置進行管理對配置進行管理,也稱“技術狀態(tài)管理”,就是要在研制和維護階段保證和控制整個配置的完整性和一致性。軟件配置是軟件產(chǎn)品在不同時期的組合。也可看作是軟件的具體形態(tài)在某時刻的瞬時影像。軟件的配置項包括程序、文檔、數(shù)據(jù)、環(huán)境、規(guī)程等。對配置進行管理對配置進行管理,也稱“技術狀態(tài)管理”,就是要在77定義(GB/T11457-1995軟件工程術語)配置管理是指:標識和確定系統(tǒng)中配置項的過程,在系統(tǒng)整個生存周期內(nèi)控制這些項的投放和更動,記錄并報告配置的狀態(tài)和更動要求,驗證配置項的完整性和正確性對下列工作進行技術和行政指導與監(jiān)督的一套規(guī)范對一配置項的功能和物理特性進行標識和文件編制工作;控制這些特性的更動情況;記錄并報告對這些更動進行處理和實現(xiàn)的狀態(tài)。軟件配置管理既是一項管理工作也是一項技術工作,它在軟件質(zhì)量控制中是至關重要的。定義(GB/T11457-1995軟件工程術語)配置管理78配置管理目標標識變更控制變更確保變更正確實現(xiàn)向其它有關的人報告變更配置管理目標標識變更79軟件配置管理對需方的作用保證開發(fā)、操作和維護要求的完善;在受控條件下能夠作出改變這些要求的靈活性;建立SCM活動和任務評價準則的基礎;完全和非完全(工程發(fā)行)項的補充。軟件配置管理對需方的作用保證開發(fā)、操作和維護要求的完善;80軟件配置管理對開發(fā)方的作用查找滿足這些要求的項和借助控制改變;通過提供附加在管理階段的SCIs(這些情況中,生存周期過程中的主要軟件產(chǎn)品)的狀況,支持聯(lián)合評審過程;通過集中符合性檢查中可度量的結果,支持審核過程;支持質(zhì)量保證、驗證和確認過程,引伸到它們在軟件生存周期中存在的范圍。軟件配置管理對開發(fā)方的作用查找滿足這些要求的項和借助控制改變81軟件配置管理對技術人員的作用這些基線能重建的具有保證的穩(wěn)定基線;狀況的一致信息;突出的要求的狀況和相互依賴關系;變化的通知、分析和撤消;授權的變化機構;處理、貯存、復制、打包和發(fā)行SCIs的一致性方法。軟件配置管理對技術人員的作用這些基線能重建的具有保證的穩(wěn)定基82軟件配置管理的基本術語配置項計算機軟件(CSCI)(軟件的)配置項(CI)基線配置庫軟件配置管理的基本術語配置項計算機軟件(CSCI)83軟件的配置項SCI軟件配置管理的對象就是軟件的配置項——CICI包括文檔、程序、數(shù)據(jù)等除此以外,還常把配置控制之下的軟件工具列入其中,即編輯程序、編譯程序、其它CASE工具的特定版本因為要使用這些工具來生成文檔、程序和數(shù)據(jù),如果版本不同,可能產(chǎn)生的結果也不同軟件的配置項SCI軟件配置管理的對象就是軟件的配置項——C84一般的CI

系統(tǒng)規(guī)格說明軟件項目實施計劃軟件需求說明可執(zhí)行的原型初步的用戶手冊設計規(guī)格說明

源代碼清單測試計劃和過程、測試用例和測試結果記錄操作和安裝手冊可執(zhí)行程序(可執(zhí)行程序模塊、連接模塊)數(shù)據(jù)庫描述(模式和文件結構、初始內(nèi)容)正式的用戶手冊維護文檔(軟件問題報告、維護請求、工程變更次序)軟件工程標準項目開發(fā)總結一般的CI系統(tǒng)規(guī)格說明可執(zhí)行程序(可執(zhí)行程序模塊、連接模塊85配置對象在實現(xiàn)SCM時,把CI組織成配置對象,在配置庫(項目數(shù)據(jù)庫)中用一個單一的名字來組織它們一個配置對象有一個名字和一組屬性,并通過某些聯(lián)系“連接”到其它對象每個對象與其它對象的聯(lián)系用箭頭表示,箭頭指明了一種構造關系雙向箭頭則表明一種相互關系如果對“源代碼”作了一個變更,就可以根據(jù)這種相互關系確定其它哪些CI可能受到影響配置對象在實現(xiàn)SCM時,把CI組織成配置對象,在配置庫(項目86配置對象配置對象87基線(Baseline)基線是軟件生存期中各開發(fā)階段末尾的特定點,又稱里程碑。由正式的技術評審而得到的CI協(xié)議和軟件配置的正式文本才能成為基線?;€的作用是把各階段工作的劃分更加明確化,以便于檢驗和肯定階段成果。基線(Baseline)基線是軟件生存期中各開發(fā)階段末尾的88軟件開發(fā)各階段的基線軟件開發(fā)各階段的基線89項目配置庫(數(shù)據(jù)庫)將CI和基線存放到項目配置庫中當項目成員想要對基線中的CI進行修改時,把它從項目配置庫中復制到該工程師的專用工作區(qū)中例如把一個名為B的CI從項目配置庫復制到工程師的專用工作區(qū)中工程師在B'(B的副本)上完成要求的變更,再用B'來更新B有些系統(tǒng)中把更改中的這個基線中的CI鎖定在變更完成、評審和批準之前,不許對它做任何操作項目配置庫(數(shù)據(jù)庫)將CI和基線存放到項目配置庫中90基線CI和項目配置(數(shù)據(jù))庫基線CI和項目配置(數(shù)據(jù))庫91配置管理過程(ISO12207)配置管理過程是在整個軟件生存周期中實施管理和技術規(guī)程的過程,它標識、定義系統(tǒng)中的軟件項并指定基線;控制軟件項的修改和發(fā)行;記錄和報告軟件項的狀態(tài)和修改申請;保證軟件項的完整性、協(xié)調(diào)性和正確性;以及控制軟件項的儲存、處理和交付。配置管理過程(ISO12207)配置管理過程是在整個軟件生存92配置管理過程活動軟件配置管理主要有以下的基本活動:過程實施配置標識配置控制配置狀態(tài)統(tǒng)計配置審計發(fā)行管理和交付配置管理過程活動軟件配置管理主要有以下的基本活動:93過程實施編制配置管理計劃。描述:配置管理活動;為實施這些活動采用的規(guī)程和進度安排;負責實施這些活動的組織,以及它們和其他組織的關系。過程實施編制配置管理計劃。描述:94過程實施規(guī)程1啟動和定義范圍1.1定義SCM過程的輸入1.2定義SCM過程的資源和限制1.3分配職責和權利1.4SCIs的選擇準則1.5定義SCM過程的輸出2計劃3控制執(zhí)行4SCM過程的評審和評價5結束過程實施規(guī)程1啟動和定義范圍95軟件配置標識應確定一個方案,來標識一個項目需加控制的軟件項及其版本。對于每一軟件項及其版本,應標識下述內(nèi)容:建立基線的文檔;版本引用號;以及其他標識細節(jié)。軟件配置標識應確定一個方案,來標識一個項目需加控制的軟件項及96軟件配置標識規(guī)程1標識SCIs2標識軟件配置基線3標識軟件庫4進程狀態(tài)軟件配置標識規(guī)程1標識SCIs97配置標識隨著軟件生存期的向前推進CI的數(shù)量不斷增多整個軟件生存期的軟件配置就象一部不斷演變的電影,而某一時刻的配置就是這部電影的一個片段為了方便對軟件配置的各個片段(CI)進行控制和管理,不致造成混亂,首先應給它們命名配置標識隨著軟件生存期的向前推進CI的數(shù)量不斷增多98對象類型基本對象:是由軟件工程師在分析、設計、編碼和測試時所建立的文本單元。例如,基本對象可能是需求規(guī)格說明中的一節(jié),一個模塊的源程序清單、一組用來測試一個等價類的測試用例復合對象:是基本對象或其它復合對象的一個收集對象類型基本對象:是由軟件工程師在分析、設計、編碼和測試時所99配置項標識(名字、描述、資源、實現(xiàn))名字明確地標識CI描述包括:CI類型(如文檔、程序、數(shù)據(jù))、項目標識、變更和/或版本信息資源包括:由CI產(chǎn)生的、處理的、引用的或其它需要的一些實體基本對象的實現(xiàn)是指向文本單元的指針,復合對象的實現(xiàn)為null配置項標識(名字、描述、資源、實現(xiàn))100命名對象之間的聯(lián)系對象的層次關系:一個對象可以是一個復合對象的一個組成部分,用聯(lián)系<is

partof>標識以建立CI的一個層次:

E-Rdiagram1.4<is

partof>datamodel;datamodel<ispartof>DesignSpecification;對象的相互關聯(lián)關系:對象跨越對象層次的分支相互關聯(lián)。這些交叉的結構聯(lián)系表達方式如下:datamodel<interrelated>dataflowmodel;

(兩個復合對象之間的相互聯(lián)系)datamodel<interrelated>testcaseclassm;

(一個復合對象與一個特定的基本對象之間的相互聯(lián)系)命名對象之間的聯(lián)系對象的層次關系:一個對象可以是一個復合對象101演變圖整個軟件工程過程中所涉及的軟件對象都必須加以標識在對象成為基線以前可能要做多次變更,在成為基線之后也可能需要頻繁地變更對于每一配置對象都可以建立一個演變圖,用演變圖記敘對象的變更歷史在某些工具中,當前保持的只是最后版本的完全副本為了得到較早時期(文檔或程序)的版本,可以從最后版本中“提取”出(由工具編目的)變更,使得當前配置直接可用,并使得其它版本也可用。演變圖整個軟件工程過程中所涉及的軟件對象都必須加以標識102演變圖演變圖103軟件配置控制應標識和記錄更改申請;分析和評價更改;批準或不批準申請;實現(xiàn)、驗證和發(fā)行已修改的軟件項。應對每次修改進行審核跟蹤、可以跟蹤修改的原因和修改的授權。應對所有訪問受控軟件項的情況進行控制和審核,以保證關鍵功能的安全和保密安全。軟件配置控制應標識和記錄更改申請;104軟件配置控制規(guī)程1提議變更2評價提議的變更的影響3實現(xiàn)變更4交流處置5結束變更軟件配置控制規(guī)程1提議變更105軟件配置控制的主要內(nèi)容更改控制版本控制軟件配置控制的主要內(nèi)容更改控制106變更控制軟件開發(fā)中全部的軟件配置是軟件產(chǎn)品的真正代表,必須使其保持精確軟件工程過程中某一階段的變更,均要引起軟件配置的變更,這種變更必須嚴格加以控制和管理,保持修改信息變更控制包括建立控制點和建立報告與審查制度變更控制軟件開發(fā)中全部的軟件配置是軟件產(chǎn)品的真正代表,必須使107變更控制過程變更控制過程108軟件工程實踐度量與配置管理課件109變更過程首先用戶提交書面的變更請求,詳細申明變更的理由、變更方案、變更的影響范圍等然后由變更控制機構確定控制變更的機制、評價其技術價值、潛在的副作用、對其它配置對象和系統(tǒng)功能的綜合影響以及項目的開銷、并把評價的結果以變更報告的形式提交給變更控制負責人(最終決定變更狀態(tài)和優(yōu)先權的某個人或小組)對批準的變更產(chǎn)生一個工程變更指令(ECO),描述進行的變更、必須考慮的約束、評審和審計的準則等要做變更CI從項目數(shù)據(jù)庫中檢出(checkout),對其做出變更,并實施適當?shù)馁|(zhì)量保證活動。然后再把CI登入(checkin)到數(shù)據(jù)庫中并使用適當?shù)陌姹究刂茩C制建立軟件的下一版本變更過程首先用戶提交書面的變更請求,詳細申明變更的理由、變更110軟件變更有兩類不同情況為改正小錯誤需要的變更為了增加或者刪掉某些功能、或者為了改變完成某個功能的方法而需要的變更軟件變更有兩類不同情況為改正小錯誤需要的變更111改錯變更它是必須進行的,通常不需要從管理角度對這類變更進行審查和批準。但是,如果發(fā)現(xiàn)錯誤的階段在造成錯誤的階段的后面,例如在實現(xiàn)階段發(fā)現(xiàn)了設計錯誤,則必須遵照標準的變更控制過程,把這個變更正式記入文檔,把所有受這個變更影響的文檔都做相應的修改。改錯變更它是必須進行的,通常不需要從管理角度對這類變更進行審112增刪功能變更這類變更必須經(jīng)過某種正式的變更評價過程,以估計變更需要的成本和它對軟件系統(tǒng)其它部分的影響

如果變更的代價比較小且對軟件系統(tǒng)其它部分沒有影響,或影響很小,通常應批準這個變更。

如果變更的代價比較高,或者影響比較大,則必須權衡利弊,以決定是否進行這種變更。如果同意這種變更,需要進一步確定由誰來支付變更所需要的費用。如果是用戶要求的變更,則用戶應支付這筆費用;否則,必須完成某種成本/效益分析,以確定是否值得做這種變更。增刪功能變更這類變更必須經(jīng)過某種正式的變更評價過程,以估計變113變更控制的作用這種變更報告和審查制度,對變更控制來說起了一個安全保證作用。在一個CI成為基線之前,可以對所有合理的項目和技術申請進行非正式的變更;一旦某個CI經(jīng)過正式的技術評審并得到批準,它就成了基線。以后如果需要對它變更,就必須得到項目負責人的批準,或者必須得到變更控制負責人的批準。變更控制的作用這種變更報告和審查制度,對變更控制來說起了一個114版本控制版本控制是SCM的基礎,它管理并保護開發(fā)者的軟件資源。版本控制管理在軟件工程過程中建立起配置對象的不同版本。版本管理可以把一些屬性結合到各個軟件版本上。通過描述所希望的屬性集合來確定(或構造)所想要的配置。使用演變圖來表示系統(tǒng)的不同版本。版本控制版本控制是SCM的基礎,它管理并保護開發(fā)者的軟件資源115軟件工程實踐度量與配置管理課件116演變圖說明圖中的各個結點都是聚合對象,是一個完全的軟件版本。軟件的每一版本都是CI(源代碼、文檔、數(shù)據(jù))的一個收集,且各個版本都可能由不同的變種組成。例如,一個簡單的程序版本由1、2、3、4和5等部件組成。其中部件4在軟件使用彩色顯示器時使用,部件5在軟件使用單色顯示器時使用。因此,可以定義版本的兩個變種。演變圖說明圖中的各個結點都是聚合對象,是一個完全的軟件版本。117版本管理的主要任務集中管理檔案,安全授權機制軟件版本升級管理版本管理的主要任務集中管理檔案,安全授權機制118集中管理檔案,安全授權機制版本管理的操作將開發(fā)組的檔案集中地存放在服務器上,經(jīng)系統(tǒng)管理員授權給各個用戶。用戶通過登入(checkin)和檢出(checkout)的方式訪問服務器上的文件,未經(jīng)授權的用戶無法訪問服務器上的文件。集中管理檔案,安全授權機制版本管理的操作將開發(fā)組的檔案集中119軟件工程實踐度量與配置管理課件120軟件版本升級管理每次登入時,在服務器上都會生成新的版本。任何版本都可以隨時檢出編輯,同一應用的不同版本可以像樹枝一樣向上增長。軟件版本升級管理每次登入時,在服務器上都會生成新的版本。121軟件工程實踐度量與配置管理課件122加鎖功能目的是在文件更新時保護文件,避免不同用戶更改同一文件時發(fā)生沖突。某一文件一旦被登入,鎖即被解除,該文件可被其它用戶使用。在更新一個文件之前鎖定它,避免變更沒有鎖定的項目源文件。加鎖功能目的是在文件更新時保護文件,避免不同用戶更改同一文件123合理使用登入和檢出當需要修改某個小缺陷時,應只檢出完成工作必需的最少文件;需要對文件變更時,應登入它并加鎖,保留對每個變更的記錄;應避免長時間地鎖定文件。如果需要長時間工作于某個文件,最好能創(chuàng)建一個分支,并在分支上做工作。如果需要做較大的變更,可有兩種選擇:a.將需要的所有文件檢出并加鎖,然后正常處理;b.為需要修改的所有分支創(chuàng)建分支,把變更與主干“脫機”,然后把結果合并回去。合理使用登入和檢出當需要修改某個小缺陷時,應只檢出完成工作必124軟件配置狀態(tài)統(tǒng)計應編制管理記錄和狀態(tài)報告,表明受控軟件項的包括基線在內(nèi)的狀態(tài)和歷史。狀態(tài)報告應包括某一項目的更改號碼,最新的軟件項版本,發(fā)行標識,版本號數(shù),以及各版本的比較。軟件配置狀態(tài)統(tǒng)計應編制管理記錄和狀態(tài)報告,表明受控軟件項的包125軟件配置狀態(tài)統(tǒng)計規(guī)程1記錄標識2追蹤變更3匯報狀態(tài)統(tǒng)計記錄

軟件產(chǎn)品的結構;每個SCI在接受意義層次的狀態(tài);任何被提議的變更的狀態(tài);被批準的更改和基線版本;發(fā)行的標識。軟件配置狀態(tài)統(tǒng)計規(guī)程1記錄標識126配置狀態(tài)報告為了清楚、及時地記載軟件配置的變化,需要對開發(fā)的過程做出系統(tǒng)的記錄,以反映開發(fā)活動的歷史情況。這就是配置狀態(tài)登錄的任務。登錄主要根據(jù)變更控制小組會議的記錄,并產(chǎn)生配置狀態(tài)報告。對于每一項變更,記錄:發(fā)生了什么?為什么會發(fā)生?誰做的?什么時侯發(fā)生的?會有什么影響?配置狀態(tài)報告為了清楚、及時地記載軟件配置的變化,需要對開發(fā)的127配置狀態(tài)報告信息流配置狀態(tài)報告信息流128配置狀態(tài)報告內(nèi)容每次新分配一個CI,或更新一個已有CI的標識,或一項變更申請被變更控制負責人批準,并給出了一個工程變更順序時,在配置狀態(tài)報告中就要增加一條變更記錄條目。一旦進行了配置審計,其結果也應該寫入報告之中。配置狀態(tài)報告可以放在一個聯(lián)機數(shù)據(jù)庫中,以便軟件開發(fā)人員或者軟件維護人員可以對它進行查詢或修改。此外在軟件配置報告中新登錄的變更應當及時通知給管理人員和軟件工程師。配置狀態(tài)報告對于大型軟件開發(fā)項目的成功起著至關重要的作用。避免了可能出現(xiàn)的不一致和沖突。配置狀態(tài)報告內(nèi)容每次新分配一個CI,或更新一個已有CI的標識129軟件配置評價應確定和保證下述事項:軟件項按其要求的功能完整性軟件項的物理完整性(不管他們的設計和編碼是否反映最新技術描述)。軟件配置評價應確定和保證下述事項:130軟件配置評價要求SCM配置評價確定:控制庫中貯存的SCIs符合SCM記錄;就寫到的SCIs和批準的修改的狀態(tài)(軟件產(chǎn)品按此構造)而言,軟件產(chǎn)品是完全的和可利用的;基線SCIs由相關的SCIs和相應的批準的修改組成;應支持驗證和審核過程以確保被評價的SCIs、基線和軟件產(chǎn)品的完全性。應執(zhí)行配置評價以確定組建基線的SCIs被貯存和保護。應報告配置評價結果。發(fā)現(xiàn)異態(tài)時,應實施問題解決或過程改進過程。軟件配置評價要求SCM配置評價確定:131配置審計軟件配置審計的目的就是要

證實整個軟件生存期中各項產(chǎn)品在技術上和管理上的完整性。確保所有文檔的內(nèi)容變動不超出當初確定的軟件要求范圍。使得軟件配置具有良好的可跟蹤性。軟件的完整性是指開發(fā)后期的軟件產(chǎn)品能夠正確地反映用戶要求配置審計軟件配置審計的目的就是要132軟件配置審計軟件配置審計是軟件變更控制人員掌握配置情況、進行審批的依據(jù)軟件的變更控制機制通常只能跟蹤到工程變更順序產(chǎn)生為止。為確認變更是否正確完成,一般可以用以下兩種方法去審查:

正式技術評審軟件配置審計軟件配置審計軟件配置審計是軟件變更控制人員掌握配置情況、進行133審計內(nèi)容正式的技術評審著重檢查已完成修改的軟件配置對象的技術正確性評審者評價CI,決定它與其它CI的一致性,是否有遺漏或可能引起的副作用正式技術評審應對所有的變更進行,除了那些最無價值的變更之外軟件配置審計作為正式技術評審的補充,評價在評審期間通常沒有被考慮的CI的特性審計內(nèi)容正式的技術評審著重檢查已完成修改的軟件配置對象的技術134軟件發(fā)行管理和交付應有效控制軟件產(chǎn)品和文檔的發(fā)行和交付。在軟件產(chǎn)品的生存期內(nèi)應保持代碼和文檔的母拷貝。包含安全或保密安全關鍵功能的代碼和文檔按照有關組織的方針加以處理、儲存、包裝和交付。軟件發(fā)行管理和交付應有效控制軟件產(chǎn)品和文檔的發(fā)行和交付。135軟件發(fā)行管理和交付規(guī)程1處理SCM過程應控制所有的發(fā)行管理和交付中的輸入和輸出。保留先期版本確保從基線庫中發(fā)行的SCIs是重新可配置的。SCM過程應能重建軟件環(huán)境。2貯存應確保貯存的SCIs的完整性,與媒體或庫的無關:a)選擇貯存的介質(zhì)使再生錯誤和變壞最小化;b)以媒介的貯存期兼容的頻次,運行或刷新被存檔的SCIs;c)在受控環(huán)境貯存復制的拷貝以達到損耗風險的最小化;3復制應建立規(guī)程以確保一致的和完全的復制。應確保發(fā)行不含無關項的媒體(如軟件病毒)。應使用合適的媒體以確保軟件產(chǎn)品復制。4打包5交付軟件發(fā)行管理和交付規(guī)程1處理136接口控制應標識和控制接口(如硬件、系統(tǒng)軟件、支持軟件、一體化的現(xiàn)貨產(chǎn)品,和并行的/并發(fā)開發(fā)的軟件產(chǎn)品)文檔。接口可由相互的協(xié)議所調(diào)整(例如被軟件綜合者和子承包軟件開發(fā)商)或由一方限定(例如,允許復制產(chǎn)品的現(xiàn)貨軟件產(chǎn)品的供應商)。應標識:a)接口用途;b)接口處要求;c)受影響的組織;d)已被控制的接口文檔;e)通知影響接口的提議改變的其他人,以及一起或分別進行接口影響的評價的規(guī)程;f)

批準、變更和發(fā)行的接口文檔的規(guī)程,包括接口變更機構;g)把接口文檔的變更轉(zhuǎn)換成其他SCIs的變更的規(guī)程;h)角色和職責。接口控制應標識和控制接口(如硬件、系統(tǒng)軟件、支持軟件、一體化137注意事項以下幾個事項應在進行配置管理工作時給予注意。1)配置管理設備應做到專機專用,以杜絕計算機病毒。2)存放在磁媒體(如軟盤)中的信息,應每隔一段時間(如半年)就進行一次拷貝翻新,以防失效。3)配置項入、出庫應特別注意校驗,以保證一致性。4)軟件的運行環(huán)境(如操作系統(tǒng))、開發(fā)環(huán)境、支持軟件(如編譯軟件、數(shù)據(jù)庫生成系統(tǒng))都是配置管理應管理的內(nèi)容。注意事項以下幾個事項應在進行配置管理工作時給予注意。138謝謝!湯銘O)68215365(Fax)mdtang@謝謝!湯銘端139軟件工程實踐湯銘端中國航天科工集團公司706所軟件工程實踐湯銘端140第九講軟件度量需求管理軟件配置管理第九講軟件度量141內(nèi)容和目的了解軟件度量的概念和內(nèi)容掌握需求管理的概念了解需求管理的過程掌握配置管理的概念掌握配置管理的過程內(nèi)容和目的了解軟件度量的概念和內(nèi)容142軟件度量軟件度量143軟件度量理解軟件度量選擇軟件度量指標度量計劃步驟軟件度量理解軟件度量144軟件度量的理解項目規(guī)劃時,需要評估項目規(guī)模和進度等項目跟蹤時,需要明確實際的工作量和時間與計劃的對比情況判斷軟件產(chǎn)品的穩(wěn)定性時,需要明確發(fā)現(xiàn)和糾正缺陷的速率定量了解項目的進展,需要對當前項目的績效進行測量,并與基線進行比較軟件度量的理解項目規(guī)劃時,需要評估項目規(guī)模和進度等145軟件度量的定義軟件度量是軟件中范圍廣泛的測度,讓你定量了解進度,工作量,產(chǎn)品規(guī)模,項目狀態(tài)以及質(zhì)量性能,用于評估情況,跟蹤進展,評價效率。軟件度量的定義軟件度量是軟件中范圍廣泛的測度,讓你定量了解進146度量類型過程項目技術度量類型過程147過程中的度量戰(zhàn)略目的進行連續(xù)的過程改進過程中的度量戰(zhàn)略目的148項目中的度量輔助估算質(zhì)量控制生產(chǎn)率評估項目控制戰(zhàn)術目標項目中的度量輔助估算149技術中的度量評估技術工作產(chǎn)品的質(zhì)量在項目中進行決策技術中的度量評估技術工作產(chǎn)品的質(zhì)量150作用軟件度量是為項目估算,計劃的基礎數(shù)據(jù)軟件度量提供控制項目的量化信息軟件度量為質(zhì)量管理提供指示軟件度量能推動企業(yè)的過程改進作用軟件度量是為項目估算,計劃的基礎數(shù)據(jù)151度量成本開始度量時設定度量底線:收集度量的成本應與可獲得的潛在利益相平衡防止意外成本(后果)的發(fā)生度量成本開始度量時設定度量底線:收集度量的成本應與可獲得的潛152軟件度量的困難不一定認為度量是軟件工程的必備要素很難定義和收集度量,常常被忽視。今天的數(shù)據(jù)是明天的歷史數(shù)據(jù)軟件度量的困難不一定認為度量是軟件工程的必備要素153選擇軟件度量開始實施時,選擇一組數(shù)量少而且平衡的度量,有助于企業(yè)達到目標選擇軟件度量開始實施時,選擇一組數(shù)量少而且平衡的度量,有助于154GQM:目標-問題-度量GQM是一個杰出的技術用于選擇適當度量來滿足需求GQM:目標-問題-度量GQM是一個杰出的技術155GQM:步驟首先選擇幾個項目或者幾個機構的目標,盡可能將目標敘述的可以量化、可以測量。對于每個目標,設想一下必須回答的問題,看看是否達到目標最后,確認必須回答每個問題的度量GQM:步驟首先選擇幾個項目或者幾個機構的目標,盡可能將目標156目標:一年內(nèi)降低50%維護成本將進度估計的準確性實際提高到10%以內(nèi)將下一個項目的系統(tǒng)測試時間減少三個星期三個月內(nèi)將消滅一個缺陷的時間減少40%目標:一年內(nèi)降低50%維護成本157問題一年內(nèi)降低50%維護成本每個月我們花在維護上的費用是多少?花在我們支持的每個應用軟件上的維護成本是多少?我們花在調(diào)整(調(diào)整以適應變更的環(huán)境)、完善(增加、提高)和修正(糾正缺陷)上的費用是多少?問題一年內(nèi)降低50%維護成本158度量我們花在調(diào)整、完善和修正上的費用是多少?每類維護活動所花的時間每類維護活動所花的時間內(nèi)的總維護成本度量我們花在調(diào)整、完善和修正上的費用是多少?159平衡的度量組產(chǎn)品規(guī)模產(chǎn)品質(zhì)量過程質(zhì)量工作量項目狀態(tài)客戶滿意度平衡的度量組產(chǎn)品規(guī)模160SEI度量指標SEI度量指標161SEI度量指標ProcessEffortCostQualitySQAAuditResultsReviewResultsTroubleReportsPeerReviewResultsDefectPreventionStabilityRequirementsStabilitySizeStabilityProcessStabilityComputerResourceUtilizationTrainingSEI度量指標ProcessStability162項目的常用關鍵度量代碼的行數(shù)及時完成的預定任務推遲完成的預定任務測試覆蓋范圍資源適合程度故障密度系統(tǒng)運行的可利用率推向市場的時間進度、質(zhì)量和成本之間的折衷項目的常用關鍵度量代碼的行數(shù)163度量對象軟件開發(fā)人員軟件項目組軟件機構度量對象軟件開發(fā)人員164軟件開發(fā)人員工作量分布任務持續(xù)時間和工作量的估計值和實際值單元測試覆蓋的代碼單元測試發(fā)現(xiàn)的缺陷數(shù)目代碼和設計的復雜性軟件開發(fā)人員工作量分布165項目組產(chǎn)品規(guī)模工作量分布需求狀態(tài)(批準的需求數(shù),實現(xiàn)的需求數(shù),核實的需求)通過測試的測試用例百分比各主要里程碑之間相隔時間的估計值和實際值人員水平的估計值和實際值集成測試和系統(tǒng)測試中發(fā)現(xiàn)的缺陷數(shù)檢查發(fā)現(xiàn)的缺陷數(shù)缺陷狀態(tài)需求的穩(wěn)定性計劃任務數(shù)和完成任務數(shù)項目組產(chǎn)品規(guī)模166機構組織發(fā)布的缺陷水平產(chǎn)品開發(fā)周期估計準確度的進展計劃和工作量重新使用的有效性計劃成本和實際成本機構組織發(fā)布的缺陷水平167數(shù)據(jù)的級別成員級別項目級別機構級別數(shù)據(jù)的級別成員級別168PSP的度量指標項目計劃度量項目質(zhì)量度量PSP的度量指標項目計劃度量169項目計劃實際累計累計百分比總結Minutes/LOCLOC/HourDefects/KLOC過程效益A/FR程序規(guī)模(LOC)新開發(fā)與更改的最大值最小值開發(fā)時間計劃設計編嗎代碼復查編譯測試后置處理總計最大值最小值項目計劃總結表項目計劃實際累計累計百分比總結程序規(guī)模(LOC)開發(fā)時間項目170項目計劃總結表項目計劃實際累計累計百分比引入的缺陷計劃設計編碼代碼復查編譯總計排除的缺陷計劃設計編碼代碼復查編譯總計項目計劃總結表項目計劃實際累計累計百分比引入的缺陷排除的缺陷171項目規(guī)劃度量--個人統(tǒng)計任務編號任務名稱FPLOC時間類型001通訊模塊310005編碼002總體10設計項目名稱:教育信息平臺項目成員:張三成員級別系數(shù):1.2項目規(guī)劃度量--個人統(tǒng)計任務編號任務名稱FPLOC時間類型0172項目規(guī)劃度量—項目統(tǒng)計(最好利用工具)統(tǒng)計出所有項目中各個任務的度量值。統(tǒng)計出項目中某一類任務的工作量值:FP,LOC統(tǒng)計出項目中某一類任務的規(guī)模(人天)項目規(guī)劃度量—項目統(tǒng)計(最好利用工具)統(tǒng)計出所有項目中各個任173項目規(guī)劃度量—項目統(tǒng)計例子項目的需求分析時間:50天項目的需求規(guī)模:100人天項目中任務001的設計時間:10天項目中任務001的設計規(guī)模:15人天項目中任務001的編碼時間:5天項目中任務001的測試時間:6天項目中任務001的編碼規(guī)模:5人天項目規(guī)劃度量—項目統(tǒng)計例子項目的需求分析時間:50天174項目質(zhì)量度量--個人統(tǒng)計任務編號任務名稱類型階段缺陷個數(shù)001通訊模塊接口設計3002成績查詢語法編碼6003招生管理函數(shù)測試2項目名稱:教育信息平臺項目成員:李四成員級別系數(shù):0.8項目質(zhì)量度量--個人統(tǒng)計任務編號任務名稱類型階段缺陷個數(shù)00175項目質(zhì)量度量—項目統(tǒng)計統(tǒng)計出所有項目中各個任務的度量值。統(tǒng)計出某一類型缺陷的個數(shù)統(tǒng)計出某一階段缺陷的個數(shù)統(tǒng)計出某一模塊缺陷的個數(shù)項目質(zhì)量度量—項目統(tǒng)計統(tǒng)計出所有項目中各個任務的度量值。176項目質(zhì)量度量—項目統(tǒng)計例子項目的需求階段的缺陷:6項目的編碼階段的缺陷:100項目中任務001的缺陷數(shù):20項目中接口類缺陷數(shù):20項目質(zhì)量度量—項目統(tǒng)計例子項目的需求階段的缺陷:6177開發(fā)度量計劃的步驟開發(fā)度量計劃的步驟178開發(fā)度量計劃的步驟標識目標選擇起步度量明確工作活動匯總歷史數(shù)據(jù)收集并分析度量,決策中使用度量開發(fā)度量計劃的步驟標識目標1791、標識目標確定明確的標準目標或者匯總一個基線1、標識目標確定明確的標準目標180標識目標作用讓度量計劃改善經(jīng)營成果執(zhí)行嚴格定義、目標集中的計劃以降低成本奠定改善軟件投資回報的基礎標識目標作用讓度量計劃改善經(jīng)營成果1812、選擇起步度量進度度量需求度量測試覆蓋的百分數(shù)軟件規(guī)模故障密度故障發(fā)生解決率項目整體風險度量2、選擇起步度量進度度量1822.1進度度量計算按期完成的任務數(shù)推遲完成的任務數(shù)重訂進計劃中的任務數(shù)2.1進度度量計算按期完成的任務數(shù)1832.2需求度量已經(jīng)變更需求的百分數(shù)新需求百分數(shù)2.2需求度量已經(jīng)變更需求的百分數(shù)1842.3測試覆蓋的百分數(shù)描述百分之幾的代碼已經(jīng)經(jīng)過測試了;統(tǒng)計表明:沒有度量的測試只能測試代碼的50-60%有有度量的測試可以推動代碼測試覆蓋率2.3測試覆蓋的百分數(shù)描述百分之幾的代碼已經(jīng)經(jīng)過測試了;1852.4軟件規(guī)模代碼行功能點人月數(shù)2.4軟件規(guī)模代碼行1862.5故障密度軟件質(zhì)量的基本度量:每KNCSS未解決的故障數(shù)。例如:產(chǎn)品發(fā)行標準:0.25故障/KNCSS數(shù)據(jù)表明:7發(fā)現(xiàn)缺陷數(shù)/KNCSS2.5故障密度軟件質(zhì)量的基本度量:每KNCSS未解決的故障數(shù)1872.6故障發(fā)生解決率在一段固定時間內(nèi),發(fā)現(xiàn)并解決故障的數(shù)目.是軟件可以凍結的一個穩(wěn)健機制。軟件凍結的條件:故障發(fā)生率和解決率為0故障發(fā)生解決率可以判斷測試階段的完成,有助于測試過多。2.6故障發(fā)生解決率在一段固定時間內(nèi),發(fā)現(xiàn)并解決故障的數(shù)目.1882.7項目整體風險度量完成特定進度計劃的可能性百分數(shù)2.7項目整體風險度量完成特定進度計劃的可能性百分數(shù)1893、明確工作活動度量需要的什么特定日期誰負責收集度量數(shù)據(jù)何時收集、何時報告度量度量如何報告(狀態(tài)報告、季度會議、度量報告)必要時可以賦予各種度量相應的優(yōu)先級3、明確工作活動度量需要的什么特定日期1904、匯總歷史數(shù)據(jù)已經(jīng)完成的項目的度量數(shù)據(jù)當前項目的歷史數(shù)據(jù)使用度量數(shù)據(jù)庫存儲收集的度量數(shù)據(jù)4、匯總歷史數(shù)據(jù)已經(jīng)完成的項目的度量數(shù)據(jù)191度量數(shù)據(jù)庫原則數(shù)據(jù)庫應當易于使用,人們才能方便地更新并報告數(shù)據(jù)數(shù)據(jù)庫應當靈活,數(shù)據(jù)庫最好與其他工具有接口界面數(shù)據(jù)庫與圖形報告工具有接口界面,便于制作圖形和表格數(shù)據(jù)庫足夠大,以便包含更多的歷史信息數(shù)據(jù)庫避免重復數(shù)據(jù)庫應注意安全度量數(shù)據(jù)庫原則數(shù)據(jù)庫應當易于使用,人們才能方便地更新并報告數(shù)192數(shù)據(jù)庫類型電子制表軟件商用數(shù)據(jù)庫軟件數(shù)據(jù)庫類型電子制表軟件1935、收集并分析度量收據(jù)度量數(shù)據(jù)與既定的目標進行跟蹤比較,得出相應的結論5、收集并分析度量收據(jù)度量數(shù)據(jù)194收集并分析度量的自動化知識紙面模板電子數(shù)據(jù)表預定義報告軟件工具收集并分析度量的自動化知識1956、決策中使用度量可以判斷產(chǎn)品的推出程度了解客戶項目的成本和進度在估計成本和進度時考慮多少偶然因素過程改進中投資何處能得到最到的回報何時開始用戶培訓6、決策中使用度量可以判斷產(chǎn)品的推出程度196度量管理的注意事項軟件度量成為習慣從小開始解釋為什么分享數(shù)據(jù)定義數(shù)據(jù)選項及其規(guī)程理解趨勢度量管理的注意事項軟件度量成為習慣197需求管理RequirementsManagement需求管理RequirementsManagement198需求工程定義需求獲取需求用戶需求系統(tǒng)需求分析需求規(guī)格說明文檔化需求評審需求管理需求理解需求保管需求實現(xiàn)需求控制需求驗證需求需求工程定義需求管理需求199需求管理的目的需求管理的目的是在顧客和將處理顧客需求的軟件項目之間建立對顧客需求的共同理解。需求管理的目的需求管理的目的是在顧客和將處理顧客需求的軟件項200需求管理的內(nèi)容需求管理包括和顧客一起建立和維護有關軟件項目需求的協(xié)議,該協(xié)議稱作“分配給軟件的系統(tǒng)需求”。“顧客”可解釋為系統(tǒng)工程組、銷售組、另一個內(nèi)部組織、或者一個外部顧客。協(xié)議既包括技術需求、又包括非技術需求(例如交付日期)。該協(xié)議形成估計、策劃和跟蹤整個軟件生存周期內(nèi)軟件項目活動的基礎。需求管理的內(nèi)容需求管理包括和顧客一起建立和維護有關軟件項目需201分配需求的形成將系統(tǒng)需求分配給軟件、硬件和其它系統(tǒng)成分的工作可能由軟件工程組之外的組(例如系統(tǒng)工程組)完成,軟件工程組可能對此分配無直接控制。在項目約束范圍內(nèi),軟件工程組采取恰當步驟以保證對分配給軟件的需求建檔、并加以控制,該組負責處理分配給軟件的系統(tǒng)需求。

分配需求的形成將系統(tǒng)需求分配給軟件、硬件和其它系統(tǒng)成分的工作202需求管理的目標目標1分配給軟件的系統(tǒng)需求是受控的,建立供軟件工程和管理使用的基線。目標2

軟件計劃、產(chǎn)品和活動與分配給軟件的系統(tǒng)需求保持一致。

需求管理的目標目標1分配給軟件的系統(tǒng)需求是受控的,建立供203對分配需求建立文檔分配需求包括:1.

影響和確定軟件項目活動的非技術性需求(即:

協(xié)議、條件、和(或)合同條款),如—要交付的產(chǎn)品、交付日期、里程碑。2.

對軟件的技術需求,如最終用戶、操作員、支持、或集成功能;性能要求;設計約束;編程語言;界面需求。3.

用于確認軟件產(chǎn)品滿足分配需求的驗收準則。對分配需求建立文檔分配需求包括:204需求管理的過程要求(1)活動1

在分配需求被納入軟件項目之前,軟件工程組評審它們。1.

鑒別出不完整的和遺漏的分配需求。2.

評審分配需求,確定它們是否:用軟件來實現(xiàn)是可行的和恰當?shù)模磺逦驼_地闡述,是相互一致的,和是可測試的。3.

負責分析和分配系統(tǒng)需求的組評審任何被識別出是有潛在問題的分配需求,并作出必要的更改。4.

和受到影響的組協(xié)商由分配需求引起的約定。需求管理的過程要求(1)活動1在分配需求被納入軟件項目之205需求管理的過程要求(2)活動2

軟件工程組采用分配需求作為軟件計劃、工作產(chǎn)品和活動的基礎。分配需求:1.

被進行管理和控制。“進行管理和控制”意味著在給定時間(過去或現(xiàn)在)使用的工作產(chǎn)品的版本是已知的(即版本控制),而且以受控的方式引進更改(即更改控制)。2.

是軟件開發(fā)計劃的基礎。3.

是制定軟件需求的基礎。需求管理的過程要求(2)活動2軟件工程組采用分配需求作為206需求管理的過程要求(3)活動3

評審對分配需求的更改,將其納入軟件項目。1.

評估它對現(xiàn)有約定的影響,合適時協(xié)商更改。

對組織外部的個人和組所作約定的更改由高級管理者參與評審。和受到影響的組協(xié)商組織內(nèi)部約定的更改。2.

對由于分配需求的更改所造成的對軟件計劃、工作產(chǎn)品和活動必須作的更改要加以:識別,評價,風險評估,文檔化,規(guī)劃,傳達到受到影響的組和個人,跟蹤直到結束。需求管理的過程要求(3)活動3評審對分配需求的更改,將其207需求管理過程任何項目都必須存在分配需求類文檔合同、任務書、立項報告、招標文件KickOff會議項目組討論(評審)分配需求分配需求經(jīng)批準后納入配置管理對涉及外部承諾、約定內(nèi)容的更改嚴格控制需求管理過程任何項目都必須存在分配需求類文檔208需求管理的工具:雙向追溯矩陣建立需求檔案檢查需求的完成設計實現(xiàn)檢測對相關的更改進行追蹤需求管理的工具:雙向追溯矩陣建立需求檔案209需求追溯矩陣部件1部件2部件3部件4部件5需求1*需求2**需求3**需求4*需求5*需求追溯矩陣部件1部件2部件3部件4部件5需求1*需求2**210軟件配置管理SCMSoftwareConfigurationManagement軟件配置管理SCM211軟件開發(fā)中存在的一些問題文文不一致文檔和文檔之間不一致文實不一致文檔和程序之間不一致程序版本不一致無法連接、無法安裝、無法形成特定產(chǎn)品問題處理的混亂軟件開發(fā)中存在的一些問題文文不一致212軟件開發(fā)中存在的一些問題軟件項目進行中面臨的一個主要問題是持續(xù)不斷的變化有效的項目管理能夠控制變化,以最有效的手段應對變化不斷命中移動的目標軟件開發(fā)中存在的一些問題軟件項目進行中面臨的一個主要問題是持213配置(Configuration)一計算機系統(tǒng)或網(wǎng)絡按照其功能部件的特點、數(shù)量和主要特征而確定的排列。具體地講,配置一詞可以指硬件裝置或軟件裝置。為確定一系統(tǒng)或系統(tǒng)組成部分的特定版本而提出的需求、設計和實現(xiàn)。在技術文件中制定的并在產(chǎn)品中體現(xiàn)的硬件、軟件的功能和(或)物理特性。配置(Configuration)一計算機系統(tǒng)或網(wǎng)絡按照其功214軟件配置在軟件工程過程中產(chǎn)生的所有信息項(文檔、報告、程序、表格、數(shù)據(jù))構成了軟件配置軟件配置是軟件的具體形態(tài)在某一時刻的瞬時影像隨著軟件工程過程的進展,軟件的配置項(CI)數(shù)目快速增加系統(tǒng)規(guī)格說明可繁衍出軟件項目實施計劃和軟件需求規(guī)格說明它們又依次繁衍出建立信息層次的其它文檔軟件配置在軟件工程過程中產(chǎn)生的所有信息項(文檔、報告、程序、215對配置進行管理對配置進行管理,也稱“技術狀態(tài)管理”,就是要在研制和維護階段保證和控制整個配置的完整性和一致性。軟件配置是軟件產(chǎn)品在不同時期的組合。也可看作是軟件的具體形態(tài)在某時刻的瞬時影像。軟件的配置項包括程序、文檔、數(shù)據(jù)、環(huán)境、規(guī)程等。對配置進行管理對配置進行管理,也稱“技術狀態(tài)管理”,就是要在216定義(GB/T11457-1995軟件工程術語)配置管理是指:標識和確定系統(tǒng)中配置項的過程,在系統(tǒng)整個生存周期內(nèi)控制這些項的投放和更動,記錄并報告配置的狀態(tài)和更動要求,驗證配置項的完整性和正確性對下列工作進行技術和行政指導與監(jiān)督的一套規(guī)范對一配置項的功能和物理特性進行標識和文件編制工作;控制這些特性的更動情況;記錄并報告對這些更動進行處理和實現(xiàn)的狀態(tài)。軟件配置管理既是一項管理工作也是一項技術工作,它在軟件質(zhì)量控制中是至關重要的。定義(GB/T11457-1995軟件工程術語)配置管理217配置管理目標標識變更控制變更確保變更正確實現(xiàn)向其它有關的人報告變更配置管理目標標識變更218軟件配置管理對需方的作用保證開發(fā)、操作和維護要求的完善;在受控條件下能夠作出改變這些要求的靈活性;建立SCM活動和任務評價準則的基礎;完全和非完全(工程發(fā)行)項的補充。軟件配置管理對需方的作用保證開發(fā)、操作和維護要求的完善;219軟件配置管理對開發(fā)方的作用查找滿足這些要求的項和借助控制改變;通過提供附加在管理階段的SCIs(這些情況中,生存周期過程中的主要軟件產(chǎn)品)的狀況,支持聯(lián)合評審過程;通過集中符合性檢查中可度量的結果,支持審核過程;支持質(zhì)量保證、驗證和確認過程,引伸到它們在軟件生存周期中存在的范圍。軟件配置管理對開發(fā)方的作用查找滿足這些要求的項和借助控制改變220軟件配置管理對技術人員的作用這些基線能重建的具有保證的穩(wěn)定基線;狀況的一致信息;突出的要求的狀況和相互依賴關系;變化的通知、分析和撤消;授權的變化機構;處理、貯存、復制、打包和發(fā)行SCIs的一致性方法。軟件配置管理對技術人員的作用這些基線能重建的具有保證的穩(wěn)定基221軟件配置管理的基本術語配置項計算機軟件(CSCI)(軟件的)配置項(CI)基線配置庫軟件配置管理的基本術語配置項計算機軟件(CSCI)222軟件的配置項SCI軟件配置管理的對象就是軟件的配置項——CICI包括文檔、程序、數(shù)據(jù)等除此以外,還常把配置控制之下的軟件工具列入其中,即編輯程序、編譯程序、其它CASE工具的特定版本因為要使用這些工具來生成文檔、程序和數(shù)據(jù),如果版本不同,可能產(chǎn)生的結果也不同軟件的配置項SCI軟件配置管理的對象就是軟件的配置項——C223一般的CI

系統(tǒng)規(guī)格說明軟件項目實施計劃軟件需求說明可執(zhí)行的原型初步的用戶手冊設計規(guī)格說明

源代碼清單測試計劃和過程、測試用例和測試結果記錄操作和安裝手冊可執(zhí)行程序(可執(zhí)行程序模塊、連接模塊)數(shù)據(jù)庫描述(模式和文件結構、初始內(nèi)容)正式的用戶手冊維護文檔(軟件問題報告、維護請求、工程變更次序)軟件工程標準項目開發(fā)總結一般的CI系統(tǒng)規(guī)格說明可執(zhí)行程序(可執(zhí)行程序模塊、連接模塊224配置對象在實現(xiàn)SCM時,把CI組織成配置對象,在配置庫(項目數(shù)據(jù)庫)中用一個單一的名字來組織它們一個配置對象有一個名字和一組屬性,并通過某些聯(lián)系“連接”到其它對象每個對象與其它對象的聯(lián)系用箭頭表示,箭頭指明了一種構造關系雙向箭頭則表明一種相互關系如果對“源代碼”作了一個變更,就可以根據(jù)這種相互關系確定其它哪些CI可能受到影響配置對象在實現(xiàn)SCM時,把CI組織成配置對象,在配置庫(項目225配置對象配置對象226基線(Baseline)基線是軟件生存期中各開發(fā)階段末尾的特定點,又稱里程碑。由正式的技術評審而得到的CI協(xié)議和軟件配置的正式文本才能成為基線?;€的作用是把各階段工作的劃分更加明確化,以便于檢驗和肯定階段成果?;€(Baseline)基線是軟件生存期中各開發(fā)階段末尾的227軟件開發(fā)各階段的基線軟件開發(fā)各階段的基線228項目配置庫(數(shù)據(jù)庫)將CI和基線存放到項目配置庫中當項目成員想要對基線中的CI進行修改時,把它從項目配置庫中復制到該工程師的專用工作區(qū)中例如把一個名為B的CI從項目配置庫復制到工程師的專用工作區(qū)中工程師在B'(B的副本)上完成要求的變更,再用B'來更新B有些系統(tǒng)中把更改中的這個基線中的CI鎖定在變更完成、評審和批準之前,不許對它做任何操作項目配置庫(數(shù)據(jù)庫)將CI和基線存放到項目配置庫中229基線CI和項目配置(數(shù)據(jù))庫基線CI和項目配置(數(shù)據(jù))庫230配置管理過程(ISO12207)配置管理過程是在整個軟件生存周期中實施管理和技術規(guī)程的過程,它標識、定義系統(tǒng)中的軟件項并指定基線;控制軟件項的修改和發(fā)行;記錄和報告軟件項的狀態(tài)和修改申請;保證軟件項的完整性、協(xié)調(diào)性和正確性;以及控制軟件項的儲存、處理和交付。配置管理過程(ISO12207)配置管理過程是在整個軟件生存231配置管理過程活動軟件配置管理主要有以下的基本活動:過程實施配置標識配置控制配置狀態(tài)統(tǒng)計配置審計發(fā)行管理和交付配置管理過程活動軟件配置管理主要有以下的基本活動:232過程實施編制配置管理計劃。描述:配置管理活動;為實施這些活動采用的規(guī)程和進度安排;負責實施這些活動的組織,以及它們和其他組織的關系。過程實施編制配置管理計劃。描述:233過程實施規(guī)程1啟動和定義范圍1.1定義SCM過程的輸入1.2定義SCM過程的資源和限制1.3分配職責和權利1.4SCIs的選擇準則1.5定義SCM過程的輸出2計劃3控制執(zhí)行4SCM過程的評審和評價5結束過程實施規(guī)程1啟動和定義范圍234軟件配置標識應確定一個方案,來標識一個項目需加控制的軟件項及其版本。對于每一軟件項及其版本,應標識下述內(nèi)容:建立基線的文檔;版本引用號;以及其他標識細節(jié)。軟件配置標識應確定一個方案,來標識一個項目需加控制的軟件項及235軟件配置標識規(guī)程1標識SCIs2標識軟件配置基線3標識軟件庫4進程狀態(tài)軟件配置標識規(guī)程1標識SCIs236配置標識隨著軟件生存期的向前推進CI的數(shù)量不斷增多整個軟件生存期的軟件配置就象一部不斷演變的電影,而某一時刻的配置就是這部電影的一個片段為了方便對軟件配置的各個片段(CI)進行控制和管理,不致造成混亂,首先應給它們命名配置標識隨著軟件生存期的向前推進CI的數(shù)量不斷增多237對象類型基本對象:是由軟件工程師在分析、設計、編碼和測試時所建立的文本單元。例如,基本對象可能是需求規(guī)格說明中的一節(jié),一個模塊的源程序清單、一組用來測試一個等價類的測試用例復合對象:是基本對象或其它復合對象的一個收集對象類型基本對象:是由軟件工程師在分析、設計、編碼和測試時所238配置項標識(名字、描述、資源、實現(xiàn))名字明確地標識CI描述包括:CI類型(如文檔、程序、數(shù)據(jù))、項目標識、變更和/或版本信息資源包括:由CI產(chǎn)生的、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論