999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件成本估算方法的研究與改進

2008-12-31 00:00:00田永青
電腦知識與技術 2008年36期

摘要:該文主要對常用的幾種軟件成本估算的方法進行了研究,并從它們具體的計算方法或者公式中得出了各自的優缺點,然后提煉出一種綜合功能點估算和流行的COCOM0Ⅱ模型的新型估算方法。

關鍵詞:成本估算;功能點估算;COCOM0Ⅱ

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)36-2677-03

Research Improvement on Software Cost Estimation

TIAN Yong-qing

(School of Software Engineering, Tongji University, Shanghai 201804, China)

Abstract: This essay mainly researched some usual methods of software cost estimation. From their idiographic calculational methods, the excellencies and defects of them have been educed, then a new method of colligation with FPT and COCOM0Ⅱ has been abstracted.

Key words: cost estimation; FPT(Function Point); COCOM0Ⅱ(COnstructive COst MOdel)

1 軟件成本估算概述

1.1 軟件成本估算背景

無法準確估算出軟件開發的成本和進度是軟件危機的重要表現形式之一,于是各種估算軟件成本的模型和方法作為軟件度量的一個方向應運而生。何為軟件成本估算呢?軟件成本估算的含義就是指在軟件開發以前對于其所需的工作量和時間等做出經驗性的估計。一般而言,對于軟件成本估算有兩個要求:首先,要有一定的準確度。其次,模型或者方法對于使用者應該方便快捷。

軟件成本估算一般需要估算三類數據:工作量;軟件生產率;軟件開發成本。

各國的軟件工程研究者和研究機構已經對軟件成本估算做了很多的研究和探索工作,并且總結出一些經驗模型,如:Putnam1978年提出的一種動態多變量模型-- Putnam模型,International Function Point Users Group(IFPTUG)的FPT(功能點)模型(Function Point)(以FPT作為工作量度量),Boehm提出的結構化成本估算模型一一COCOMO(constructive cost model)(以LOC——源代碼行作為工作量度量)等。其中,Boehm在1994年發表的COCOM0Ⅱ模型在實踐中估算的軟件開發成本與實際成本相差不到20%,進度相差不到46%,已經成為世界上使用最廣泛、估算最準確的模型之一。

1.2 軟件成本估算模型分析

1.2.1 PUTNAM模型

1978年Putnam提出了一種動態多變量模型——PUTNAM模型。

計算公式:L = Ck * K*1/3 * td*4/3

其中:L代表源代碼行數(以LOC計),K代表整個開發過程所花費的工作量(以人年計),td表示開發持續時間(以年計),Ck表示技術狀態常數,它反映“妨礙開發進展的限制”,取值因開發環境而異,見表1。

從上述方程加以變換,可以得到估算工作量的公式:K = 3*L/(3*Ck*4*td)

還可以估算開發時間:td = 1/4*[3*L/(3*Ck*K)]

1.2.2 功能點模型

表 1

與PUTNAM模型不同,功能點模型采用功能點(FPT)當作軟件規模的度量.該模型可按兩個元素來計算,分別是信息處理規模和技術復雜度調節因子。

1) 信息處理規模

根據信息處理規模,可以把系統組成分成五類,即內部邏輯文件(ILF)、外部接口文件(EIF)、外部輸入(EI)、外部輸出(EO)、外部查詢(EQ)。根據各自的特點,這些元素進一步按權重分成“簡單”、“平均”和“復雜”三類。技術復雜度調節因子

2) 技術復雜度因子

一般通過計算技術復雜度因子(TCF)來進行技術復雜度調節。TCF的計算方法為:考察一些特定問題,給出回答等級數,最后統計總和。這里回答等級數為:不明顯影響;中等影響;平均性影響;顯著影響;強烈的影響或必不可少。

考察的問題包括備份和恢復的可靠性、在線修改、安裝簡易性、數據通訊、可重用性等。

最后,功能點FPT可通過下面的經驗公式計算:

FPT = UFPT * (0.65+TCF/100)

1.2.3 COCOMO模型(COCOM081)

COCOMO模型(COCOM081)是由Boehm提出的結構化成本估算模型。是一種精確的、易于使用的成本估算方法。

COCOMO模型中主要會用到以下變量:

DSI——源指令條數。不包括注釋,1KDSI二IOOODSI。

MM——開發工作量(以人月計),1MM = 19人日=152人時=1/12人年(此處MM與上文提到的PM意義相同)。

TDKV——開發進度(以月計)

COCOMO模型中,必須考慮開發環境,軟件開發項目的類型可以分為3種:

組織型(organic):相對較小、較簡單的軟件項目。開發人員對開發目標理解比較充分,與軟件系統相關的工作經驗豐富,對軟件的使用環境很熟悉,受硬件的約束較小,程序的規模不是很大(<50000行)

嵌入型(embedded):要求在緊密聯系的硬件、軟件和操作的限制條件下運行,通常與某種復雜的硬件設備緊密結合在一起。對接口,數據結構,算法的要求高。軟件規模任意。如大而復雜的事務處理系統,大型/超大型操作系統,航天用控制系統,大型指揮系統等。

半獨立型(semidetached):介于上述兩種軟件之間。規模和復雜度都屬于中等或更高。最大可達30萬行。

基本COCOMO模型估算工作量和進度的公式如下

工作量:MM = r*(KDSI)c

進度:TDKV=a(MM)b

其中經驗常數r,c,a,b取決于項目的總體類型。

表2

表3

COCOMO模型按其詳細程度可以分為三級:基本COCOMO模型,中間COCOMO模型,詳細COCOMO模型。其中基本COCOMO模型是一個靜態單變量模型,它用一個以已估算出來的原代碼行數(LOC)為自變量的經驗函數計算軟件開發工作量。中級COCOMO模型在基本COCOMO模型的基礎上,再用涉及產品、硬件、人員、項目等方面的影響因素調整工作量的估算。詳細COCOMO模型包括中間COCOMO模型的所有特性,但更進一步考慮了軟件工程中每一步驟(如分析、設計)的影響。

表2通過統計63個歷史項目的歷史數據,得到基本COCOMO模型的計算公式。

1.2.4 COCOMOⅡ模型

1994年Boehm重新研究和調整原有模型,根據未來軟件市場的發展趨勢,發表了COCOMOⅡ模型。相比于早期的COCOMO模型, COCOM0II主要做了以下變化:

COCOMO II中使用三個螺旋式的生命周期模型:applications composition,early design,post-architecture(應用構圖、早期設計和后體系結構)。

使用五個規模因子計算項目規模經濟性的冪指數B,代替了原來按基本、中期和詳細COCOMO模型使用固定指數的方法。

擴展功能點測量,使用源代碼行(SLOC)代替DSI。

新增加成本驅動因子:DOCU,RUSE,PVOL,PEXP,LTEX,PCON,SITE。

刪除成本驅動因子:VIRT,TURN,VEXP,LEXP,MODP。

改變原有成本驅動因子的參考值,以適應當前的軟件測度技術。

COCOMO II仍然使用人月來度量軟件開發的工作量。人月是指除去節假日之后一個人在一月內所完成的項目工作量。在COCOMO II中,人月與項目進度不同,前者是指工作量,并從中計算開發成本,后者則是指完成項目所需的時間。工作量評估的基本模型如下: PM = A × (SIZE)B

其中,SIZE是估算的軟件功能單元的代碼行數(以千行為單位),指數B反映了項目的規模經濟性,當它大于1時所需工作量(PM)的增加速度大于軟件規模(SIZE)的增加速度,體現出規模非經濟性。反之,B小于1則表示規模經濟性。COCOMOII使用5個規模度因子Wi,采用公式B=0.91+0.01Wi計算指數B,5個規模度因子根據其重要性和價值,在6個級別上取值,由表3給出(來源于COCOMO II .1999軟件包);常數A通常取值為2.94。

要計算項目的進度,使用公式:

TDEV = [3.67*(PM)(0.28+0.2*(B-0.91))*(SCED%)/100

2 軟件成本估算模型研究與改進

2.1 軟件成本估算模型研究

綜合觀察以上的幾個常用的方法和模型,每種方法都有各自的優缺點。PUTNAM模型和COCOMO模型是比較早期的模型,只適用于當時瀑布模型的軟件開發方式,20世紀90年代后期以后,軟件項目管理和開發技術與工具發生了很大的變化,出現了快速應用開發模型、軟件重利用工程、面向對象方法以及軟件過程成熟度模型等一系列軟件工程方法和技術。早期的模型已經不再適應新的軟件成本估算和過程管理的需要,于是改進的COCOMOⅡ模型應運而生,這種模型在一定程度上改變了早期模型的一些缺陷,但是仍然存在著一個很嚴重的問題:成本估算的準確性很大程度上取決于對于源指令數目的準確估算。這在一個軟件項目剛啟動時是比較難以做到的;同時源指令的行數還在很大程度上取決于開發語言的選擇;對于一些算法非常巧妙的程序來說,源指令行數與工作量的大小關系并不是很密切。而功能點方法可以做到與程序語言無關,并且它所依賴的數據,是在項目評估早期就能知道的。但是這種估算方法在計算中主要依靠的是主觀因素,而不是客觀實際,例如對于功能點復雜度的計算,就必須依靠經驗數據。

2.2 軟件成本估算模型的改進

考慮到COCOMOⅡ模型和功能點估算方法各自的優缺點,提出一種將功能點和COCOMOⅡ模型結合起來的方法,可以在FPT估算的優點之上再利用FPT本身所沒有考慮到的又很重要的COCOMO的成本因素,去正確估算不同開發條件的軟件開發成本??梢苑譃槿缦聨撞剑?/p>

1) 應用功能點模型計算出功能點數。

2) 利用COCOMOⅡ模型的經驗數據將功能點轉化成LOC數。

3) 通過LOC數,利用COCOMOⅡ模型估算出工作量。

圖1給出了這種方法的基本流程示意示意圖。

界定軟件的范圍:這是在提出成本估算問題之后的第一個步驟,對問題進行界定,界定軟件的范圍(或稱為問題的作用域)。軟件的范圍包括功能、性能、限制、接口和可靠性。界定軟件的范圍的目的是減少軟件開發過程中的不確定因素,以降低估算的難度和不準確性。

問題分解:用分解的技術將復雜問題分解成比較小的、相對簡單的問題;為估算軟件規模做準備。問題分解得越詳盡、越細微,越有利于軟件成本的準確估算。問題分解工作是估算軟件規模的基礎。如何分解必須與下一步中采用的估算軟件規模的方法保持一致。

估算軟件規模:在問題分解的基礎上估算軟件規模;如果是基于問題(功能)的估算,則得到UFPT(未經調整功能點);如果是基于過程的估算,則得到LOC。在這一個步驟上,用戶可以自由選擇采用哪種估算方法。當然,不同的估算方法必須對應相應的問題分解。

圖 1

數據轉換:如果估算軟件規模得到UFPT,則按照COCOMOⅡ模型提供的歷史經驗數據轉換得到KLOC;如果估算軟件規模得到LOC,則LOC/1000,得KLOC。這一步的目的是得到軟件規模的KLOC形式的估算,為下一步的估算提供估算依據。

估算工作量和時間:運用COCOMOⅡ模型,以KLOC為輸入,估算軟件工作量和時間進度。

這種集合功能點估算和COCOMOⅡ模型的方法具有兩方面的優點:首先避免了功能點估算對于歷史數據的硬性要求,對于剛起步的軟件開發團體這是非常重要的,讓更多的軟件開發團體可以采用這種方法。二是采用了COCOMOⅡ模型中已經提供的一些參數因子,可以綜合考慮各種影響軟件開發的因素。

3 總結

軟件成本估算是一個融于整個軟件開發周期的連續的循環反復的過程,需要不斷的累計歷史數據,在不斷的實踐中加以檢驗,以上的這個方法還很幼稚,需要在軟件開發的實踐中進一步予以修正和改進。

參考文獻:

[1] Boehm B.COCOMO II Model Definition Manual[S].Version l.4,USC Center for Software Engineering,1997.

[2] International Function Point Users Group (IFPTUG),Function Point FAQ[Z].Updated June25,1997,Copyright 1996—1997 by Software Composition Technologies,INC.

[3] 周杰,杜磊.COCOMO II一軟件項目管理中的成本估算方法[J].計算機應用研究,2000(11):136-152.

主站蜘蛛池模板: 精品91自产拍在线| 尤物精品视频一区二区三区| 狠狠v日韩v欧美v| 欧美无遮挡国产欧美另类| 日韩a在线观看免费观看| 成年人午夜免费视频| 欧美无专区| 国产精品漂亮美女在线观看| 色婷婷电影网| 丁香综合在线| 日本爱爱精品一区二区| 日韩亚洲综合在线| 国内精品伊人久久久久7777人| 国产三级成人| 色网站在线免费观看| 久久毛片基地| 国产精品.com| 亚洲欧美极品| 亚洲va视频| 色哟哟国产精品| 中文字幕免费在线视频| 日韩专区第一页| 亚洲va视频| 国产主播福利在线观看| 国产精品偷伦视频免费观看国产| 精品人妻无码中字系列| 试看120秒男女啪啪免费| www.日韩三级| 成年看免费观看视频拍拍| 亚洲狼网站狼狼鲁亚洲下载| 国产亚洲精品自在久久不卡| 久久无码av三级| 亚洲人成高清| 亚洲国产成人在线| 午夜福利亚洲精品| 国内丰满少妇猛烈精品播| 国产性爱网站| 美女一区二区在线观看| 国产免费福利网站| 国产高清精品在线91| 免费国产好深啊好涨好硬视频| 一区二区三区高清视频国产女人| 国产99视频精品免费视频7| 在线视频亚洲欧美| 国产精品3p视频| 国产一级二级三级毛片| 久久精品人妻中文系列| 最新日韩AV网址在线观看| 午夜视频免费试看| 国产欧美日韩综合一区在线播放| 久久久久青草大香线综合精品| 亚洲欧美日韩中文字幕在线| 欧美午夜视频| 91人妻日韩人妻无码专区精品| 人人看人人鲁狠狠高清| 免费一级成人毛片| 一区二区三区四区精品视频| 成年女人a毛片免费视频| 超级碰免费视频91| 91青青视频| 久久精品丝袜| 在线观看视频99| 69国产精品视频免费| 欧美精品v欧洲精品| 5555国产在线观看| 九九热视频精品在线| 欧美va亚洲va香蕉在线| 成人av专区精品无码国产 | 亚洲欧美成人网| 欧美国产综合色视频| 亚洲精品你懂的| 欧美一道本| 91色综合综合热五月激情| 精品1区2区3区| 亚洲国产成熟视频在线多多| 99在线观看免费视频| 国产成人高清在线精品| 精品免费在线视频| 国产女人在线视频| 无码专区在线观看| 天天综合网站| 国产一区二区免费播放|