軟件工程工作量的估算方法
瀏覽量:8488
軟件開發(fā)項(xiàng)目的工作量主要指軟件開發(fā)各過程中所花費(fèi)的工作量。與傳統(tǒng)的制造業(yè)不同,軟件的成本主要是人的勞動(dòng)的消耗。軟件也沒有明顯的制造過程,它的開發(fā)過程具有明顯的一次性過程特征。不論軟件管理手段如何進(jìn)步,軟件開發(fā)過程仍然是具有創(chuàng)造性特定的活動(dòng)。這些特性對(duì)軟件工作量的估算也造成了一些困難。工作量的估算要考慮到技術(shù)路線的選擇、設(shè)計(jì)方法、軟件生命周期模型等眾多因素對(duì)軟件項(xiàng)目工作量的影響。軟件項(xiàng)目工作量的估算可以采用不同的操作方法:
(1)自頂向下估算:首先對(duì)整個(gè)系統(tǒng)進(jìn)行總工作量估算,把總工作量逐步分解為各組成部分的工作量,并考慮開發(fā)軟件所需要的資源、人員、質(zhì)量保證、系統(tǒng)集成、安裝等工作量。這種估算方式的優(yōu)點(diǎn)是估算的工作量小,速度快;缺點(diǎn)是對(duì)項(xiàng)目中的特殊困難估計(jì)不足,估算出來的工作量盲目性大,有時(shí)會(huì)遺漏軟件的某些部分,偏離實(shí)際較大。
(2)自底向上估算:先對(duì)軟件開發(fā)各個(gè)子系統(tǒng)或每個(gè)模塊的工作量進(jìn)行估算,再逐步相加,這是一種常見的估算方法。這種估算法的優(yōu)點(diǎn)是估算各個(gè)部分的準(zhǔn)確性較高;缺點(diǎn)是各項(xiàng)子任務(wù)相互聯(lián)系所需要的工作量不易估算,還可能缺少估算許多與軟件開發(fā)有關(guān)的系統(tǒng)及工作量(如:配置管理、質(zhì)量管理、項(xiàng)目管理)。所以往往估算值偏低,必須用其他方法進(jìn)行檢驗(yàn)和校正。
(3)相似比較估算法:把開發(fā)項(xiàng)目的工作分割到一定的程度,和過去的工作進(jìn)行比較,對(duì)其中相同的或相近的部分用已有的數(shù)據(jù)進(jìn)行估算,對(duì)不同的部分再用其他的方法估算。可以提高估算的準(zhǔn)確程度;缺點(diǎn)是不容易明確“類似”的界限。
(4)Debhi估算法:請(qǐng)多位項(xiàng)目經(jīng)理、系統(tǒng)分析員或其他專家,用專家的經(jīng)驗(yàn)來評(píng)估軟件的開發(fā)成本。這種估算法的優(yōu)點(diǎn)是可以據(jù)棄無根據(jù)的估算;缺點(diǎn)是一些參加評(píng)估的成員可能會(huì)受到其他因素的影響。
本文由軟件開發(fā)提供:http://www.bigbenlau.com