kangyimei-北航“軟件工程與項(xiàng)目管理”講義-6-XXXX課件_第1頁(yè)
kangyimei-北航“軟件工程與項(xiàng)目管理”講義-6-XXXX課件_第2頁(yè)
kangyimei-北航“軟件工程與項(xiàng)目管理”講義-6-XXXX課件_第3頁(yè)
kangyimei-北航“軟件工程與項(xiàng)目管理”講義-6-XXXX課件_第4頁(yè)
kangyimei-北航“軟件工程與項(xiàng)目管理”講義-6-XXXX課件_第5頁(yè)
已閱讀5頁(yè),還剩93頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件工程與項(xiàng)目管理SoftwareEngineeringandProjectManagementBeiHangCollegeofSoftwareOct.2010-Dec.2011康一梅kangyimei@軟件工程與項(xiàng)目管理BeiHangCollegeofSo1第六講軟件估算第六講軟件估算2軟件估算SoftwareEstimationInput:需求說(shuō)明書系統(tǒng)設(shè)計(jì)對(duì)象設(shè)計(jì)變更請(qǐng)求Output:軟件規(guī)模工作量進(jìn)度軟件估算SoftwareEstimationInput:3TheSoftware-EstimationStoryEstimation-ProcessOverviewSizeEstimationEffortEstimationScheduleEstimationEstimateRefinementSoftwareEstimation軟件估算TheSoftware-EstimationStoryS4定義

估算的通常定義:對(duì)未來(lái)事實(shí)非零可能性的最樂(lè)觀的預(yù)測(cè)。軟件項(xiàng)目估算是指以準(zhǔn)確的調(diào)查資料和項(xiàng)目信息(如人員和設(shè)備信息)為依據(jù),從估算對(duì)象的歷史,現(xiàn)狀及其規(guī)律性出發(fā),運(yùn)用科學(xué)的方法,對(duì)估算對(duì)象的規(guī)模,所需工作量和成本進(jìn)行的測(cè)定。SoftwareEstimation定義估算的通常定義:對(duì)未來(lái)事實(shí)非零可5介紹有些估算做的很仔細(xì),而有些卻只是憑直覺(jué)的猜測(cè)。大多數(shù)項(xiàng)目超過(guò)估算進(jìn)度25%到100%,但也有少數(shù)一些組織的進(jìn)度估算準(zhǔn)確到10%以內(nèi),能控制在5%之內(nèi)的還沒(méi)有聽(tīng)說(shuō)(Jones,1994)。

SoftwareEstimation介紹有些估算做的很仔細(xì),而有些卻只6介紹軟件項(xiàng)目估算是項(xiàng)目計(jì)劃的依據(jù),但是大多數(shù)軟件開(kāi)發(fā)組織沒(méi)有意識(shí)到軟件估算的重要性。調(diào)查結(jié)果表明:35%的組織沒(méi)有對(duì)軟件開(kāi)發(fā)的成本和時(shí)間作估算。50%的組織沒(méi)有記錄任何正在進(jìn)行的項(xiàng)目的相關(guān)數(shù)據(jù)。57%的組織沒(méi)有使用成本會(huì)計(jì)。80%的項(xiàng)目在成本或時(shí)間上超出預(yù)算。超出成本和時(shí)間的項(xiàng)目里僅有50%的是有意義的超出。進(jìn)行了成本估算的組織里,62%的組織是基于感覺(jué)和經(jīng)驗(yàn),僅僅16%的組織使用了正式的估算方法,如成本估算模型。SoftwareEstimation介紹軟件項(xiàng)目估算是項(xiàng)目計(jì)劃的依據(jù),但7CaseStudy案例

Carl負(fù)責(zé)Gaga-safe公司庫(kù)存控制系統(tǒng)1.0版本的開(kāi)發(fā)(ICS),在參加項(xiàng)目監(jiān)督委員會(huì)第一次會(huì)議的時(shí)候,他對(duì)期望的功能已經(jīng)有了總體設(shè)想。Bill是監(jiān)督委員會(huì)的領(lǐng)導(dǎo),他問(wèn):“Carl,ICS1.0需要多長(zhǎng)時(shí)間?”Carl回答:“大概要9個(gè)月,不過(guò)這只是粗略的估算?!薄安恍?,”Bill說(shuō),“我真希望你說(shuō)3或4個(gè)月,我們一定要在6個(gè)月內(nèi)拿出系統(tǒng),能完成嗎?”“我不能肯定,”Carl坦白地說(shuō),“我還得仔細(xì)研究一下,不過(guò)我相信可以找到辦法在6個(gè)月內(nèi)完成?!薄澳敲窗?個(gè)月當(dāng)成項(xiàng)目完成的目標(biāo),”Bill說(shuō),“無(wú)論如何我們都必須這樣做。”委員會(huì)的其他人一致同意了這個(gè)決定。到第五周的時(shí)候,又增加了一些產(chǎn)品概要設(shè)計(jì)工作,這使Carl更確信項(xiàng)目的時(shí)間更接近9個(gè)月而非6個(gè)月,然而他還是認(rèn)為運(yùn)氣好的話有可能在6個(gè)月內(nèi)完成項(xiàng)目。他不想被看作惹麻煩的人,所以決定等等再說(shuō)。

——憑直覺(jué)的項(xiàng)目估算SoftwareEstimationCaseStudy案例Carl負(fù)責(zé)Gaga8CaseStudy案例(續(xù))Carl的團(tuán)隊(duì)努力地工作著,進(jìn)展穩(wěn)定,但需求分析的時(shí)間比期望的要長(zhǎng)。預(yù)定6個(gè)月要完成的項(xiàng)目已經(jīng)過(guò)去4個(gè)月了?!?個(gè)月無(wú)論如何也做不完剩下的工作?!彼缓酶嬖VBill,項(xiàng)目需要延長(zhǎng)2個(gè)月,總共需要8個(gè)月時(shí)間。幾個(gè)星期后Carl意識(shí)到設(shè)計(jì)進(jìn)度也不像期望的那么快。“先做容易的部分,”他告訴項(xiàng)目組成員,“其余的部分遇到時(shí)再考慮?!盋arl再次向監(jiān)督委員會(huì)匯報(bào):“8個(gè)月的項(xiàng)目已經(jīng)過(guò)去7個(gè)月,詳細(xì)設(shè)計(jì)基本完成,工作卓有成效,但是8個(gè)月內(nèi)還是無(wú)法完成?!盋arl通報(bào)了第2次進(jìn)度拖延,并將完成時(shí)間定為10個(gè)月。Bill對(duì)拖延產(chǎn)生了抱怨,并要求Carl想辦法仍將進(jìn)度安排在8個(gè)月左右。第9個(gè)月,項(xiàng)目組完成了詳細(xì)設(shè)計(jì),但部分模塊的編碼還沒(méi)有開(kāi)始。Carl第3次要求要求延期——12個(gè)月。Bill?編碼進(jìn)行順利,但一些地方需要重新設(shè)計(jì)和重新實(shí)現(xiàn),而這些地方項(xiàng)目組沒(méi)有把詳細(xì)設(shè)計(jì)調(diào)整好,一些實(shí)現(xiàn)過(guò)程相互沖突。在第11個(gè)月的項(xiàng)目監(jiān)督委員會(huì)上,Carl宣布了第4次項(xiàng)目延期——13個(gè)月。Bill?結(jié)果?……——憑直覺(jué)的項(xiàng)目估算SoftwareEstimationCaseStudy案例(續(xù))9TheSoftware-EstimationStory軟件估算與建筑預(yù)算一年的時(shí)間建這樣一幢房子?沒(méi)問(wèn)題!太好了,那我們趕快開(kāi)工吧!——軟件與建筑SoftwareEstimationTheSoftware-EstimationStory軟10TheSoftware-EstimationStory軟件估算——軟件開(kāi)發(fā)是一個(gè)改進(jìn)的過(guò)程蓋一幢房子要花多少錢呢?這取決于房子本身。一個(gè)新的計(jì)費(fèi)系統(tǒng)要花多少錢呢?這也取決于計(jì)費(fèi)系統(tǒng)本身!一些組織希望在需求定義投入前就把成本估算的誤差控制在10%以內(nèi),盡管項(xiàng)目估算的精確程度越早達(dá)到越好,但理論上是不可能實(shí)現(xiàn)的。如果真能那么早實(shí)現(xiàn),精確度可以控制在2%以內(nèi)。軟件開(kāi)發(fā)是一個(gè)逐步細(xì)化的過(guò)程,在每個(gè)階段,都可能做出影響最終項(xiàng)目成本與進(jìn)度的決策。SoftwareEstimationTheSoftware-EstimationStory軟11TheSoftware-EstimationStory軟件估算——可能細(xì)化的數(shù)量估算收斂圖初始的產(chǎn)品定義批準(zhǔn)的產(chǎn)品定義需求說(shuō)明書產(chǎn)品設(shè)計(jì)說(shuō)明書詳細(xì)設(shè)計(jì)說(shuō)明書產(chǎn)品完工項(xiàng)目成本(工作量和成本)項(xiàng)目進(jìn)度1.0x1.0x4.0x2.0x1.5x1.25x0.8x0.67x0.5x0.25x1.6x1.25x1.15x1.1x0.9x0.85x0.8x0.6xSoftwareEstimationTheSoftware-EstimationStory軟12TheSoftware-EstimationStory軟件估算——可能細(xì)化的數(shù)量基于項(xiàng)目階段的估算誤差系數(shù)工作量和規(guī)模進(jìn)度階段樂(lè)觀悲觀樂(lè)觀悲觀初始產(chǎn)品定義0.254.00.601.60批準(zhǔn)的產(chǎn)品定義0.502.00.801.25需求說(shuō)明書0.671.500.851.15產(chǎn)品設(shè)計(jì)說(shuō)明書0.801.250.901.10詳細(xì)設(shè)計(jì)說(shuō)明書0.901.100.951.05SoftwareEstimationTheSoftware-EstimationStory軟13TheSoftware-EstimationStory軟件估算——估算與控制功能資源功能資源項(xiàng)目的演變項(xiàng)目的演變產(chǎn)品規(guī)模產(chǎn)品規(guī)模功能趨于與可用的資源相匹配資源趨于與想得到的功能相匹配期望的功能與可用的資源大多數(shù)軟件項(xiàng)目在開(kāi)始時(shí),期望的功能與可用的資源之間不匹配,但隨著項(xiàng)目的進(jìn)展,功能或資源(或兩者)必定要互相匹配SoftwareEstimationTheSoftware-EstimationStory軟14TheSoftware-EstimationStory軟件估算——合作

表達(dá)你合作的意愿

估算既不要過(guò)高也不要過(guò)低,應(yīng)該正好與費(fèi)用相符。估算的目標(biāo)是尋找估算與實(shí)際情況的交匯點(diǎn)。

精確與準(zhǔn)確:航班時(shí)刻通常精確到分,但不準(zhǔn)確。可能的最短軟件開(kāi)發(fā)進(jìn)度是通過(guò)建立最可能的準(zhǔn)確估算而不是最精確的估算達(dá)到的。如果想獲得最快的開(kāi)發(fā)速度,就要避免錯(cuò)誤的精確。SoftwareEstimationTheSoftware-EstimationStory軟15軟件估算步驟確定軟件范圍確定工作所需資源確定估算內(nèi)容估算改進(jìn)SoftwareEstimation軟件估算步驟確定軟件范圍SoftwareEstimatio16確定軟件范圍 確定軟件估算范圍,就是確定目標(biāo)軟件的數(shù)據(jù)和控制,功能,性能,約束,接口以及可靠性。軟件估算步驟SoftwareEstimation確定軟件范圍 確定軟件估算范圍,就是確定目標(biāo)軟件的數(shù)據(jù)和控制17確定工作所需資源功能資源功能資源項(xiàng)目的演變項(xiàng)目的演變產(chǎn)品規(guī)模產(chǎn)品規(guī)模功能趨于與可用的資源相匹配資源趨于與想得到的功能相匹配期望的功能與可用的資源大多數(shù)軟件項(xiàng)目在開(kāi)始時(shí),期望的功能與可用的資源之間不匹配,但隨著項(xiàng)目的進(jìn)展,功能或資源(或兩者)必定要互相匹配軟件估算步驟SoftwareEstimation確定工作所需資源功能資源功能資源項(xiàng)目的演變項(xiàng)目的演變產(chǎn)品產(chǎn)品18確定工作所需資源 可重用軟件資源可分為以下幾種:可直接復(fù)用的構(gòu)件具有完全經(jīng)驗(yàn)的構(gòu)件具有部分經(jīng)驗(yàn)的構(gòu)件能夠從第三方廠商獲得或已經(jīng)在以前的項(xiàng)目中使用過(guò)的軟件,這些構(gòu)件已經(jīng)經(jīng)過(guò)驗(yàn)證及確認(rèn),且可以直接用在當(dāng)前的項(xiàng)目中。、以前在類似項(xiàng)目中建立的規(guī)約,設(shè)計(jì),代碼或測(cè)試數(shù)據(jù),在本項(xiàng)目中需做修改。、以前在類似項(xiàng)目中建立的規(guī)約,設(shè)計(jì),代碼或測(cè)試數(shù)據(jù),在本項(xiàng)目中需做實(shí)質(zhì)上的修改。軟件估算步驟SoftwareEstimation確定工作所需資源 可重用軟件資源可分為以下幾種:可直接復(fù)用的19確定估算內(nèi)容

規(guī)模估算工作量估算進(jìn)度估算成本估算缺陷數(shù)估算軟件估算步驟SoftwareEstimation確定估算內(nèi)容 規(guī)模估算軟件估算步驟SoftwareEsti20規(guī)模估算

軟件規(guī)模指的是非常普通意義上的軟件總的范圍。它包括功能集的深度和廣度以及軟件的難度和復(fù)雜性。規(guī)模估算方法有以下幾種:用估算算法,如功能點(diǎn)方法,特征點(diǎn),對(duì)象點(diǎn),模糊邏輯,標(biāo)準(zhǔn)構(gòu)件法,Delphi方法,PERT方法等。用規(guī)模估算軟件。如果參與過(guò)類似的項(xiàng)目,并知道它的規(guī)模,那么按百分比形式估算新系統(tǒng)每個(gè)主要部分與舊系統(tǒng)相似部分的規(guī)模。每部分的規(guī)模加起來(lái)是總規(guī)模。軟件估算步驟SoftwareEstimation規(guī)模估算 軟件規(guī)模指的是非常普通意義上的軟件總的范圍。它包括21工作量估算

對(duì)軟件所需的工作時(shí)間的估算,通常以人時(shí),人天,人月,人年等單位來(lái)衡量。工作量估算可以采用以下方法進(jìn)行:使用估算軟件直接從規(guī)模估算得出使用組織中的歷史數(shù)據(jù)確定具有已估算規(guī)模的先前的項(xiàng)目花了多少工作量。使用COCOMO模型或其他模型將代碼行估算轉(zhuǎn)換成工作量估算。采用Delphi方法,PERT方法等直接進(jìn)行工作量估算。軟件估算步驟SoftwareEstimation工作量估算 對(duì)軟件所需的工作時(shí)間的估算,通常以人時(shí),人天,人22進(jìn)度估算

進(jìn)度估算是針對(duì)以階段為單位的估算,進(jìn)度以不同階段的里程碑作為標(biāo)志,而不是對(duì)每一個(gè)細(xì)小任務(wù)都加以估算,對(duì)任務(wù)的適當(dāng)分解很重要,分解的越細(xì)反而會(huì)不準(zhǔn)確。進(jìn)度估算可以采用以下方法進(jìn)行:采用經(jīng)驗(yàn)法,或Delphi方法,PERT方法等直接進(jìn)行工作量估算。使用組織中的歷史數(shù)據(jù)。使用COCOMO算法或其他算法的進(jìn)度估算步驟,提供一種更好的估算。基于承諾的進(jìn)度表。即將任務(wù)分解后,由承擔(dān)任務(wù)的項(xiàng)目組成員給出進(jìn)度承諾,這種方法許多時(shí)候非常有效。軟件估算步驟SoftwareEstimation進(jìn)度估算 進(jìn)度估算是針對(duì)以階段為單位的估算,進(jìn)度以不同階段的23進(jìn)度估算方法

經(jīng)驗(yàn)估算方法月進(jìn)度=3.0*人月(1/3)例:65人月的工作量,進(jìn)度=3.0*65(1/3)12個(gè)月5-6人(65/12)3.0,4.0,2.5SoftwareEstimation進(jìn)度估算方法經(jīng)驗(yàn)估算方法月進(jìn)度=3.0*人月(24

由功能點(diǎn)計(jì)算進(jìn)度的冪次軟件類型最優(yōu)級(jí)平均最差級(jí)系統(tǒng)軟件0.430.450.48商業(yè)軟件0.410.430.46封裝商品軟件0.390.420.45這個(gè)準(zhǔn)則不能取代更仔細(xì)的進(jìn)度估算,但它提供了一個(gè)獲得粗略進(jìn)度估算的最簡(jiǎn)單方法。Jones的一階估算準(zhǔn)則SoftwareEstimation進(jìn)度估算方法由功能點(diǎn)計(jì)算進(jìn)度的冪次軟件類型最優(yōu)級(jí)平均最差級(jí)系25成本估算

包括人力,設(shè)備,有形的,無(wú)形的支出成本估算,其中以人力與軟硬件設(shè)備成本為主要部分。容易被忽視的是學(xué)習(xí)成本,培訓(xùn)成本,風(fēng)險(xiǎn)成本,維護(hù)成本等。人力成本主要基于工作量,進(jìn)度估算。軟件估算步驟SoftwareEstimation成本估算 包括人力,設(shè)備,有形的,無(wú)形的支出成本估算,其中以26缺陷數(shù)估算

包括需求,設(shè)計(jì),代碼中的缺陷,缺陷數(shù)影響項(xiàng)目的工作量,進(jìn)度估算。通常以千行代碼缺陷數(shù)等表示。缺陷數(shù)估算往往需要使用組織中的歷史數(shù)據(jù)。軟件估算步驟SoftwareEstimation缺陷數(shù)估算 包括需求,設(shè)計(jì),代碼中的缺陷,缺陷數(shù)影響項(xiàng)目的工27軟件估算方法功能點(diǎn)估算(1984IBM方法)

輸入輸出查詢內(nèi)部邏輯文件外部接口文件項(xiàng)目早期,需求說(shuō)明書面向數(shù)據(jù)庫(kù)SoftwareEstimation軟件估算方法功能點(diǎn)估算(1984IBM方法)28功能點(diǎn)估算(1984IBM方法)

功能點(diǎn)程序功能一般復(fù)雜中等復(fù)雜很復(fù)雜輸入數(shù)量X3X4X6輸出數(shù)量X4X5X7查詢X3X4X6內(nèi)部邏輯文件X7X10X15外部接口文件X5X7X10

按上表計(jì)算未調(diào)整的功能點(diǎn)總數(shù)然后根據(jù)14個(gè)對(duì)程序有影響的因素計(jì)算“影響系數(shù)”,這些因素包括數(shù)據(jù)通信、聯(lián)機(jī)數(shù)據(jù)條目、處理復(fù)雜性和安裝容易度等。影響系數(shù)在0.65到1.35之間。SoftwareEstimation軟件估算方法功能點(diǎn)估算(1984IBM方法)29功能點(diǎn)估算(1984IBM方法)

功能點(diǎn)程序功能一般復(fù)雜中等復(fù)雜很復(fù)雜輸入數(shù)量6X3=182X4=83X6=18輸出數(shù)量7X4=287X5=350X7=0查詢0X3=02X4=84X6=24內(nèi)部邏輯文件5X7=352X10=203X15=45外部接口文件9X5=450X7=02X10=20未調(diào)整功能點(diǎn)總數(shù)304影響系數(shù)1.15調(diào)整后功能點(diǎn)總數(shù)350計(jì)算功能點(diǎn)數(shù)的例子SoftwareEstimation軟件估算方法功能點(diǎn)估算(1984IBM方法)30Delphi’sWideband方法當(dāng)許多專家基于相同假定獨(dú)立地作出了相同估計(jì),該估計(jì)多半是正確的必須確保專家針對(duì)相同的正確的假定進(jìn)行工作SoftwareEstimation軟件估算方法Delphi’sWideband方法當(dāng)許多專家基于相同假定31Delphi’sWideband方法的步驟1.識(shí)別做估計(jì)的群組-專家估計(jì)者(4-6項(xiàng)目經(jīng)理)-作者-估計(jì)協(xié)調(diào)者2.作者呈述待作估計(jì)的系統(tǒng)3.作者和專家一起識(shí)別作業(yè)和假定4.作者和專家一起就可接收的估計(jì)差異水準(zhǔn)達(dá)成一致(例如20%)5.協(xié)調(diào)者整理一份群組所決定的作業(yè)清單,發(fā)給每個(gè)專家6.針對(duì)每個(gè)作業(yè),專家獨(dú)立地對(duì)每個(gè)作業(yè)作出估計(jì)(無(wú)討論/咨詢),將估計(jì)交給協(xié)調(diào)者7.協(xié)調(diào)者作出如下表格的綜合:樣表SoftwareEstimation軟件估算方法Delphi’sWideband方法的步驟1.識(shí)別做估計(jì)的32Delphi’sWideband方法的步驟8.協(xié)調(diào)者將綜合表發(fā)給全部專家和作者9.當(dāng)%差別(variance)大于可接受水平時(shí),專家與作者討論作業(yè)和假定。不討論估計(jì)值。某些作業(yè)可能作進(jìn)一步分解或合并10.返回步驟5;繼續(xù)工作直到全部作業(yè)處在可接受水平之內(nèi)偏差率=Max{(最大值-平均值),(平均值-最小值)}/平均值SoftwareEstimation軟件估算方法Delphi’sWideband方法的步驟8.協(xié)調(diào)者將綜合33Delphi’sWideband方法的關(guān)鍵絕對(duì)不討論估計(jì)。討論作業(yè)和假定估計(jì)是保密的。估計(jì)者不知道相互的估計(jì)應(yīng)至少有三個(gè)估計(jì)者將項(xiàng)目分解到小的作業(yè)(約20個(gè)人日)SoftwareEstimation軟件估算方法Delphi’sWideband方法的關(guān)鍵絕對(duì)不討論估計(jì)。34PERT方法

PertSizing(PutnamBeta)方法是一種基于統(tǒng)計(jì)原理的估計(jì)方法,是一種簡(jiǎn)單易用、實(shí)效性強(qiáng)的軟件估計(jì)方法。 對(duì)于指定的估計(jì)單元(可能是規(guī)模、進(jìn)度、工作量等),由直接負(fù)責(zé)人給出估計(jì)結(jié)果,估計(jì)結(jié)果由3個(gè)值構(gòu)成:最小值、最大值、最可能值,通過(guò)計(jì)算公式:

期望值=(最大規(guī)模+4*最可能規(guī)模+最小規(guī)模)/6

標(biāo)準(zhǔn)偏差=(最大規(guī)模-最小規(guī)模)/6得到估計(jì)的結(jié)果。SoftwareEstimation根據(jù)給出的三個(gè)值,推算出來(lái)最有可能接近實(shí)際值的規(guī)模。[期望值-標(biāo)準(zhǔn)偏差,期望值+標(biāo)準(zhǔn)偏差]是一個(gè)可以接受的規(guī)模估計(jì)范圍,如果你的最終實(shí)際值能夠落到該范圍內(nèi),則可以被認(rèn)為你的估計(jì)是成功的。初期該范圍可以較大,隨著估計(jì)的不斷精確,該范圍應(yīng)該逐漸被有意識(shí)的減少以求得更準(zhǔn)確的估計(jì)。建議:(最高-最低)/最可能<40%軟件估算方法PERT方法PertSizing35PERT方法的應(yīng)用

這種方法通常與WBS(任務(wù)分解)方法結(jié)合使用,可用于對(duì)于規(guī)模、進(jìn)度、工作量的估計(jì),通常用于規(guī)模估計(jì),尤其適用于估計(jì)專家不足的情況。也可以和Delphi方法結(jié)合使用。SoftwareEstimation軟件估算方法PERT方法的應(yīng)用這種方法通常與WBS36PERT方法的角色SoftwareEstimation角色職責(zé)估計(jì)協(xié)調(diào)人估計(jì)協(xié)調(diào)人對(duì)項(xiàng)目熟悉,根據(jù)已實(shí)現(xiàn)的WBS來(lái)分配各任務(wù)給單元估計(jì)責(zé)任人。項(xiàng)目協(xié)調(diào)人將估計(jì)結(jié)果作為度量數(shù)據(jù)歸入過(guò)程數(shù)據(jù)庫(kù)。單元估計(jì)責(zé)任人單元估計(jì)責(zé)任人負(fù)責(zé)某個(gè)估計(jì)單元的估計(jì)結(jié)果估計(jì)員估計(jì)員一般是某項(xiàng)WBS的任務(wù)責(zé)任主體,他將負(fù)責(zé)該任務(wù)的開(kāi)發(fā)。估計(jì)員憑借以往的開(kāi)發(fā)經(jīng)驗(yàn)和可參考的歷史過(guò)程數(shù)據(jù),對(duì)新任務(wù)的規(guī)模進(jìn)行仔細(xì)的預(yù)測(cè)。軟件估算方法PERT方法的角色SoftwareEstimation角色37PERT方法的改進(jìn)點(diǎn)

1、根據(jù)實(shí)際估計(jì)結(jié)果,給出項(xiàng)目的實(shí)際值與最低、最高估計(jì)值的差距。 2、給出每模塊實(shí)際值與最低、最高估計(jì)值的差距,計(jì)算準(zhǔn)確估計(jì)的所占比率。 3、在多個(gè)項(xiàng)目估計(jì)的基礎(chǔ)上,修正最低和最高值的建議范圍,趨勢(shì)減小。 4、收集項(xiàng)目估計(jì)過(guò)程中的問(wèn)題,改進(jìn)估計(jì)方法的每個(gè)步驟,并增加常見(jiàn)偏差指導(dǎo)。 5、項(xiàng)目估計(jì)值和實(shí)際值以及分析作為經(jīng)驗(yàn)數(shù)據(jù)保存到過(guò)程數(shù)據(jù)庫(kù),供以后參考。SoftwareEstimation軟件估算方法PERT方法的改進(jìn)點(diǎn)1、根據(jù)實(shí)際估計(jì)結(jié)果,給出項(xiàng)目的38

將WBS、PERT、Delphi幾種方法結(jié)合起來(lái)使用的示例

WBS是估算的基礎(chǔ),估算作業(yè)可以用WBS表給出,每個(gè)專家單獨(dú)估算時(shí)采用PERT方法,而整個(gè)估算采用Delphi估算。假定一個(gè)軟件系統(tǒng)分為5個(gè)功能模塊,我們請(qǐng)5個(gè)專家對(duì)項(xiàng)目的需求、設(shè)計(jì)、編碼、測(cè)試工作的工作量進(jìn)行估算,工作量的單位是人月。SoftwareEstimation軟件估算方法綜合應(yīng)用將WBS、PERT、Delphi幾種方法結(jié)合起來(lái)使用的示39

將WBS、PERT、Delphi幾種方法結(jié)合起來(lái)使用的示例

每個(gè)專家基于WBS、PERT方法單獨(dú)進(jìn)行估算的示例SoftwareEstimation軟件估算方法綜合應(yīng)用作業(yè)樂(lè)觀估計(jì)悲觀估計(jì)最可能估計(jì)偏差功能模塊1需求設(shè)計(jì)編碼測(cè)試功能模塊2需求設(shè)計(jì)編碼測(cè)試將WBS、PERT、Delphi幾種方法結(jié)合起來(lái)使用的示40

將WBS、PERT、Delphi幾種方法結(jié)合起來(lái)使用的示例WBS、PERT、Delphi綜合應(yīng)用進(jìn)行工作量估算的示例SoftwareEstimation軟件估算方法綜合應(yīng)用作業(yè)專家1估算值專家2估算值專家3估算值專家4估算值專家5估算值偏差率功能模塊1需求設(shè)計(jì)編碼測(cè)試功能模塊2需求設(shè)計(jì)編碼測(cè)試將WBS、PERT、Delphi幾種方法結(jié)合起來(lái)使用的示41估算的表達(dá)方式加減限定范圍風(fēng)險(xiǎn)量化情況粗略的日期和時(shí)間段把握性因素SoftwareEstimation估算的表達(dá)方式加減限定SoftwareEstimation42加減限定范圍風(fēng)險(xiǎn)量化情況粗略的日期和時(shí)間段把握性因素估算:6個(gè)月,+3個(gè)月,-2個(gè)月+1個(gè)月延遲交付圖形格式子系統(tǒng)-1個(gè)月招聘開(kāi)發(fā)人員比預(yù)計(jì)少+1個(gè)月新開(kāi)發(fā)工具沒(méi)有希望的好用-1個(gè)月新開(kāi)發(fā)工具比預(yù)期的好用+0.5個(gè)月員工病假+0.5個(gè)月低估規(guī)模SoftwareEstimation估算的表達(dá)方式加減限定估算:6個(gè)月,+3個(gè)月,-2個(gè)月+1個(gè)月延遲交付圖形43加減限定范圍風(fēng)險(xiǎn)量化情況粗略的日期和時(shí)間段把握性因素情況估算最佳情況4月1日計(jì)劃情況5月15日當(dāng)前情況5月30日最差情況6月15日SoftwareEstimation估算的表達(dá)方式加減限定情況估算最佳情況4月1日計(jì)劃情況5月15日當(dāng)前情況544加減限定范圍風(fēng)險(xiǎn)量化情況粗略的日期和時(shí)間段把握性因素交付日期按期或提前交付的概率4月1日5%5月1日50%6月1日95%SoftwareEstimation估算的表達(dá)方式加減限定交付日期按期或提前交付的概率4月1日5%5月1日5045估算改進(jìn)單點(diǎn)估算例子項(xiàng)目點(diǎn)估算(人月)初始產(chǎn)品概念階段100已批準(zhǔn)的產(chǎn)品概念階段100需求說(shuō)明書階段135概要設(shè)計(jì)說(shuō)明書階段145詳細(xì)設(shè)計(jì)說(shuō)明書階段160結(jié)束階段170SoftwareEstimation估算改進(jìn)單點(diǎn)估算例子項(xiàng)目點(diǎn)估算(人月)初始產(chǎn)品概念階段1046范圍估算例子項(xiàng)目點(diǎn)估算(人月)初始產(chǎn)品概念階段25-400已批準(zhǔn)的產(chǎn)品概念階段50-200需求說(shuō)明書階段90-200概要設(shè)計(jì)說(shuō)明書階段120-180詳細(xì)設(shè)計(jì)說(shuō)明書階段145-180結(jié)束階段170SoftwareEstimation估算改進(jìn)范圍估算例子項(xiàng)目點(diǎn)估算(人月)初始產(chǎn)品概念階段25-40047估算再修正的例子假定有一個(gè)6個(gè)月的進(jìn)度計(jì)劃,計(jì)劃4周完成第一個(gè)里程碑,而實(shí)際用了5周。這時(shí):假定能在后續(xù)進(jìn)度中彌補(bǔ)損失的一周?把這一周加到整個(gè)進(jìn)度中?把整個(gè)進(jìn)度乘以拖延的數(shù)量(比例),本例中為25%?SoftwareEstimation估算改進(jìn)估算再修正的例子假定有一個(gè)6個(gè)月的進(jìn)度計(jì)劃,計(jì)劃4周48軟件估算的原則與技巧

估算時(shí)間越早,錯(cuò)誤越大,但仍然要在項(xiàng)目初期就開(kāi)始估算。估算的目的是用來(lái)做決策,而不是估算完成就完了。留出估算的時(shí)間,并做好計(jì)劃。避免無(wú)準(zhǔn)備的估算。估算文檔化做得越好,獲得估算經(jīng)驗(yàn)的機(jī)會(huì)越大,這些經(jīng)驗(yàn)可以為以后的項(xiàng)目估算提供參考使用以前項(xiàng)目的數(shù)據(jù)。使用以開(kāi)發(fā)人員為基礎(chǔ)的估算。進(jìn)行詳細(xì)的較低層次上的估算。不要忽略普通任務(wù)。走查估算。使用軟件工具估算。使用幾種不同的估算方法。估算的目的是得到準(zhǔn)確的結(jié)果,不是尋求特定的結(jié)果。SoftwareEstimation數(shù)據(jù)轉(zhuǎn)換、安裝、定制、B測(cè)試程序管理、向客戶或用戶演示程序、參加變更控制會(huì)議、項(xiàng)目進(jìn)行中現(xiàn)有系統(tǒng)的維護(hù)與技術(shù)支持、缺陷修正、與SQA的協(xié)調(diào)、用戶文檔支持、技術(shù)文檔評(píng)審、集成、休假、節(jié)假日、員工病假、公司和部門會(huì)議、培訓(xùn)等項(xiàng)目組成員分別估算項(xiàng)目的各個(gè)部分,然后開(kāi)一個(gè)走查會(huì)議比較所有的估算。充分討論估算的差別并了解出現(xiàn)差別的原因,一直到估算范圍的高低界限達(dá)成一致意見(jiàn)才算完成。軟件估算的原則與技巧 估算時(shí)間越早,錯(cuò)誤越大,但仍然要在項(xiàng)目49軟件工程與項(xiàng)目管理SoftwareEngineeringandProjectManagementBeiHangCollegeofSoftwareOct.2010-Dec.2011康一梅kangyimei@軟件工程與項(xiàng)目管理BeiHangCollegeofSo50第六講軟件估算第六講軟件估算51軟件估算SoftwareEstimationInput:需求說(shuō)明書系統(tǒng)設(shè)計(jì)對(duì)象設(shè)計(jì)變更請(qǐng)求Output:軟件規(guī)模工作量進(jìn)度軟件估算SoftwareEstimationInput:52TheSoftware-EstimationStoryEstimation-ProcessOverviewSizeEstimationEffortEstimationScheduleEstimationEstimateRefinementSoftwareEstimation軟件估算TheSoftware-EstimationStoryS53定義

估算的通常定義:對(duì)未來(lái)事實(shí)非零可能性的最樂(lè)觀的預(yù)測(cè)。軟件項(xiàng)目估算是指以準(zhǔn)確的調(diào)查資料和項(xiàng)目信息(如人員和設(shè)備信息)為依據(jù),從估算對(duì)象的歷史,現(xiàn)狀及其規(guī)律性出發(fā),運(yùn)用科學(xué)的方法,對(duì)估算對(duì)象的規(guī)模,所需工作量和成本進(jìn)行的測(cè)定。SoftwareEstimation定義估算的通常定義:對(duì)未來(lái)事實(shí)非零可54介紹有些估算做的很仔細(xì),而有些卻只是憑直覺(jué)的猜測(cè)。大多數(shù)項(xiàng)目超過(guò)估算進(jìn)度25%到100%,但也有少數(shù)一些組織的進(jìn)度估算準(zhǔn)確到10%以內(nèi),能控制在5%之內(nèi)的還沒(méi)有聽(tīng)說(shuō)(Jones,1994)。

SoftwareEstimation介紹有些估算做的很仔細(xì),而有些卻只55介紹軟件項(xiàng)目估算是項(xiàng)目計(jì)劃的依據(jù),但是大多數(shù)軟件開(kāi)發(fā)組織沒(méi)有意識(shí)到軟件估算的重要性。調(diào)查結(jié)果表明:35%的組織沒(méi)有對(duì)軟件開(kāi)發(fā)的成本和時(shí)間作估算。50%的組織沒(méi)有記錄任何正在進(jìn)行的項(xiàng)目的相關(guān)數(shù)據(jù)。57%的組織沒(méi)有使用成本會(huì)計(jì)。80%的項(xiàng)目在成本或時(shí)間上超出預(yù)算。超出成本和時(shí)間的項(xiàng)目里僅有50%的是有意義的超出。進(jìn)行了成本估算的組織里,62%的組織是基于感覺(jué)和經(jīng)驗(yàn),僅僅16%的組織使用了正式的估算方法,如成本估算模型。SoftwareEstimation介紹軟件項(xiàng)目估算是項(xiàng)目計(jì)劃的依據(jù),但56CaseStudy案例

Carl負(fù)責(zé)Gaga-safe公司庫(kù)存控制系統(tǒng)1.0版本的開(kāi)發(fā)(ICS),在參加項(xiàng)目監(jiān)督委員會(huì)第一次會(huì)議的時(shí)候,他對(duì)期望的功能已經(jīng)有了總體設(shè)想。Bill是監(jiān)督委員會(huì)的領(lǐng)導(dǎo),他問(wèn):“Carl,ICS1.0需要多長(zhǎng)時(shí)間?”Carl回答:“大概要9個(gè)月,不過(guò)這只是粗略的估算。”“不行,”Bill說(shuō),“我真希望你說(shuō)3或4個(gè)月,我們一定要在6個(gè)月內(nèi)拿出系統(tǒng),能完成嗎?”“我不能肯定,”Carl坦白地說(shuō),“我還得仔細(xì)研究一下,不過(guò)我相信可以找到辦法在6個(gè)月內(nèi)完成。”“那么把6個(gè)月當(dāng)成項(xiàng)目完成的目標(biāo),”Bill說(shuō),“無(wú)論如何我們都必須這樣做?!蔽瘑T會(huì)的其他人一致同意了這個(gè)決定。到第五周的時(shí)候,又增加了一些產(chǎn)品概要設(shè)計(jì)工作,這使Carl更確信項(xiàng)目的時(shí)間更接近9個(gè)月而非6個(gè)月,然而他還是認(rèn)為運(yùn)氣好的話有可能在6個(gè)月內(nèi)完成項(xiàng)目。他不想被看作惹麻煩的人,所以決定等等再說(shuō)。

——憑直覺(jué)的項(xiàng)目估算SoftwareEstimationCaseStudy案例Carl負(fù)責(zé)Gaga57CaseStudy案例(續(xù))Carl的團(tuán)隊(duì)努力地工作著,進(jìn)展穩(wěn)定,但需求分析的時(shí)間比期望的要長(zhǎng)。預(yù)定6個(gè)月要完成的項(xiàng)目已經(jīng)過(guò)去4個(gè)月了。“2個(gè)月無(wú)論如何也做不完剩下的工作?!彼缓酶嬖VBill,項(xiàng)目需要延長(zhǎng)2個(gè)月,總共需要8個(gè)月時(shí)間。幾個(gè)星期后Carl意識(shí)到設(shè)計(jì)進(jìn)度也不像期望的那么快?!跋茸鋈菀椎牟糠郑彼嬖V項(xiàng)目組成員,“其余的部分遇到時(shí)再考慮?!盋arl再次向監(jiān)督委員會(huì)匯報(bào):“8個(gè)月的項(xiàng)目已經(jīng)過(guò)去7個(gè)月,詳細(xì)設(shè)計(jì)基本完成,工作卓有成效,但是8個(gè)月內(nèi)還是無(wú)法完成?!盋arl通報(bào)了第2次進(jìn)度拖延,并將完成時(shí)間定為10個(gè)月。Bill對(duì)拖延產(chǎn)生了抱怨,并要求Carl想辦法仍將進(jìn)度安排在8個(gè)月左右。第9個(gè)月,項(xiàng)目組完成了詳細(xì)設(shè)計(jì),但部分模塊的編碼還沒(méi)有開(kāi)始。Carl第3次要求要求延期——12個(gè)月。Bill?編碼進(jìn)行順利,但一些地方需要重新設(shè)計(jì)和重新實(shí)現(xiàn),而這些地方項(xiàng)目組沒(méi)有把詳細(xì)設(shè)計(jì)調(diào)整好,一些實(shí)現(xiàn)過(guò)程相互沖突。在第11個(gè)月的項(xiàng)目監(jiān)督委員會(huì)上,Carl宣布了第4次項(xiàng)目延期——13個(gè)月。Bill?結(jié)果?……——憑直覺(jué)的項(xiàng)目估算SoftwareEstimationCaseStudy案例(續(xù))58TheSoftware-EstimationStory軟件估算與建筑預(yù)算一年的時(shí)間建這樣一幢房子?沒(méi)問(wèn)題!太好了,那我們趕快開(kāi)工吧!——軟件與建筑SoftwareEstimationTheSoftware-EstimationStory軟59TheSoftware-EstimationStory軟件估算——軟件開(kāi)發(fā)是一個(gè)改進(jìn)的過(guò)程蓋一幢房子要花多少錢呢?這取決于房子本身。一個(gè)新的計(jì)費(fèi)系統(tǒng)要花多少錢呢?這也取決于計(jì)費(fèi)系統(tǒng)本身!一些組織希望在需求定義投入前就把成本估算的誤差控制在10%以內(nèi),盡管項(xiàng)目估算的精確程度越早達(dá)到越好,但理論上是不可能實(shí)現(xiàn)的。如果真能那么早實(shí)現(xiàn),精確度可以控制在2%以內(nèi)。軟件開(kāi)發(fā)是一個(gè)逐步細(xì)化的過(guò)程,在每個(gè)階段,都可能做出影響最終項(xiàng)目成本與進(jìn)度的決策。SoftwareEstimationTheSoftware-EstimationStory軟60TheSoftware-EstimationStory軟件估算——可能細(xì)化的數(shù)量估算收斂圖初始的產(chǎn)品定義批準(zhǔn)的產(chǎn)品定義需求說(shuō)明書產(chǎn)品設(shè)計(jì)說(shuō)明書詳細(xì)設(shè)計(jì)說(shuō)明書產(chǎn)品完工項(xiàng)目成本(工作量和成本)項(xiàng)目進(jìn)度1.0x1.0x4.0x2.0x1.5x1.25x0.8x0.67x0.5x0.25x1.6x1.25x1.15x1.1x0.9x0.85x0.8x0.6xSoftwareEstimationTheSoftware-EstimationStory軟61TheSoftware-EstimationStory軟件估算——可能細(xì)化的數(shù)量基于項(xiàng)目階段的估算誤差系數(shù)工作量和規(guī)模進(jìn)度階段樂(lè)觀悲觀樂(lè)觀悲觀初始產(chǎn)品定義0.254.00.601.60批準(zhǔn)的產(chǎn)品定義0.502.00.801.25需求說(shuō)明書0.671.500.851.15產(chǎn)品設(shè)計(jì)說(shuō)明書0.801.250.901.10詳細(xì)設(shè)計(jì)說(shuō)明書0.901.100.951.05SoftwareEstimationTheSoftware-EstimationStory軟62TheSoftware-EstimationStory軟件估算——估算與控制功能資源功能資源項(xiàng)目的演變項(xiàng)目的演變產(chǎn)品規(guī)模產(chǎn)品規(guī)模功能趨于與可用的資源相匹配資源趨于與想得到的功能相匹配期望的功能與可用的資源大多數(shù)軟件項(xiàng)目在開(kāi)始時(shí),期望的功能與可用的資源之間不匹配,但隨著項(xiàng)目的進(jìn)展,功能或資源(或兩者)必定要互相匹配SoftwareEstimationTheSoftware-EstimationStory軟63TheSoftware-EstimationStory軟件估算——合作

表達(dá)你合作的意愿

估算既不要過(guò)高也不要過(guò)低,應(yīng)該正好與費(fèi)用相符。估算的目標(biāo)是尋找估算與實(shí)際情況的交匯點(diǎn)。

精確與準(zhǔn)確:航班時(shí)刻通常精確到分,但不準(zhǔn)確??赡艿淖疃誊浖_(kāi)發(fā)進(jìn)度是通過(guò)建立最可能的準(zhǔn)確估算而不是最精確的估算達(dá)到的。如果想獲得最快的開(kāi)發(fā)速度,就要避免錯(cuò)誤的精確。SoftwareEstimationTheSoftware-EstimationStory軟64軟件估算步驟確定軟件范圍確定工作所需資源確定估算內(nèi)容估算改進(jìn)SoftwareEstimation軟件估算步驟確定軟件范圍SoftwareEstimatio65確定軟件范圍 確定軟件估算范圍,就是確定目標(biāo)軟件的數(shù)據(jù)和控制,功能,性能,約束,接口以及可靠性。軟件估算步驟SoftwareEstimation確定軟件范圍 確定軟件估算范圍,就是確定目標(biāo)軟件的數(shù)據(jù)和控制66確定工作所需資源功能資源功能資源項(xiàng)目的演變項(xiàng)目的演變產(chǎn)品規(guī)模產(chǎn)品規(guī)模功能趨于與可用的資源相匹配資源趨于與想得到的功能相匹配期望的功能與可用的資源大多數(shù)軟件項(xiàng)目在開(kāi)始時(shí),期望的功能與可用的資源之間不匹配,但隨著項(xiàng)目的進(jìn)展,功能或資源(或兩者)必定要互相匹配軟件估算步驟SoftwareEstimation確定工作所需資源功能資源功能資源項(xiàng)目的演變項(xiàng)目的演變產(chǎn)品產(chǎn)品67確定工作所需資源 可重用軟件資源可分為以下幾種:可直接復(fù)用的構(gòu)件具有完全經(jīng)驗(yàn)的構(gòu)件具有部分經(jīng)驗(yàn)的構(gòu)件能夠從第三方廠商獲得或已經(jīng)在以前的項(xiàng)目中使用過(guò)的軟件,這些構(gòu)件已經(jīng)經(jīng)過(guò)驗(yàn)證及確認(rèn),且可以直接用在當(dāng)前的項(xiàng)目中。、以前在類似項(xiàng)目中建立的規(guī)約,設(shè)計(jì),代碼或測(cè)試數(shù)據(jù),在本項(xiàng)目中需做修改。、以前在類似項(xiàng)目中建立的規(guī)約,設(shè)計(jì),代碼或測(cè)試數(shù)據(jù),在本項(xiàng)目中需做實(shí)質(zhì)上的修改。軟件估算步驟SoftwareEstimation確定工作所需資源 可重用軟件資源可分為以下幾種:可直接復(fù)用的68確定估算內(nèi)容

規(guī)模估算工作量估算進(jìn)度估算成本估算缺陷數(shù)估算軟件估算步驟SoftwareEstimation確定估算內(nèi)容 規(guī)模估算軟件估算步驟SoftwareEsti69規(guī)模估算

軟件規(guī)模指的是非常普通意義上的軟件總的范圍。它包括功能集的深度和廣度以及軟件的難度和復(fù)雜性。規(guī)模估算方法有以下幾種:用估算算法,如功能點(diǎn)方法,特征點(diǎn),對(duì)象點(diǎn),模糊邏輯,標(biāo)準(zhǔn)構(gòu)件法,Delphi方法,PERT方法等。用規(guī)模估算軟件。如果參與過(guò)類似的項(xiàng)目,并知道它的規(guī)模,那么按百分比形式估算新系統(tǒng)每個(gè)主要部分與舊系統(tǒng)相似部分的規(guī)模。每部分的規(guī)模加起來(lái)是總規(guī)模。軟件估算步驟SoftwareEstimation規(guī)模估算 軟件規(guī)模指的是非常普通意義上的軟件總的范圍。它包括70工作量估算

對(duì)軟件所需的工作時(shí)間的估算,通常以人時(shí),人天,人月,人年等單位來(lái)衡量。工作量估算可以采用以下方法進(jìn)行:使用估算軟件直接從規(guī)模估算得出使用組織中的歷史數(shù)據(jù)確定具有已估算規(guī)模的先前的項(xiàng)目花了多少工作量。使用COCOMO模型或其他模型將代碼行估算轉(zhuǎn)換成工作量估算。采用Delphi方法,PERT方法等直接進(jìn)行工作量估算。軟件估算步驟SoftwareEstimation工作量估算 對(duì)軟件所需的工作時(shí)間的估算,通常以人時(shí),人天,人71進(jìn)度估算

進(jìn)度估算是針對(duì)以階段為單位的估算,進(jìn)度以不同階段的里程碑作為標(biāo)志,而不是對(duì)每一個(gè)細(xì)小任務(wù)都加以估算,對(duì)任務(wù)的適當(dāng)分解很重要,分解的越細(xì)反而會(huì)不準(zhǔn)確。進(jìn)度估算可以采用以下方法進(jìn)行:采用經(jīng)驗(yàn)法,或Delphi方法,PERT方法等直接進(jìn)行工作量估算。使用組織中的歷史數(shù)據(jù)。使用COCOMO算法或其他算法的進(jìn)度估算步驟,提供一種更好的估算?;诔兄Z的進(jìn)度表。即將任務(wù)分解后,由承擔(dān)任務(wù)的項(xiàng)目組成員給出進(jìn)度承諾,這種方法許多時(shí)候非常有效。軟件估算步驟SoftwareEstimation進(jìn)度估算 進(jìn)度估算是針對(duì)以階段為單位的估算,進(jìn)度以不同階段的72進(jìn)度估算方法

經(jīng)驗(yàn)估算方法月進(jìn)度=3.0*人月(1/3)例:65人月的工作量,進(jìn)度=3.0*65(1/3)12個(gè)月5-6人(65/12)3.0,4.0,2.5SoftwareEstimation進(jìn)度估算方法經(jīng)驗(yàn)估算方法月進(jìn)度=3.0*人月(73

由功能點(diǎn)計(jì)算進(jìn)度的冪次軟件類型最優(yōu)級(jí)平均最差級(jí)系統(tǒng)軟件0.430.450.48商業(yè)軟件0.410.430.46封裝商品軟件0.390.420.45這個(gè)準(zhǔn)則不能取代更仔細(xì)的進(jìn)度估算,但它提供了一個(gè)獲得粗略進(jìn)度估算的最簡(jiǎn)單方法。Jones的一階估算準(zhǔn)則SoftwareEstimation進(jìn)度估算方法由功能點(diǎn)計(jì)算進(jìn)度的冪次軟件類型最優(yōu)級(jí)平均最差級(jí)系74成本估算

包括人力,設(shè)備,有形的,無(wú)形的支出成本估算,其中以人力與軟硬件設(shè)備成本為主要部分。容易被忽視的是學(xué)習(xí)成本,培訓(xùn)成本,風(fēng)險(xiǎn)成本,維護(hù)成本等。人力成本主要基于工作量,進(jìn)度估算。軟件估算步驟SoftwareEstimation成本估算 包括人力,設(shè)備,有形的,無(wú)形的支出成本估算,其中以75缺陷數(shù)估算

包括需求,設(shè)計(jì),代碼中的缺陷,缺陷數(shù)影響項(xiàng)目的工作量,進(jìn)度估算。通常以千行代碼缺陷數(shù)等表示。缺陷數(shù)估算往往需要使用組織中的歷史數(shù)據(jù)。軟件估算步驟SoftwareEstimation缺陷數(shù)估算 包括需求,設(shè)計(jì),代碼中的缺陷,缺陷數(shù)影響項(xiàng)目的工76軟件估算方法功能點(diǎn)估算(1984IBM方法)

輸入輸出查詢內(nèi)部邏輯文件外部接口文件項(xiàng)目早期,需求說(shuō)明書面向數(shù)據(jù)庫(kù)SoftwareEstimation軟件估算方法功能點(diǎn)估算(1984IBM方法)77功能點(diǎn)估算(1984IBM方法)

功能點(diǎn)程序功能一般復(fù)雜中等復(fù)雜很復(fù)雜輸入數(shù)量X3X4X6輸出數(shù)量X4X5X7查詢X3X4X6內(nèi)部邏輯文件X7X10X15外部接口文件X5X7X10

按上表計(jì)算未調(diào)整的功能點(diǎn)總數(shù)然后根據(jù)14個(gè)對(duì)程序有影響的因素計(jì)算“影響系數(shù)”,這些因素包括數(shù)據(jù)通信、聯(lián)機(jī)數(shù)據(jù)條目、處理復(fù)雜性和安裝容易度等。影響系數(shù)在0.65到1.35之間。SoftwareEstimation軟件估算方法功能點(diǎn)估算(1984IBM方法)78功能點(diǎn)估算(1984IBM方法)

功能點(diǎn)程序功能一般復(fù)雜中等復(fù)雜很復(fù)雜輸入數(shù)量6X3=182X4=83X6=18輸出數(shù)量7X4=287X5=350X7=0查詢0X3=02X4=84X6=24內(nèi)部邏輯文件5X7=352X10=203X15=45外部接口文件9X5=450X7=02X10=20未調(diào)整功能點(diǎn)總數(shù)304影響系數(shù)1.15調(diào)整后功能點(diǎn)總數(shù)350計(jì)算功能點(diǎn)數(shù)的例子SoftwareEstimation軟件估算方法功能點(diǎn)估算(1984IBM方法)79Delphi’sWideband方法當(dāng)許多專家基于相同假定獨(dú)立地作出了相同估計(jì),該估計(jì)多半是正確的必須確保專家針對(duì)相同的正確的假定進(jìn)行工作SoftwareEstimation軟件估算方法Delphi’sWideband方法當(dāng)許多專家基于相同假定80Delphi’sWideband方法的步驟1.識(shí)別做估計(jì)的群組-專家估計(jì)者(4-6項(xiàng)目經(jīng)理)-作者-估計(jì)協(xié)調(diào)者2.作者呈述待作估計(jì)的系統(tǒng)3.作者和專家一起識(shí)別作業(yè)和假定4.作者和專家一起就可接收的估計(jì)差異水準(zhǔn)達(dá)成一致(例如20%)5.協(xié)調(diào)者整理一份群組所決定的作業(yè)清單,發(fā)給每個(gè)專家6.針對(duì)每個(gè)作業(yè),專家獨(dú)立地對(duì)每個(gè)作業(yè)作出估計(jì)(無(wú)討論/咨詢),將估計(jì)交給協(xié)調(diào)者7.協(xié)調(diào)者作出如下表格的綜合:樣表SoftwareEstimation軟件估算方法Delphi’sWideband方法的步驟1.識(shí)別做估計(jì)的81Delphi’sWideband方法的步驟8.協(xié)調(diào)者將綜合表發(fā)給全部專家和作者9.當(dāng)%差別(variance)大于可接受水平時(shí),專家與作者討論作業(yè)和假定。不討論估計(jì)值。某些作業(yè)可能作進(jìn)一步分解或合并10.返回步驟5;繼續(xù)工作直到全部作業(yè)處在可接受水平之內(nèi)偏差率=Max{(最大值-平均值),(平均值-最小值)}/平均值SoftwareEstimation軟件估算方法Delphi’sWideband方法的步驟8.協(xié)調(diào)者將綜合82Delphi’sWideband方法的關(guān)鍵絕對(duì)不討論估計(jì)。討論作業(yè)和假定估計(jì)是保密的。估計(jì)者不知道相互的估計(jì)應(yīng)至少有三個(gè)估計(jì)者將項(xiàng)目分解到小的作業(yè)(約20個(gè)人日)SoftwareEstimation軟件估算方法Delphi’sWideband方法的關(guān)鍵絕對(duì)不討論估計(jì)。83PERT方法

PertSizing(PutnamBeta)方法是一種基于統(tǒng)計(jì)原理的估計(jì)方法,是一種簡(jiǎn)單易用、實(shí)效性強(qiáng)的軟件估計(jì)方法。 對(duì)于指定的估計(jì)單元(可能是規(guī)模、進(jìn)度、工作量等),由直接負(fù)責(zé)人給出估計(jì)結(jié)果,估計(jì)結(jié)果由3個(gè)值構(gòu)成:最小值、最大值、最可能值,通過(guò)計(jì)算公式:

期望值=(最大規(guī)模+4*最可能規(guī)模+最小規(guī)模)/6

標(biāo)準(zhǔn)偏差=(最大規(guī)模-最小規(guī)模)/6得到估計(jì)的結(jié)果。SoftwareEstimation根據(jù)給出的三個(gè)值,推算出來(lái)最有可能接近實(shí)際值的規(guī)模。[期望值-標(biāo)準(zhǔn)偏差,期望值+標(biāo)準(zhǔn)偏差]是一個(gè)可以接受的規(guī)模估計(jì)范圍,如果你的最終實(shí)際值能夠落到該范圍內(nèi),則可以被認(rèn)為你的估計(jì)是成功的。初期該范圍可以較大,隨著估計(jì)的不斷精確,該范圍應(yīng)該逐漸被有意識(shí)的減少以求得更準(zhǔn)確的估計(jì)。建議:(最高-最低)/最可能<40%軟件估算方法PERT方法PertSizing84PERT方法的應(yīng)用

這種方法通常與WBS(任務(wù)分解)方法結(jié)合使用,可用于對(duì)于規(guī)模、進(jìn)度、工作量的估計(jì),通常用于規(guī)模估計(jì),尤其適用于估計(jì)專家不足的情況。也可以和Delphi方法結(jié)合使用。SoftwareEstimation軟件估算方法PERT方法的應(yīng)用這種方法通常與WBS85PERT方法的角色SoftwareEstimation角色職責(zé)估計(jì)協(xié)調(diào)人估計(jì)協(xié)調(diào)人對(duì)項(xiàng)目熟悉,根據(jù)已實(shí)現(xiàn)的WBS來(lái)分配各任務(wù)給單元估計(jì)責(zé)任人。項(xiàng)目協(xié)調(diào)人將估計(jì)結(jié)果作為度量數(shù)據(jù)歸入過(guò)程數(shù)據(jù)庫(kù)。單元估計(jì)責(zé)任人單元估計(jì)責(zé)任人負(fù)責(zé)某個(gè)估計(jì)單元的估計(jì)結(jié)果估計(jì)員估計(jì)員一般是某項(xiàng)WBS的任務(wù)責(zé)任主體,他將負(fù)責(zé)該任務(wù)的開(kāi)發(fā)。估計(jì)員憑借以往的開(kāi)發(fā)經(jīng)驗(yàn)和可參考的歷史過(guò)程數(shù)據(jù),對(duì)新任務(wù)的規(guī)模進(jìn)行仔細(xì)的預(yù)測(cè)。軟件估算方法PERT方法的角色SoftwareEstimation角色86PERT方法的改進(jìn)點(diǎn)

1、根據(jù)實(shí)際估計(jì)結(jié)果,給出項(xiàng)目的實(shí)際值與最低、最高估計(jì)值的差距。 2、給出每模塊實(shí)際值與最低、最高估計(jì)值的差距,計(jì)算準(zhǔn)確估計(jì)的所占比率。 3、在多個(gè)項(xiàng)目估計(jì)的基礎(chǔ)上,修正最低和最高值的建議范圍,趨勢(shì)減小。 4、收集項(xiàng)目估計(jì)過(guò)程中的問(wèn)題,改進(jìn)估計(jì)方法的每個(gè)步驟,并增加常見(jiàn)偏差指導(dǎo)。 5、項(xiàng)目估計(jì)值和實(shí)際值以及分析作為經(jīng)驗(yàn)數(shù)據(jù)保存到過(guò)程數(shù)據(jù)庫(kù),供以后參考。SoftwareEstima

溫馨提示

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

評(píng)論

0/150

提交評(píng)論