當前位置:首頁 » 生產成本 » 軟體工程系統成本包含什麼
擴展閱讀
汽貿如何開發4s店資源 2025-05-20 08:03:51

軟體工程系統成本包含什麼

發布時間: 2022-09-09 13:38:11

『壹』 軟體項目的成本如何估算

定製軟體開發是軟體開發的一個領域,開發定製的數字技術解決方案以滿足特定業務組織的特定需求。話雖如此,任何投資於定製軟體開發的組織都必須有適當的計劃和預算。定製軟體開發項目有兩個非常重要的限制需要考慮:時間和成本。(准確估算軟體開發項目的成本是保障其整體成功的關鍵)。

在為某個定製軟體開發項目制定計劃時,組織或個人會問兩個問題。

「多少錢?」

「多長時間?」


一、確定定製軟體開發的基礎工作

要確定和估算某個軟體開發項目的成本,必須了解定製軟體開發的基礎知識。更具體地說,您必須知道問題的答案:

「定製軟體開發是如何執行的?」

為了最簡單、最全面地回答這個問題,需要討論以下幾點,它們是定製軟體開發的基礎。

  • 確定需求——它有助於更好地估算成本,還可以正確開發和執行開發任務。

  • 計劃整個過程並設定目標——為整個軟體項目開發周期制定適當的計劃可以在時間和成本管理方面大有幫助。

  • 詳細文檔——必須記錄項目計劃、實施計劃、測試計劃、范圍說明書和培訓計劃中的所有內容。

  • 為定製軟體尋找合適的專業團隊——能夠高效工作並且能夠同時處理多項任務,為整個過程提升效益。


二、確定影響定製軟體開發成本的因素

在下面這一部分,討論影響自定義軟體開發項目的關鍵因素。確定軟體開發項目的成本需要組織或個人考慮並考慮這些因素。

  • 軟體的規模和類型:軟體的規模和類型是決定開發成本的兩個關鍵因素。

例如,移動應用程序或電子商務商店將比銀行或醫院 ERP 解決方案等其他類型的軟體便宜。自定義軟體、倉庫管理、安全應用程序和 CRM 解決方案的類型通常更加昂貴和耗時。

  • 復雜性:開發的復雜性是影響整體定製軟體開發估算的關鍵因素。

  • 設計結構:設計結構有兩個關鍵領域:創意設計和UI/UX設計。這兩個因素對於項目的總成本都是必不可少的。

  • 集成:第三方集成需要大量的精力和資源。

  • 數據遷移:數據遷移是一個非常具體和准確的過程,需要自定義腳本和多個渠道。

  • 開發時間:開發時間是影響定製軟體開發成本的關鍵因素,人力成本是最大的支出。

  • 功能和平台:盡管聽起來很明顯,軟體運行的平台及其功能對您需要在產品上進行的整體投資有重大影響。

  • 測試:有助於確定軟體的效率和功能,還涉及一些影響項目總成本的支出。

  • 維護:在成本估算時,還必須考慮某種定製軟體產品的維護和支持類型。


三、如何估算定製軟體的規模

快速功能點方法是依據國際標准《ISO/IEC 24570-2005軟體工程NESMA功能尺度測量法2.1版功能點分析應用的定義和計數指南》提出的一種軟體規模度量方法。

該方法適用於軟體項目早期、中期、後期等各個階段的規模估算或測量。

快速功能點方法進行規模估算或測量的基本過程或步驟如下:

  • 確定計數類型

  • 識別系統邊界

  • 識別功能點計數項

  • 計算未調整的功能點數

  • 計算調整後的功能點數。

那麼就讓新星為大家詳細對每個步驟進行剖析:

1、確定計數類型

根據需求或項目的類型確定計數類型。

計數類型分為三種:新開發延續開發已有系統計數

  • 對於新開發需求或項目,對預計(或實際)投產的功能進行計數;

  • 對於延續開發需求或項目,對預計(或實際)新增、修改及刪除的功能均進行計數;

  • 對於已有系統,對實際的功能進行計數。

2、識別系統邊界

在識別系統邊界的時候應注意:

  • 應從用戶視角出發,不受系統實現影響;

  • 主要是為了區分內部邏輯文件(ILF)和外部介面文件(EIF);

  • 事務功能應穿越識別的系統邊界。

3、識別功能點計數項

功能點計數項分為數據功能和交易功能兩類。

  • 數據功能——包括內部邏輯文件(ILF)、外部介面文件(EIF);

  • 交易功能——包括外部輸入(EI)、外部輸出(EO)、外部查詢(EQ)。

數據功能:系統提供給用戶的滿足產品內部和外部數據需求的功能,即本系統管理或使用那些業務數據(業務對象),如「客戶信息」「賬戶交易記錄」等。內部邏輯文件或外部介面文件所指的「文件」不是傳統數據處理意義上的文件,而是指一組客戶可識別的、邏輯上相互關聯的數據或者控制信息。因此,這些文件和物理上的數據集合(如資料庫表)沒有必然的對應關系。

交易功能:系統提供給用戶的處理數據的功能,即本系統如何處理和使用那些業務數據(業務對象),如「轉賬」「修改黑名單生成規則」「查詢交易記錄」等。交易功能又稱為基本過程,是用戶可識別的,業務上的一組原子操作,可能由多個處理邏輯構成。例如,「添加櫃員信息」這個基本過程可能包含「信息校驗」「修改確認」「修改結果反饋」等一系列處理邏輯。

3、計算未調整的功能點數

a.採用預估功能點進行計數,計算公式如下:

FP=35ILF+15EIF

——FP:未調整的功能點數,單位為功能點;

——ILF:內部邏輯文件的數量;

——EIF:外部介面文件的數量。

b.採用估算功能點進行計數,計算公式如下:

FP=10ILF+7EIF+4EI+5EO+4*EQ

——FP:未調整的功能點數,單位為功能點;

——ILF:內部邏輯文件的數量;

——EIF:外部介面文件的數量;

——EI:外部輸入的數量;

——EO:外部輸出的數量;

——EQ:外部查詢的數量。

5、計算調整後的功能點數

根據不同的規模測算階段,需要考慮隱含需求及需求變更對規模的影響,因此,需要根據規模計數時機進行規模調整。

調整後的功能點數(AFP),計算公式如下:

AFP=FP*CF

——AFP:調整後的功能點數,單位為功能點;

——FP:未調整的功能點數,單位為功能點;

——CF:規模變更調整因子,依據行業數據,項目估算早期(如概預算階段)通常取值為1.5;項目估算中期(如招投評標、項目立項、技術方案階段)通常取值為1.26;項目估算中後期(如需求分析完成及後評價)通常取值為1.0。


四、估算軟體項目開發成本

得出功能點數後,結合當地人力成本成本費率和項目非人力成本支出可以估算出軟體項目開發成本。

『貳』 軟體成本評估都包含哪些內容

完整的軟體造價評估應該包含哪些?

1 估算基礎

  • 對估算對象(需求、任務等)的拆分顆粒度定義了上限與下限,以提升估算的准確度。

  • 完備識別了估算對象,沒有遺漏的需求或任務。

  • 估算人員經過了估算方法的系統培訓。

  • 定義了組織級的估算方法。

2 規模估算

  • 從不估算規模或經驗估算規模升級為客觀度量規模,比如採用國際標準的功能點方法或自定義的規模度量方法,無論是哪種方法,規模與工作量之間應該是強相關的才是合理的。

  • 如果對本公司的項目而言,規模與工作量不強相關,也可以是復雜度等其他因子,對這些因子應該也與工作量做了相關性分析,與工作量應該強相關才是合理的。

3 工作量估算

  • 建立了從規模的客觀度量用定量模型推算出項目總工作量。

  • 建立了工作量分布百分比的性能基線,可以從總工作量推算各階段或各類任務的工作量。比如開發的工作量、測試的工作量。

  • 能夠用PPB或PPM推算出各種關鍵活動的最少投入工作量,比如需求評審的工作量、代碼評審的工作量、系統測試的工作量等。

  • 工作量的估算結果應該是一個區間,而不是單點值。如,總工作量不超過100人月。

4 成本估算

  • 從工作量到成本有定量的計算方法。

  • 成本的估算結果應該也是一個區間,而不是單點值。比如不超過30萬,或者在25到30萬之間等。

5 工期估算

  • 識別了項目的關鍵路徑與關鍵鏈。

  • 對項目的工期進行了模擬,得到滿足項目工期要求的概率有多大。如果概率太低,對關鍵路鏈上的任務、投入的資源與需要完成的需求進行了優化。

6 評審與修訂估算

  • 保存了估算記錄,估算結果經過了評審。

  • 隨著需求和任務的明確,在開發過程中修訂了估算結果。

7 持續改進估算過程

  • 對比了估算結果與實際結果,對估算偏差率建立了過程性能基線或過程性能模型。

  • 總結了估算有關的經驗教訓。

  • 對估算方法和過程進行了持續優化。

  • 跟蹤檢查了估算方法與過程在組織級的落地實施情況。

『叄』 軟體開發的成本

軟體開發成本主要指軟體開發過程中所花費的工作量及相應的代價。

在對一個軟體項目進行開發成本估算時,應該包括從項目立項直至項目研發活動結束所花費的資源總和,並且可以按階段進行估算或測量。

軟體開成本估算的過程可分為:估算規模、估算工作量、估算工期和估算成本這4個過程,最終確定軟體成本。其中成本估算需要對直接人力成本、間接人力成本、間接非人力成本及直接非人力成本分別進行估算。

開發平台

軟體開發平台源於繁瑣的實踐開發過程中。開發人員在實踐中將常用的函數、類、抽象、介面等進行總結、封裝,成為了可以重復使用的「中間件」,而隨著「中間件」的成熟和通用,功能更強大、更能滿足企業級客戶需求的——軟體開發平台應運而生。

平台是一段時間內科研成果的匯聚,也是階段性平台期的標志,為行業進入新的研發領域提供了基礎。由於平台對企業核心競爭力的提升非常明顯,國內的管理軟體市場,軟體開發平台的應用已經成為一種趨勢。

以上內容參考:網路-軟體開發

『肆』 如何確定軟體的開發成本價

軟體開發成本估算過程可進一步細分為軟體規模估算、工作量估算、成本估算和確定軟體開發成本等四個過程。

其中成本估算需要對直接人力成本、間接人力成本、間接非人力成本及直接非人力成本分別進行估算。

國家標准《GB/T 36964-2018 軟體工程 軟體開發成本度量規范》中建議的軟體開發成本估算基本流程如下圖所示:

國家准中的四個估算過程,層層遞進,逐步細化,最終達到科學、一致的成本估算。

一、軟體規模估算

通常情況下,規模估算是軟體成本估算過程的起點。

估算規模是後續計算軟體項目的工作量、成本和進度的主要輸入,是項目范圍管理的關鍵,因此,在條件允許的情況下,應首先進行規模估算。

在規模估算過程中,需要注意以下情況:

1.在規模估算開始前,應根據可行性研究報告或類似文檔明確項目需求及系統邊界。項目需求除包含最基本的業務需求外,還應進行初步的子系統/模塊劃分,並對每一子系統或模塊的基本用戶需求進行說明,以保證可以根據項目需求進行規模預估。

2.依據項目特點和需求詳細程度不同,通常估算人員在選擇估算方法時應採用納入國際標準的功能點方法進行功能規模估算,在適用IFPUG或NESMA方法時,可以根據需求的粒度和管理需要,選擇預估功能點方法、估算功能點方法或者詳細功能點方法。

3.若當前的項目需求極其模糊或不確定,可不進行規模估算,而直接採用類比法或類推法估算工作量和成本。

二、工作量估算

在完成規模估算後,應當開展工作量估算工作,若當前項目未開展規模估算,也可直接啟動工作量估算工作。

工作量估算時,可採用方程法、類比法、類推法、功能點法:

方程法:即基於基準數據建立參數模型,通過輸入各項參數,確定估算值。

類比法:即將待估算項目的部分屬性與類似的一組基準數據進行比對,進而確定估算值。

類推法:即將待估算項目的部分屬性與高度類似的一個或幾個已完成項目的數據進行比對,並進行適當調整後確定估算值。

功能點法:從用戶視角出發,通過量化系統功能來度量軟體的規模,這種度量主要基於系統的邏輯設計。功能點規模度量方法在國際上的應用已經比較廣泛,並且已經取代代碼行成為最主流的軟體規模度量方法。

在開展工作量估算的過程中,需要注意以下情況:

1.當需求極其模糊或不確定時,如果此時具有高度類似的歷史項目,則可直接採用類推法,充分利用歷史項目數據來粗略估算工作量。

2.當需求極其模糊或不確定時,如果此時具有與本項目部分屬性類似的一組基準數據,則可直接採用類比法,充分利用基準數據來粗略估算工作量。

3.對於規模估算已經開展的項目,可採用方程法,通過輸入各項參數,確定待估算項目的工作量。若客戶或高層對項目的工期有明確的要求時,在採用方程法估算工作量時,工期要求有可能是方程的參數之一。

4.為追求估算的准確性,建議在條件允許的情況下,可採用兩種估算方法,對估算結果進行交叉驗證,若估算結果差別不大,可直接使用兩種估算結果的平均值或以某種估算結果為准,若差別較大,需進行差異分析。

5.工作量的估算結果宜為一個范圍而不是單一的值。

三、成本估算

在獲得了工作量估算結果後,可採用科學的方法進行成本估算。

在成本估算過程中,應需要注意的情況:

1.類比法和類推法,同樣適用於需求極其模糊或不確定時的成本估算;

2.間接成本是否與工作量估算結果相關取決於間接成本分攤計算方式。在絕大多數組織,項目周期越長,項目組成員越多,其分攤的間接成本就越高,此時項目的間接成本與工作量估算結果直接相關;

3.直接非人力成本通常與工作量估算結果無關,宜單獨分項測算;

4. 成本估算結果,也通常為一個范圍,而不是單一的值。

四、確定軟體開發成本

在《軟體工程 軟體開發成本度量規范》中,將軟體開發成本分為四類,主要是為便於對成本構成(即哪些成本屬於開發成本,哪些不屬於開發成本)進行清晰界定。

而在實際確定軟體開發成本時,通常並不是分別測定四類成本,加和後獲得總成本,而是通常採用以下兩種方式確定總成本:

1.根據人力成本費率及工作量估算直接人力成本和間接成本之和,再加上直接非人力成本,獲得總成本;

2.根據規模綜合單價和軟體規模,測算出直接人力成本和間接成本之和,再加上直接非人力成本,獲得總成本。

在進行軟體的規模、工作量、成本估算時應遵循以下原則:

1.在規模估算時,應根據項目特點和需求的詳細程度選擇合適的估算方法;

2.充分利用基準數據,採用方程法、類比法或類推法,對工作量和成本進行估算;

3.工作量和成本的估算結果宜為一個范圍值;

4.在進行成本估算時,如有明確的工期要求,應充分考慮工期對項目成本的影響,可以根據項目實際情況以及工期對項目的影響程度,對成本的估算結果進行調整;

5.成本估算過程中宜採用不同的方法分別估算並進行交叉驗證。如果不同方法的估算結果產生較大差異,可採用專家評審方法確定估算結果,也可使用較簡單的加權平均方法;

6.在軟體項目的不同場景下(如預算、招投標、項目計劃和變更管理等)採用國家標准時,相關要求見國家標准中附錄A。

除了上述主要原則外,我們還需注意在使用基準數據時:

1. 對於委託方和第三方,建議使用或參考軟體行業基準數據進行估算。估算模型的調整因子的增減或取值有可能隨著行業基準數據的變化而變化。

2.對於開發方,在引入行業基準數據的基礎上,可逐步建立組織級基準資料庫,以提高估算精度。組織級基準數據定義應與行業基準數據定義保持一致,以便於與行業基準數據進行比對分析,並持續提升組織能力。

『伍』 軟體開發價格包含什麼

軟體開發價格包含什麼?
研發費用可以加計扣除,研發人員的工資是要計入管理費用的研發費用。
互聯網是個神奇的大網,大數據開發和軟體定製也是一種模式,這里提供最詳細的報價,如果你真的想做,可以來這里,這個手機的開始數字是一伍扒中間的是壹壹三三最後的是泗柒泗泗,按照順序組合起來就可以找到,我想說的是,除非你想做或者了解這方面的內容,如果只是湊熱鬧的話,就不要來了。
(1)利息支出,指企業短期借款利息、長期借款利息、應付票據利息、票據貼現利息、應付債券利息、長期應付引進國外設備款利息等利息支出(除資本化的利息外)減去銀行存款等的利息收入後的凈額。
(2)匯兌損失,指企業因向銀行結售或購入外匯而產生的銀行買入、賣出價與記賬所採用的匯率之間的差額,以及月度(季度、年度)終了,各種外幣賬戶的外幣期末余額按照期末規定匯率摺合的記賬人民幣金額與原賬面人民幣金額之間的差額等。
(3)相關的手續費,指發行債券所需支付的手續費(需資本化的手續費除外)、開出匯票的銀行手續費、調劑外匯手續費等,但不包括發行股票所支付的手續費等。
(4)其他財務費用,如融資租入固定資產發生的融資租賃費用等。
核算范圍及各項費用處理方式
1、本科目核算房地產開發企業在土地、房屋、配套設開發成本施和代建工程的開發過程中所發生的各項費用。企業對出租房進行裝飾及增補室內設施而發生的出租房工程支出,也在本科目核算。
出租開發產品經營業務中發生的按月計提的出租開發產品攤銷等,可直接計入「其他業務成本」科目,不通過本科目核算。
企業為進行資金的籌集等理財活動而發生的利息支出,以及企業行政管理部門為組織和管理房地產開發經營活動而發生的管理費用,應作為期間費用,直接計入當期損益,不在本科目核算。
2、企業在土地、房屋、配套設施和代建工程的開發過程中發生的各項費用,包括土地徵用及拆遷補償費、前期工程費、基礎設施費、建築安裝工程費、配套設施費和開發間接費用等。企業發生的土地徵用及拆遷補償費、前期工程費、基礎設施費和建築安裝工程費等。
屬於直接費用,直接計入本科目(有關成本核算對象的成本項目中);應由開發產品成本負擔的間接費用,應先在「開發間接費用」科目進行歸集,月末,再按一定的分配標准分配計入有關的開發產品成本。

『陸』 IT系統總擁有成本包含什麼

購買成本、 安裝成本、 財務成本、 傭金、 能源成本、 維修成本、 升級成本、 轉換成本、 培訓成本、 支持成本、 服務成本、 維持成本、 當機成本、 安全成本、 生產力成本、 風險成本、 處理成本

『柒』 軟體開發成本有哪些

所謂售前成本,就是在合同簽訂前,乙方為這個項目做商務、做演示、做售前調研等付出的成本(人工費、辦公費、差旅費等)。倒霉的是,並不是每個售前項目都可以簽單,更倒霉的是,一般情況下丟單的比簽單的多,這些丟單的售前項目,成本往哪裡去呢,自然需要由簽下的項目彌補。
直接人工成本。
每個開發團隊包括很多崗位,如項目實施經理、需求分析師、系統架構師、程序員、測試工程師、美工、客服等,這些崗位的人,都是需要吃飯的,都需要發工資、交五險一金。一個項目要做好,離不開這些崗位通力合作。即使只看直接人工成本,也遠遠不止程序員的工資社保。
開發工具及設備成本。
團隊在開發過程中需要各種開發工具,有些工具是開源免費的,但也有很多工具是要收費的。當然,一般來說,每個團隊都有很多開發項目,這個成本分攤到每個項目並不高,幾乎可以忽略不計。但是,有的時候,有些特殊的設備是為這個項目專門采購的,那麼這個成本就不能忽視了。
間接人工成本。

『捌』 軟體工程范圍,時間,成本這三項分別由哪些角色控制

成本管理是軟體項目管理的主要內容之一,分析了目前軟體開發成本管理過程中存在的問題,提出了將進度和成本聯系起來考慮,使工作量和實際成本匹配的方法。結合現有的估算方法,設計成本管理系統並將其應用於軟體項目管理平台中,旨在改善軟體開發中成本超支的現象,為企業提高效益。

關鍵詞 軟體項目管理平台 成本估算 成本控制

隨著信息技術的飛速發展,軟體產業在國民經濟中扮演著越來越重要的角色。對軟體開發實施有效的管理是決定軟體產業發展的至關重要的因素。在軟體項目的開發過程中,項目管理日益受到人們的關注。軟體項目管理是為了使軟體項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。成本管理是軟體項目管理的一個主要內容,就目前發展來看,成本管理是軟體項目管理中一個比較薄弱的方面,許多軟體項目由於成本管理不善,造成了軟體造價的成本上升,軟體質量得不到保證。針對這些現象,文章提出了一種新的成本管理方法,並將其應用於正在研究中的課題--軟體項目管理平台的開發當中,以便於開發有效的軟體項目管理工具,為企業節約成本,提高經濟效益。

1 成本管理概述

項目成本管理包括確保在批準的預算范圍內完成項目所需的各個過程[1]。軟體項目成本的管理基本上可以用估算和控制來概括,首先對軟體的成本進行估算,然後形成成本管理計劃,在軟體項目開發過程中,對軟體項目施加控制使其按照計劃進行。成本管理計劃是成本控制的標准,不合理的計劃可能使項目失去控制,超出預算。因此成本估算是整個成本管理過程中的基礎,成本控制是使項目的成本在開發過程中控制在預算范圍之內。

1.1 成本管理的過程
軟體項目成本管理就是根據企業的情況和項目的具體要求,利用公司既定的資源,在保證項目的進度、質量達到客戶滿意的情況下,對軟體項目成本進行有效的組織、實施、控制、跟蹤、分析和考核等一系列管理活動,最大限度地降低項目成本,提高項目利潤。
成本管理的過程包括[1]:
l 資源計劃,包括決定為實施項目活動需要使用什麼資源(人員、設備和物資)以及每種資源的用量。其主要輸出是一個資源需求清單。
l 成本估算,包括估計完成項目所需資源成本的近似值。其主要輸出是成本管理計劃。
l 成本預算,包括將整個成本估算配置到各單項工作,以建立一個衡量績效的基準計劃。其主要輸出是成本基準計劃。
l 成本控制,包括控制項目預算的變化。其主要輸出修正的成本估算、更新預算、糾正行動和取得的教訓。

1.2 軟體開發成本管理過程中的主要問題
(1) 項目成本預算和估算的准確度差。
由於客戶的需求不斷變化,使得工作內容和工作量不斷變化。一旦發生變化,項目經理就追加項目預算,預算頻頻變更,等到項目結束時,實際成本和初始計劃偏離很大。
此外,項目預算往往會走兩個極端:過粗和過細。預算過粗會使項目費用的隨意性較大,准確度降低;預算過細會使項目控制的內容過多,彈性差,變化不靈活,管理成本加大。
(2) 缺乏對軟體成本事先估計的有效控制。
在開發初期,對成本不夠關心,忽略對成本的控制,只有在項目進行到後期,實際遠離計劃出現偏差的時候,才進行成本控制,這樣往往導致項目超出預算。
(3) 缺乏成本績效的分析和跟蹤。
傳統的項目成本管理中,將預算和實際進行數值對比,但很少有將預算、實際成本和工作量進度聯系起來,考慮實際成本和工作量是否匹配的問題。

1.3 成本管理方法的改進
目前常用的軟體項目管理工具都側重於某一方面的功能,如微軟的 Project2000側重管理、規劃任務,並在項目執行過程中跟蹤這些任務,偏向於進度安排與跟蹤控制;RUP側重於用戶需求的描述;PVCS側重於軟體變更管理。這些軟體項目管理工具都在不斷的完善其功能,雖然也有成本管理的功能,但總的來說大多數都不能用來進行軟體成本估計,缺乏事先成本控制,不能和估計數據自動化協調,不能自動化地利用歷史資料庫中的數據。當前的項目管理工具並不能滿足成本管理的需要。

針對以上成本管理過程中出現的問題,以及目前軟體項目管理工具的不足,文章提出了一種改進的管理方法,將進度和成本聯系起來考慮使工作量和實際成本匹配的方法。並且結合已有的成本估算方法,同時將過程資料庫引入到軟體項目管理中,給出成本管理系統的原型設計。系統採用先進的估算方法解決了成本估算準確度差的問題,工作量和實際成本匹配的方法進行成本的績效分析和跟蹤使得項目成本能夠控制在預算范圍之內。

『玖』 一個軟體項目如何評估工作量和成本

軟體開發成本估算過程可進一步細分為軟體規模估算工作量估算成本估算確定軟體開發成本等四個過程。

其中成本估算需要對直接人力成本間接人力成本間接非人力成本直接非人力成本分別進行估算。

國家標准《GB/T 36964-2018 軟體工程 軟體開發成本度量規范》中建議的軟體開發成本估算基本流程如下圖所示:

國家准中的四個估算過程,層層遞進,逐步細化,最終達到科學、一致的成本估算。

一、軟體規模估算

通常情況下,規模估算是軟體成本估算過程的起點。

估算規模是後續計算軟體項目的工作量、成本和進度的主要輸入,是項目范圍管理的關鍵,因此,在條件允許的情況下,應首先進行規模估算。

在規模估算過程中,需要注意以下情況:

  1. 在規模估算開始前,應根據可行性研究報告或類似文檔明確項目需求及系統邊界。項目需求除包含最基本的業務需求外,還應進行初步的子系統/模塊劃分,並對每一子系統或模塊的基本用戶需求進行說明,以保證可以根據項目需求進行規模預估。

  2. 依據項目特點和需求詳細程度不同,通常估算人員在選擇估算方法時應採用納入國際標準的功能點方法進行功能規模估算,在適用IFPUG或NESMA方法時,可以根據需求的粒度和管理需要,選擇預估功能點方法、估算功能點方法或者詳細功能點方法。

  3. 若當前的項目需求極其模糊或不確定,可不進行規模估算,而直接採用類比法或類推法估算工作量和成本。

二、工作量估算

在完成規模估算後,應當開展工作量估算工作,若當前項目未開展規模估算,也可直接啟動工作量估算工作。

工作量估算時,可採用方程法、類比法、類推法、功能點法:

  • 方程法:即基於基準數據建立參數模型,通過輸入各項參數,確定估算值。

  • 類比法:即將待估算項目的部分屬性與類似的一組基準數據進行比對,進而確定估算值。

  • 類推法:即將待估算項目的部分屬性與高度類似的一個或幾個已完成項目的數據進行比對,並進行適當調整後確定估算值。

  • 功能點法:從用戶視角出發,通過量化系統功能來度量軟體的規模,這種度量主要基於系統的邏輯設計。功能點規模度量方法在國際上的應用已經比較廣泛,並且已經取代代碼行成為最主流的軟體規模度量方法。

在開展工作量估算的過程中,需要注意以下情況:

  1. 當需求極其模糊或不確定時,如果此時具有高度類似的歷史項目,則可直接採用類推法,充分利用歷史項目數據來粗略估算工作量。

  2. 當需求極其模糊或不確定時,如果此時具有與本項目部分屬性類似的一組基準數據,則可直接採用類比法,充分利用基準數據來粗略估算工作量。

  3. 對於規模估算已經開展的項目,可採用方程法,通過輸入各項參數,確定待估算項目的工作量。若客戶或高層對項目的工期有明確的要求時,在採用方程法估算工作量時,工期要求有可能是方程的參數之一。

  4. 為追求估算的准確性,建議在條件允許的情況下,可採用兩種估算方法,對估算結果進行交叉驗證,若估算結果差別不大,可直接使用兩種估算結果的平均值或以某種估算結果為准,若差別較大,需進行差異分析。

  5. 工作量的估算結果宜為一個范圍而不是單一的值。

三、成本估算

在獲得了工作量估算結果後,可採用科學的方法進行成本估算。

在成本估算過程中,應需要注意的情況:

  1. 類比法和類推法,同樣適用於需求極其模糊或不確定時的成本估算;

  2. 間接成本是否與工作量估算結果相關取決於間接成本分攤計算方式。在絕大多數組織,項目周期越長,項目組成員越多,其分攤的間接成本就越高,此時項目的間接成本與工作量估算結果直接相關;

  3. 直接非人力成本通常與工作量估算結果無關,宜單獨分項測算;

  4. 成本估算結果,也通常為一個范圍,而不是單一的值。

四、確定軟體開發成本

在《軟體工程 軟體開發成本度量規范》中,將軟體開發成本分為四類,主要是為便於對成本構成(即哪些成本屬於開發成本,哪些不屬於開發成本)進行清晰界定。

而在實際確定軟體開發成本時,通常並不是分別測定四類成本,加和後獲得總成本,而是通常採用以下兩種方式確定總成本:

  • 根據人力成本費率及工作量估算直接人力成本和間接成本之和,再加上直接非人力成本,獲得總成本;

  • 根據規模綜合單價和軟體規模,測算出直接人力成本和間接成本之和,再加上直接非人力成本,獲得總成本。

在進行軟體的規模、工作量、成本估算時應遵循以下原則:

  1. 在規模估算時,應根據項目特點和需求的詳細程度選擇合適的估算方法;

  2. 充分利用基準數據,採用方程法、類比法或類推法,對工作量和成本進行估算;

  3. 工作量和成本的估算結果宜為一個范圍值;

  4. 在進行成本估算時,如有明確的工期要求,應充分考慮工期對項目成本的影響,可以根據項目實際情況以及工期對項目的影響程度,對成本的估算結果進行調整;

  5. 成本估算過程中宜採用不同的方法分別估算並進行交叉驗證。如果不同方法的估算結果產生較大差異,可採用專家評審方法確定估算結果,也可使用較簡單的加權平均方法;

  6. 在軟體項目的不同場景下(如預算、招投標、項目計劃和變更管理等)採用國家標准時,相關要求見國家標准中附錄A。

除了上述主要原則外,我們還需注意在使用基準數據時:

  • 對於委託方和第三方,建議使用或參考軟體行業基準數據進行估算。估算模型的調整因子的增減或取值有可能隨著行業基準數據的變化而變化。

  • 對於開發方,在引入行業基準數據的基礎上,可逐步建立組織級基準資料庫,以提高估算精度。組織級基準數據定義應與行業基準數據定義保持一致,以便於與行業基準數據進行比對分析,並持續提升組織能力。