資源描述:
《項(xiàng)目管理--軟件成本估算概述.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在PPT專區(qū)-天天文庫。
1、軟件工程軟件開發(fā)成本估算軟件開發(fā)成本估算軟件開發(fā)成本主要是指軟件開發(fā)過程中所花費(fèi)的工作量及相應(yīng)的代價(jià)。它不包括原材料和能源的消耗,主要是人的勞動(dòng)的消耗。人的勞動(dòng)消耗所需代價(jià)就是軟件產(chǎn)品的開發(fā)成本。軟件產(chǎn)品開發(fā)成本的計(jì)算方法不同于其它物理產(chǎn)品成本的計(jì)算。軟件的開發(fā)成本是以一次性開發(fā)過程所花費(fèi)的代價(jià)來計(jì)算的。軟件開發(fā)成本的估算,應(yīng)是從軟件計(jì)劃、需求分析、設(shè)計(jì)、編碼、單元測(cè)試、組裝測(cè)試到確認(rèn)測(cè)試,整個(gè)軟件開發(fā)全過程所花費(fèi)的代價(jià)作為依據(jù)的。軟件開發(fā)成本估算方法對(duì)于一個(gè)大型的軟件項(xiàng)目,由于項(xiàng)目的復(fù)雜性,開發(fā)成本的估算不
2、是一件簡(jiǎn)單的事,要進(jìn)行一系列的估算處理。主要靠分解和類推?;竟浪惴椒ǚ譃槿?。自頂向下的估算方法自底向上的估計(jì)法差別估計(jì)法自頂向下的估算方法這種方法的主要思想是從項(xiàng)目的整體出發(fā),進(jìn)行類推。估算人員根據(jù)以前已完成項(xiàng)目所消耗的總成本(或總工作量),推算將要開發(fā)的軟件的總成本(或總工作量),然后按比例將它分配到各開發(fā)任務(wù)單元中去,再來檢驗(yàn)它是否能滿足要求。這種方法的優(yōu)點(diǎn)是估算工作量小,速度快。缺點(diǎn)是對(duì)項(xiàng)目中的特殊困難估計(jì)不足,估算出來的成本盲目性大,有時(shí)會(huì)遺漏被開發(fā)軟件的某些部分。自底向上的估計(jì)法這種方法的主要思
3、想是把待開發(fā)的軟件細(xì)分,直到每一個(gè)子任務(wù)都已經(jīng)明確所需要的開發(fā)工作量,然后把它們加起來,得到軟件開發(fā)的總工作量。它的優(yōu)點(diǎn)是估算各個(gè)部分的準(zhǔn)確性高。缺點(diǎn)是缺少各項(xiàng)子任務(wù)之間相互聯(lián)系所需要的工作量,還缺少許多與軟件開發(fā)有關(guān)的系統(tǒng)級(jí)工作量.差別估計(jì)法這種方法綜合了上述兩種方法的優(yōu)點(diǎn),其主要思想是把待開發(fā)的軟件項(xiàng)目與過去已完成的軟件項(xiàng)目進(jìn)行類比,從其開發(fā)的各個(gè)子任務(wù)中區(qū)分出類似的部分和不同的部分。類似的部分按實(shí)際量進(jìn)行計(jì)算,不同的部分則采用相應(yīng)方法進(jìn)行估算。這種的方法的優(yōu)點(diǎn)是可以提高估算的準(zhǔn)確程度,缺點(diǎn)是不容易明確“
4、類似”的界限。專家判定技術(shù)由多位專家進(jìn)行成本估算單獨(dú)一位專家可能會(huì)有種種偏見,譬如有樂觀的、悲觀的、要求在競(jìng)爭(zhēng)中取勝的、讓大家都高興的種種愿望及政治因素等。最好由多位專家進(jìn)行估算,取得多個(gè)估算值。有多種方法把這些估算值合成一個(gè)估算值。一種方法是簡(jiǎn)單地求各估算值的中值或平均值。其優(yōu)點(diǎn)是簡(jiǎn)便。缺點(diǎn)是可能會(huì)由于受一、二個(gè)極端估算值的影響而產(chǎn)生嚴(yán)重的偏差。一種方法是召開小組會(huì),使各位專家們統(tǒng)一于或至少同意某一個(gè)估算值。優(yōu)點(diǎn)是可以擯棄蒙昧無知的估算值,缺點(diǎn)是一些組員可能會(huì)受權(quán)威或政治因素的影響。Deiphi技術(shù)標(biāo)準(zhǔn)De
5、iphi技術(shù)①組織者發(fā)給每位專家一份軟件系統(tǒng)規(guī)格說明書和一張記錄估算值的表格,請(qǐng)他們進(jìn)行估算。②專家詳細(xì)研究軟件規(guī)格說明書的內(nèi)容,對(duì)該軟件提出三個(gè)規(guī)模的估算值,即:ai(最小)mi(可能)bi(最大)無記名地填寫表格在填表的過程中,專家互相不進(jìn)行討論但可以向組織者提問。③組織者對(duì)專家們填在表格中的答復(fù)進(jìn)行整理:a.計(jì)算各位專家估算的期望值Ei;b.對(duì)專家的估算結(jié)果分類摘要。專家對(duì)此估算值另做一次估算。④在綜合專家估算結(jié)果的基礎(chǔ)上,組織專家再次無記名地填寫表格。比較兩次估算的結(jié)果。若差異很大,則
6、要通過查詢找出差異的原因。⑤上述過程可重復(fù)多次。最終可獲得一個(gè)得到多數(shù)專家共識(shí)的軟件規(guī)模(源代碼行數(shù))。在此過程中不得進(jìn)行小組討論。最后,通過與歷史資料進(jìn)行類比,根據(jù)過去完成軟件項(xiàng)目的規(guī)模和成本等信息,推算出該軟件每行源代碼所需要的成本。然后再乘以該軟件源代碼行數(shù)的估算值,就可得到該軟件的成本估算值。軟件開發(fā)成本估算的經(jīng)驗(yàn)?zāi)P蛙浖_發(fā)成本估算是依據(jù)開發(fā)成本估算模型進(jìn)行估算的。開發(fā)成本估算模型通常采用經(jīng)驗(yàn)公式來預(yù)測(cè)軟件項(xiàng)目計(jì)劃所需要的成本、工作量和進(jìn)度數(shù)據(jù)。用以支持大多數(shù)模型的經(jīng)驗(yàn)數(shù)據(jù)都是從有限的一些項(xiàng)目樣本中
7、得到的。還沒有一種估算模型能夠適用于所有的軟件類型和開發(fā)環(huán)境。IBM模型E=5.2×L0.91D=4.1×L0.36=14.47×E0.35S=0.54×E0.6DOC=49×L1.01L是源代碼行數(shù)(KLOC),E是工作量(PM),D是項(xiàng)目持續(xù)時(shí)間(月),S是人員需要量(人),DOC是文檔數(shù)量(頁)。IBM模型是靜態(tài)單變量模型。在此模型中,一般指一條機(jī)器指令為一行源代碼。一個(gè)軟件的源代碼行數(shù)不包括程序注釋、作業(yè)命令、調(diào)試程序在內(nèi)。對(duì)于非機(jī)器指令編寫的源程序,例如匯編語言或高級(jí)語言程序,應(yīng)轉(zhuǎn)換成機(jī)器指令源代碼
8、行數(shù)來考慮。定義:轉(zhuǎn)換系數(shù)=機(jī)器指令條數(shù)/非機(jī)器語言執(zhí)行步數(shù)。轉(zhuǎn)換系數(shù)表Putnam模型Putnam模型是一種動(dòng)態(tài)多變量模型。適用于大型項(xiàng)目,但也可以應(yīng)用在一些較小的軟件項(xiàng)目中。它是假定在軟件開發(fā)的整個(gè)生存期中工作量有特定的分布。大型軟件項(xiàng)目的開發(fā)工作量分布可以用Rayleigh-Norden曲線表示。這個(gè)曲線把已交付的源代碼行數(shù)與工作量和開發(fā)時(shí)間聯(lián)系起來。用Rayleigh-Norden曲線可以導(dǎo)