您的位置:軟件測試 > 軟件項(xiàng)目管理 > 項(xiàng)目計劃 >
軟件開發(fā)周期估算及探討-代碼實(shí)例講解
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/7/15 14:33:06 ] 推薦標(biāo)簽:

  在實(shí)際進(jìn)行軟件開發(fā)周期估算的時候,軟件規(guī)?隙ㄊ鞘紫瓤紤]的因素,根據(jù)我們上面所討論的情況,在考慮軟件規(guī)模時一定要去除可重用的部分,由于當(dāng)今軟件在設(shè)計上很重視這點(diǎn),所以這部分會占相當(dāng)?shù)谋戎。另外軟件功能之間的關(guān)聯(lián)所造成的復(fù)雜性必須足夠重視,這樣在估算上不會產(chǎn)生重大偏差。

  3.2估算與項(xiàng)目

  任何一個項(xiàng)目都或多或少存在風(fēng)險,軟件項(xiàng)目開發(fā)過程中也避免不了這種情況而且有這類項(xiàng)目自己的特點(diǎn),常見的風(fēng)險有以下幾種:技術(shù)風(fēng)險,項(xiàng)目技術(shù)難度很大,花費(fèi)的時間超過原先的估計;客戶風(fēng)險,客戶需求不定,增加需求,組織協(xié)調(diào)不暢;人員風(fēng)險,開發(fā)人員突然更換、離職;管理風(fēng)險,管理不善、決策失誤。對于風(fēng)險控制,在項(xiàng)目管理中通常是提前做風(fēng)險分析和預(yù)測,制定風(fēng)險應(yīng)對措施,這樣在風(fēng)險真的來臨時不至于措手不及,提高整個項(xiàng)目的可控性。

  軟件項(xiàng)目的潛在風(fēng)險對于開發(fā)周期的影響在很多情況下是非常大的,當(dāng)然好的項(xiàng)目控制會大限度的減少這種影響,避免是不可能的,所以在開發(fā)周期估算時項(xiàng)目風(fēng)險應(yīng)該適當(dāng)考慮,尤其是技術(shù)風(fēng)險和客戶風(fēng)險。

  技術(shù)風(fēng)險主要來自于軟件本身的技術(shù)難度,如果對于一套成熟的產(chǎn)品,定制開發(fā)的技術(shù)風(fēng)險相對非常小,因?yàn)橹匾募夹g(shù)已經(jīng)成型,客戶也很少有新的能帶來高難度技術(shù)問題的需求,這種風(fēng)險可以不予考慮。但是對于完全重新開發(fā)的項(xiàng)目,或是研發(fā)類的項(xiàng)目,技術(shù)風(fēng)險必須特別重視,其中應(yīng)該考慮的細(xì)節(jié)主要包括下面幾個。開發(fā),是否能適合本項(xiàng)目所涉及的軟件開發(fā)、能否滿足終的需求,平臺的錯誤選擇將導(dǎo)致龐大的開發(fā)工作量,即便滿足了用戶需求也可能造成系統(tǒng)效率低下,擴(kuò)展性差的致命問題,軟件可能會很快被淘汰。功能實(shí)現(xiàn)難度,在切實(shí)了解需求的基礎(chǔ)上要仔細(xì)分析采用的開發(fā)工具能否實(shí)現(xiàn)其中的難點(diǎn),是否會耗費(fèi)大量時間。

  在實(shí)際估算中,建議技術(shù)難度分為十級,每一級在初次估算的代碼行上增加10%,終估算代碼長度=初始估算代碼長度×(1+0.1×n)。假設(shè)模塊A的初次估計代碼行為15000行,但考慮技術(shù)難度高的,設(shè)定技術(shù)難度級別為二級,終代碼行的估算數(shù)量為15000X(1+20%)=18000.

  由于技術(shù)風(fēng)險的分析是一項(xiàng)技術(shù)性很強(qiáng)的工作,要求做技術(shù)風(fēng)險分析的人必須是技術(shù)專家,在相關(guān)技術(shù)領(lǐng)域有著豐富的經(jīng)驗(yàn),對重大技術(shù)風(fēng)險的分析結(jié)果必須要經(jīng)過評審,保證準(zhǔn)確性。

  客戶風(fēng)險存在于客戶化項(xiàng)目中,不同行業(yè)的客戶特點(diǎn)不盡相同,技術(shù)、理解水平也相差甚遠(yuǎn),在我經(jīng)歷開發(fā)的項(xiàng)目中,80%的項(xiàng)目延期屬于客戶方的原因,而且這種風(fēng)險可控性很低,對項(xiàng)目影響超過技術(shù)風(fēng)險。在開發(fā)周期估算前,要仔細(xì)分析客戶的具體狀況,包括客戶的計算機(jī)水平、管理水平、可程度,在此基礎(chǔ)上結(jié)合以往的經(jīng)驗(yàn)綜合判斷是否會對開發(fā)帶來明顯的影響,可以按照上述的技術(shù)風(fēng)險的方式將客戶分級,終確定開發(fā)周期。在這個過程中,項(xiàng)目經(jīng)理的經(jīng)驗(yàn)極其重要,對客戶的分析基本上要依賴經(jīng)驗(yàn)做判斷,要求管理人員有大量的客戶經(jīng)驗(yàn)和行業(yè)分析能力。

  3.3估算與對于軟件開發(fā)項(xiàng)目來說,人力是核心力量,因?yàn)檐浖_發(fā)不同于其它類型的項(xiàng)目,除了電腦它不需要利用其它工具,終結(jié)果的產(chǎn)生完全取決于人腦中的知識,這也是知識經(jīng)濟(jì)的大特點(diǎn)。

  人力資源對估算的影響表現(xiàn)在技術(shù)水平、理解能力、溝通能力等幾個方面,編程水平的高低、速度的快慢、能否適應(yīng)、能否與各成員保持良好的溝通都會對開發(fā)進(jìn)度產(chǎn)生影響,其中技術(shù)水平是關(guān)鍵的因素。評價的技術(shù)水平可以從編程熟練程度、編程速度、解決技術(shù)問題的能力幾個因素考慮,編程熟練程度指的是程序員能否很順暢的使用編程工具實(shí)現(xiàn)軟件的功能,編程速度指的是完成某個功能的時間,解決技術(shù)問題的能力可以反映程序員在遇到技術(shù)難點(diǎn)時表現(xiàn)出的技術(shù)功底,如果以作為總和,這三個因素分別占70%、15%和15%這樣的比例。

  軟件開發(fā)周期估算前,應(yīng)對開發(fā)人員定級,建議按、初級程序員、中級程序員、高級程序員來劃分,每一級人員再評定上述三個因素,初次估算時可以假定開發(fā)人員為中級程序員,然后依據(jù)項(xiàng)目組實(shí)際人員的水平做修正,這樣結(jié)果的精確度能大大提高。

  3.4歷史數(shù)據(jù)估算法的運(yùn)用

  依據(jù)歷史數(shù)據(jù)估算軟件開發(fā)周期是一種比較常見的方法,這種方法以歷史軟件開發(fā)周期為依據(jù),在估算時把當(dāng)前軟件項(xiàng)目的情況與歷史數(shù)據(jù)加以對比,從而得出終結(jié)果。按照歷史數(shù)據(jù)估算開發(fā)周期準(zhǔn)確度還是相當(dāng)高的,但這種方法只適用于對某類軟件的開發(fā),比如某個行業(yè)業(yè)務(wù)系統(tǒng)的開發(fā),當(dāng)要估算的軟件與歷史軟件相差太多,比如開發(fā)工具完全不同,或者類型完全不同,不能再依賴這種方法,起碼應(yīng)該輔助使用其它估算法。如果沒有歷史數(shù)據(jù)或是開發(fā)一種新領(lǐng)域軟件,可以使用代碼行或功能點(diǎn)估算法,在此基礎(chǔ)上再通過其它方法校正。

  事實(shí)上目前項(xiàng)目管理人員對開發(fā)周期的估算大部分屬于人力時間估算法,憑借的是自己的經(jīng)驗(yàn),經(jīng)驗(yàn)越多估算的結(jié)果越精確,但是大部分項(xiàng)目管理人員對以前很有價值的歷史數(shù)據(jù)缺乏歸納整理,估算的時候憑借感覺的成分多一些,所以精確度相對要低很多,所以要求我們的項(xiàng)目管理人員不僅要有大量軟件開發(fā)的經(jīng)驗(yàn)還要不斷總結(jié)積累,歷史項(xiàng)目數(shù)據(jù)對于以后軟件開發(fā)周期的估算是非常有價值的。

  在實(shí)際使用歷史數(shù)據(jù)估算法時,建議項(xiàng)目經(jīng)理建立一個歷史項(xiàng)目數(shù)據(jù)庫,在庫中包含以前所有項(xiàng)目的開發(fā)周期、項(xiàng)目規(guī)模、開發(fā)人員狀況、客戶狀況等詳細(xì)數(shù)據(jù),當(dāng)估算時根據(jù)當(dāng)前項(xiàng)目的狀況在庫中尋找類似的歷史項(xiàng)目,然后再比較兩個項(xiàng)目之間在項(xiàng)目規(guī)模、項(xiàng)目風(fēng)險、人力資源之間的區(qū)別,我們假定歷史項(xiàng)目開發(fā)周期為A當(dāng)前項(xiàng)目的周期可以依據(jù)下列公式得出

  B=A×(2×S+R+P+2×C)/6

  S:代表軟件規(guī)模 R:代表風(fēng)險 P:代表人力資源 C:代表客戶

  以上值均指當(dāng)前項(xiàng)目與歷史項(xiàng)目的比率。

  實(shí)際的比較因素應(yīng)該不止這些,但軟件規(guī)模、風(fēng)險、人力資源及客戶狀況是其中重要的,對軟件開發(fā)的影響也大,所以這個公式中只考慮了這些因素。其中軟件規(guī)模和客戶兩項(xiàng)占的權(quán)重大,這也是根據(jù)項(xiàng)目管理經(jīng)驗(yàn)得出的,在實(shí)際使用歷史數(shù)據(jù)估算法時還可以靈活加入其它因素 。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd