軟體成本估算

2022-12-20 21:42:05 字數 1872 閱讀 2820

軟體開發成本估算主要指軟體開發過程中所花費的工作量及相應的代價。不同與傳統的工業產品,軟體的成本不包括原材料和能源的消耗,主要是人的勞動的消耗。另外,軟體也沒有乙個明顯的製造過程,它的開發成本是以一次性開發過程所花費的代價來計算的。

因此,軟體開發成本的估算,應是從軟體計畫、需求分析、設計、編碼、單元測試、整合測試到認證測試,整個開發過程所花費的代價作為依據的。

軟體開發成本估算的經驗模型

模型2023年putnam提出的,一種動態多變數模型。

l = ck * k* td

其中:l源**行數(以loc計)

k整個開發過程所花費的工作量(以人年計)td開發持續時間(以年計)

ck技術狀態常數,它反映「妨礙開發進展的限制」,取值因開發環境而異,見下表

ck的典型值2000800011000

開發環境差好優

開發環境舉例

沒有系統的開發方法,缺乏文件和複審

有合適的系統的開發方法,有充分的文件和複審有自動的開發工具和技術

1/34/3

從上述方程加以變換,可以得到估算工作量的公式:

k = l/(ck*td)

334還可以估算開發時間:

td = [l/(ck*k)]

331/4

模型(constructive cost model)

這是由trw公司開發,boehm提出的結構化成本估算模型。是一種精確的、易於使用的成本估算方法。

cocomo模型中用到以下變數:

dsi-------源指令條數。不包括注釋。1kdsi = 1000dsi。

mm-------開發工作量(以人月計)1mm = 19人日= 152人時=1/12人年tdev-----開發進度。(以月計)

cocomo模型中,考慮開發環境,軟體開發專案的型別可以分為3種:

1.組織型(organic):相對較小、較簡單的軟體專案。開發人員對開發目標理解比較充分,與

軟體系統相關的工作經驗豐富,對軟體的使用環境很熟悉,受硬體的約束較小,程式的規模不是很大(<50000行)

2.嵌入型(embedded):要求在緊密聯絡的硬體、軟體和操作的限制條件下執行,通常與某種復

雜的硬體裝置緊密結合在一起。對介面,資料結構,演算法的要求高。軟體規模任意。如大而複雜的事務處理系統,大型/超大型作業系統,航天用控制系統,大型指揮系統等。

3.半獨立型(semidetached):介於上述兩種軟體之間。規模和複雜度都屬於中等或更高。

最大可達30萬行。估算公式:

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

mm = r*(kdsi)bc

進度:tdkv = a(mm)

其中經驗常數r, c, a, b取決於專案的總體型別。

cocomo模型按其詳細程度可以分為**:基本cocomo模型,中間cocomo模型,詳細cocomo模型。其中基本cocomo模型是是乙個靜態單變數模型,它用乙個以已估算出來的原**行數(loc)為自變

量的經驗函式計算軟體開發工作量。中級cocomo模型在基本cocomo模型的基礎上,再用涉及產品、硬體、人員、專案等方面的影響因素調整工作量的估算。詳細cocomo模型包括中間cocomo模型的所有特性,但更進一步考慮了軟體工程中每一步驟(如分析、設計)的影響。

基本cocomo模型

通過統計63個歷史專案的歷史資料,得到如下計算公式。

總體型別組織型

工作量進度

1.05

mm = 10.4*(kdsi)mm = 3.0*(kdsi)mm = 3.0*(kdsi)

tdkv = 10.5(mm)

0.38

半獨立型

1.12

tdkv = 10.5(mm)tdkv = 10.5(mm)

0.35

嵌入型1.200.32

軟體開發勞動計量方法與軟體成本估算

摘要 通過對軟體開發成本的分析,發現軟體開發勞動量是軟體成本函式的重要變數,準確計量軟體開發勞動對於提高軟體成本估算的準確性具有重要意義。根據勞動計量的基本原理,分析發現現有軟體開發勞動計量方法存在不足。結合軟體開發勞動過程的特點,本文提出了軟體開發勞動計量的新方法 綜合計量法。最後 了綜合計量法對...

軟體專案中的成本構成及估算方法

田俊國隨著知識經濟 資訊時代的來臨,計算機軟體業迅猛發展。商品化 資本化 資產化的計算機軟體的價值評估的社會需求也日益增多,而且有越來越多的趨勢。由於系統軟體通常是一些規模大 複雜程度高的人一機系統,因此,系統軟體的開發 使用 維護 管理的過程,是乙個非常複雜的系統工程,需要有巨大的人力 物力 財力...

軟體估算方法

軟體成本及工作量估算永遠不會是一門精確的科學。太多的變化 人員 技術 環境 策略 影響了軟體的最終成本及開發所需的工作量。不過,軟體專案估算可以從神秘的技巧向一系列系統化的步驟的轉變的過程中,估算出可接受的風險。現在世界上比較流行的軟體估算方法有 模糊邏輯 法,功能點法,標準構件法,修改法,基於 行...