關(guān)于軟件工作量及投資評估方法研究
摘要:隨著(zhù)信息產(chǎn)業(yè)的飛速發(fā)展,軟件工作量及成本投資評估一直是企業(yè)的難點(diǎn),為了解決這個(gè)問(wèn)題,文章對軟件工作量及成本評估方法、流程進(jìn)行了探討。
關(guān)鍵詞:軟件工作量;軟件工程經(jīng)濟;軟件項目管理;成本評估方法
隨著(zhù)信息技術(shù)的快速發(fā)展和應用領(lǐng)域的擴大深入,軟件工作量及成本投資評估方法的研究正在成為當前及未來(lái)項目管理研究的熱點(diǎn)之一。目前多數軟件企業(yè)遇到項目投資前項目工作量不明確,投資評估是長(cháng)期存在的難點(diǎn),工作量統計一直采用收集各廠(chǎng)家工作量數據為主,對比各廠(chǎng)家工作量數據,最后根據企業(yè)需要決定開(kāi)發(fā)廠(chǎng)家,工作量及成本投資估算缺乏科學(xué)性,較少采用RO1(投資回報)的分析,通過(guò)本文研究工作量及成本投資評估方法的研究,為企業(yè)提供工作量及成本投資提供科學(xué)的、相對準確的方法,為企業(yè)商業(yè)投資提供參考,它為解決軟件危機所表現出的各種問(wèn)題提供了思路和方案。
一、軟件工作量及成本評估方法簡(jiǎn)介
目前,國際上已有許多軟件規模估計方法,如功能點(diǎn)(FunctionPoint)、特征點(diǎn)(FeaturePoint)、對象點(diǎn)(ObjectPoint)、德?tīng)柗?Delphi)、模糊邏輯(FuzzyLogic)、標準構件法(StandardComponent)等,這些方法隨著(zhù)各國研究者的不斷研究細化又有許多具體的方法,如國際功能點(diǎn)用戶(hù)協(xié)會(huì ) (IFPUGTheIntemationalFunctionPointUsersGroup)提出的IFPUG方法、英國軟件度量協(xié)會(huì ) (UKSMAUnitedKing—domSoftwraeMetricsAssociation)提出的MkIIFPA方法、荷蘭功能點(diǎn)用戶(hù)協(xié)會(huì ) fNEFPUGNethedandsFunctionPointUsersGroup)提出的NESMA方法以及軟件度量共同協(xié)會(huì ) (COSMICtheCOmmonSoftwareMetricsConsortium)提出的COSMIC—FFP方法,這些方法都屬于 Albrecht功能點(diǎn)(FuncitonPoint)方法的發(fā)展和細化。
目前大部分軟件估計方法有工具支持。國際上目前已經(jīng)有一些組織吸收和積累世界各地軟件企業(yè)的軟件估計和度量數據,建立了被廣泛使用的歷史數據庫,如在功能規模度量領(lǐng)域,有一個(gè)ISBSG(國際軟件基準組織InternationalSofwtareBenehmrakingStandardsGroup)數據庫。另外,CO—COMOIIEsfimMingModel也有豐富的估計和度量數據提供。
COCOMII:Boehm在其經(jīng)典著(zhù)作“軟件工程經(jīng)濟學(xué)” (softwareengineeringconomics)中,介紹了一種軟件估算模型的層次體系,稱(chēng)為COCOMO(構造性成本模型,COn— structiveCOstMOde1),它代表了軟件估算的一個(gè)綜合經(jīng)驗模型。COCOMOII是軟件成本估算模型,是軟件決策中成本和進(jìn)度關(guān)系模型,涉及軟件開(kāi)發(fā)工作量、預算、進(jìn)度、軟件質(zhì)量。
功能點(diǎn)估算法是一種在需求分析階段基于系統功能的一種規模估計方法。通過(guò)研究初始應用需求來(lái)確定各種輸入、輸出、計算和數據庫需求的數量和特性。這種方法的計算公式是:功能點(diǎn)=信息處理規模×技術(shù)復雜度。信息處理規模包括各種輸入、輸出、查詢(xún)、內部邏輯文件數、外部接口文件數等等;技術(shù)復雜度包括性能復雜度、配置項目復雜度、數據通信復雜度、分布式處理復雜度、在線(xiàn)更新復雜度等等。
運算法:是一種簡(jiǎn)單直觀(guān)的估計方法,它根據規模估計的結果和相應的系數運算得到工作量估計。
專(zhuān)家法(Wideband—Delphi):Delphi法是一種專(zhuān)家評估技術(shù),在沒(méi)有歷史數據的情況下,這種方式適用于評定過(guò)去與將來(lái),新技術(shù)與特定程序之間的差別。對于需要預測和深度分析的領(lǐng)域,依賴(lài)于專(zhuān)家的技術(shù)指導,可以獲得較為客觀(guān)的估算。通過(guò)專(zhuān)家們的互相討論,還可以博取眾長(cháng)。
當使用COCOMOII和功能點(diǎn)估算時(shí),雖然兩者是估算方法中比較科學(xué)的方法但也存在一些主觀(guān)判斷,一般存在很大主觀(guān)判斷時(shí)采用此方法。
類(lèi)比法:類(lèi)比法適合評估一些與歷史項目在應用領(lǐng)域、環(huán)境和復雜度的相似的項目,通過(guò)新項目與歷史項目的比較得到估計數據。
三點(diǎn)法:這種方法共估計三個(gè)值,軟件產(chǎn)品預期規模的一般值、最大值和最小值。通過(guò)這三個(gè)值的計算可得到一個(gè)統計學(xué)上的期望值和一個(gè)標準偏差。
工作量及成本估算不僅只是在項目初期展開(kāi),而是在項目的各個(gè)階段都進(jìn)行工作量及成本的估算,隨著(zhù)項目的開(kāi)展,工作量估算更加準確。
二、軟件工作量及成本評估流程
提交準確估算的能力取決于需求被明確定義的程度。但是缺少明確定義的需求卻不是不進(jìn)行估算的借口。準確的估算需要以下關(guān)鍵元素:(1)對需求的基本理解;(2)準確計算產(chǎn)品規模的能力;(3)對產(chǎn)品復雜度的評定;(4)對廠(chǎng)家交付能力的描述。廠(chǎng)家的交付能力幾個(gè)方面決定,包括:廠(chǎng)家開(kāi)發(fā)過(guò)程,特別是避免無(wú)附加值活動(dòng)的過(guò)程的能力(返工、官僚主義的拖延、溝通開(kāi)銷(xiāo));軟件工程人員的能力,特別是有關(guān)計算機科學(xué)問(wèn)題和項目應用領(lǐng)域問(wèn)題的經(jīng)驗;環(huán)境,它由能支持有效的軟件開(kāi)發(fā)和能使過(guò)程自動(dòng)化的工具和技術(shù)構成;所有要求的產(chǎn)品質(zhì)量,包括產(chǎn)品的特征、性能、可靠性和適應性。
軟件規模估算:軟件估算首先要將整個(gè)工程的規模估算出來(lái),才能進(jìn)行下面的其他估算。規模,就是一個(gè)工程可量化的結果,是用具體數字來(lái)體現項目的描述。規模估算的信息來(lái)源是清晰、有界限的用戶(hù)需求。軟件規模度量單位一般使用功能點(diǎn)和SLOC(代碼行)兩種方法。在定制構造占絕對優(yōu)勢的應用中,SLOC(代碼行)很好用,還因為SLOC(代碼行)度量很容易自動(dòng)化。但目前,語(yǔ)言的進(jìn)步和構件的使用、自動(dòng)化源代碼生成以及面向對象技術(shù),已經(jīng)使SLOC(代碼行)成為一種更有歧義的度量。功能點(diǎn)也有大量的追隨者,功能的主要優(yōu)勢是,獨立于技術(shù),因此是一個(gè)在項目和組織之間進(jìn)行比較的更好的原始單位。
功能點(diǎn)的主要不足是,它的原始定義很抽象,并且不容易直接從進(jìn)化的制品得到度量數據。雖然規模度量的兩種方法都有他們的缺點(diǎn),使用一種度量總比什么度量都不用的好。任何進(jìn)行跨項目或跨組織比較的,都應使用功能點(diǎn)作為規模的度量標準。功能點(diǎn)也可能是一個(gè)項目生命周期的前期階段更準確的估計量。但是在后期階段,SLOC(代碼行)是一個(gè)各種度量視角的更有用和更精確的度量基礎。軟件工作量估算:這是對開(kāi)發(fā)軟件所需的工作時(shí)間的估算,它和進(jìn)度估算一起決定了開(kāi)發(fā)團隊的規模和構建。
通常以人時(shí)、人天、人月、人年的單位來(lái)衡量,這些不同單位之間可以進(jìn)行合理的轉換。軟件成本估算:包括人力、物質(zhì)、有形的、無(wú)形的支出成本估算,其中以人力成本為主要部分。比較容易被忽視的使學(xué)習成本、軟件培訓成本、人員變動(dòng)風(fēng)險成本、開(kāi)發(fā)延期成本等,一些潛在成本消耗。本課題研究中涉及成本單價(jià)由廣東省電信直接提供。
收集歷史數據:在項目開(kāi)發(fā)過(guò)程中收集一些關(guān)鍵項目數據,為形成標桿數據提供參考依據,也為下次類(lèi)似項目工作量估算提供有力的參考數據。
建立標桿數據:收集項目數據,解剖其各個(gè)指標,建立不同類(lèi)型項目的標桿數據,作為類(lèi)似項目的學(xué)習榜樣,不斷向其學(xué)習,發(fā)現并解決項目的問(wèn)題,最終趕上和超過(guò)它。標桿數據在沒(méi)有獲得較多的項目數據的時(shí)候暫時(shí)不能確定,需等到獲得了30個(gè)以上項目的歷史數據以后再行決定。隨著(zhù)軟件評估工作的不斷展開(kāi),以前的標桿數據可能不適應新的需要,可不斷改進(jìn)標桿數據。
三、工作量及投資評估方法的原則
工作量核定原則是采用常用工作量估算方法結合歷史數據和專(zhuān)家經(jīng)驗結合核定工作量。參考的工件包括技術(shù)規范書(shū)、客戶(hù)需求文檔。工作量比例分配參考:項目管理:需求分析:設計:開(kāi)發(fā):測試:實(shí)施支持=0.5:1:1:2:1:0.5。在每個(gè)階段中,又分為以下幾類(lèi)工作:(1)初始細化。其主要目的是針對性的解決或預防風(fēng)險,也包括技術(shù)架構甚至部分公共模塊的開(kāi)發(fā)。該部分工作量取決于風(fēng)險的高低,通常占整個(gè)工作量的10%~30%。(2)構造開(kāi)發(fā)。以功能模塊(或功能點(diǎn))為基準單位,按比例分配需求、設計、開(kāi)發(fā)、測試的工作量,參考比例為1:1:2:l。如果該模塊包括數據遷移,則額外增加1份工作量。占60%一75%;(3)實(shí)施支持培訓。占整個(gè)工作量的5%~l0%;(4)管理溝通協(xié)調成本,占整個(gè)工作量的10%2~右。
四、結束語(yǔ)
軟件工作量及投資評估方法雖然沒(méi)有非常高深的理論,但要真正實(shí)施起來(lái),也絕非易事。對于軟件開(kāi)發(fā)企業(yè)而言,這不是一個(gè)小的改變,而是一種變革,企業(yè)需要為此付出艱苦的努力,需在實(shí)踐中鍛煉提高,解決各種各樣的問(wèn)題,企業(yè)管理做得越來(lái)越精確,企業(yè)管理工作越做越好。
【軟件工作量及投資評估方法研究】相關(guān)文章:
《軟件工程》實(shí)驗教學(xué)改革與實(shí)踐方法的研究論文12-04
論文研究方法11-30
開(kāi)題報告研究方法11-18
開(kāi)題報告的研究方法11-14
絕對的真理與方法研究11-16
開(kāi)題報告的研究方法是11-15
- 相關(guān)推薦