- 軟件項(xiàng)目估算
- (美)阿蘭·阿布蘭
- 1067字
- 2020-06-02 15:42:11
1.4 估算過(guò)程的不確定性水平
1.4.1 不確定性錐
著名的不確定性錐以模型的方式展示了在項(xiàng)目整個(gè)生命周期過(guò)程中預(yù)期的偏差范圍,如圖1.5所示。

圖1.5 項(xiàng)目生命周期中的不確定性水平(改編自Boehm et al. 2000,圖1.2, p. 10)
(1)在項(xiàng)目的早期,即可行性研究階段,對(duì)于未來(lái)的項(xiàng)目(t=0):
項(xiàng)目的估算偏差最大可能達(dá)到實(shí)際值的400%,最小為實(shí)際值的25%。
(2)在項(xiàng)目結(jié)束的時(shí)候(t=項(xiàng)目的結(jié)束):
·這時(shí)候,工作量、工期和成本(這些都是因變量)的值相對(duì)比較準(zhǔn)確(在工作量數(shù)據(jù)收集過(guò)程比較可靠的情況下);
·成本影響因子(自變量)的值也相對(duì)比較清楚了,因?yàn)檫@些值都在實(shí)際項(xiàng)目過(guò)程中得到了觀測(cè),所以可以認(rèn)為這些變量都是“確定的”,不會(huì)有任何修改(其中很多變量都是非量化的,例如開(kāi)發(fā)模式、編程語(yǔ)言以及開(kāi)發(fā)平臺(tái));
·但是,這些因變量和自變量的關(guān)系卻很少有人知曉。即使是在項(xiàng)目結(jié)項(xiàng)這個(gè)時(shí)點(diǎn),每個(gè)變量都是確定的,也仍然沒(méi)有一個(gè)模型可以完美地復(fù)現(xiàn)規(guī)模-工作量之間的關(guān)系,而且生產(chǎn)率模型本身也仍然有不確定性。
我們稱(chēng)這個(gè)階段為生產(chǎn)率模型階段(t=項(xiàng)目結(jié)項(xiàng)的時(shí)間)。圖1.5中不確定性錐的最右端沒(méi)有達(dá)到完全準(zhǔn)確的原因是該圖中的所有值基本上都是由專(zhuān)家法得到的推算值。
1.4.2 生產(chǎn)率模型中的不確定性
圖1.6是一個(gè)二維生產(chǎn)率模型草圖(假設(shè)是對(duì)于已經(jīng)完成的項(xiàng)目),橫軸是已完成項(xiàng)目的規(guī)模,縱軸是已完成項(xiàng)目的實(shí)際工作量。圖上的每個(gè)點(diǎn)都對(duì)應(yīng)一個(gè)已完成的項(xiàng)目(該項(xiàng)目的規(guī)模和實(shí)際工作量),而斜率就是表示這組已完成項(xiàng)目的統(tǒng)計(jì)學(xué)方程,也就是相應(yīng)的生產(chǎn)率模型。

圖1.6 只有一個(gè)自變量的模型
換句話(huà)說(shuō),生產(chǎn)率模型表示圖中的兩個(gè)變量間的關(guān)系,即自變量(軟件的規(guī)模)和因變量(已完成的項(xiàng)目工作量)間的關(guān)系。
從圖1.6中可以觀察到,大部分項(xiàng)目的實(shí)際值都沒(méi)有正好落在數(shù)學(xué)方程的那條線(xiàn)上,而是有一定的距離。這意味著生產(chǎn)率模型不能準(zhǔn)確地模型化規(guī)模-工作量之間的關(guān)系:即使估算過(guò)程的輸入信息沒(méi)有任何的不確定性,也只有部分實(shí)際值很接近那條線(xiàn),而其他實(shí)際值卻離得很遠(yuǎn)。
關(guān)于模型化規(guī)模-工作量關(guān)系的生產(chǎn)率模型(有一個(gè)或者多個(gè)自變量),在文獻(xiàn)中經(jīng)常提到這類(lèi)模型的當(dāng)前性能目標(biāo),如圖1.7所示,即80%的項(xiàng)目落在距離方程曲線(xiàn)20%的偏差范圍內(nèi),而20%的項(xiàng)目落在這個(gè)范圍外(但是不超過(guò)某個(gè)偏差范圍上限)。

圖1.7 模型準(zhǔn)確度目標(biāo)
用于建立生產(chǎn)率模型的背景(以及已收集的數(shù)據(jù))與需要進(jìn)行估算的背景有很大的區(qū)別:在實(shí)踐中,一個(gè)項(xiàng)目必須在整個(gè)項(xiàng)目生命周期的早期進(jìn)行估算(事前估算)。在這個(gè)階段,哪些是需要開(kāi)發(fā)的軟件功能以及如何開(kāi)發(fā)這些功能都存在很大的不確定性。
在1.5節(jié)和1.6節(jié)中,將更詳細(xì)地講解生產(chǎn)率模型及其在估算過(guò)程中的應(yīng)用。
- 大話(huà)PLC(輕松動(dòng)漫版)
- 數(shù)據(jù)庫(kù)系統(tǒng)原理及MySQL應(yīng)用教程
- Java加密與解密的藝術(shù)(第2版)
- Hadoop+Spark大數(shù)據(jù)分析實(shí)戰(zhàn)
- Learn Scala Programming
- HTML5+CSS3網(wǎng)站設(shè)計(jì)基礎(chǔ)教程
- 微信小程序入門(mén)指南
- HTML5+CSS3 Web前端開(kāi)發(fā)技術(shù)(第2版)
- Access 2010中文版項(xiàng)目教程
- Extending Unity with Editor Scripting
- RocketMQ實(shí)戰(zhàn)與原理解析
- Elastix Unified Communications Server Cookbook
- 程序員面試金典(第6版)
- PHP典型模塊與項(xiàng)目實(shí)戰(zhàn)大全
- 開(kāi)發(fā)者測(cè)試