日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

「软件项目管理」一文详解软件项目成本计划

發布時間:2023/12/4 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 「软件项目管理」一文详解软件项目成本计划 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

軟件項目成本計劃

  • 序言
  • 一、成本估算的定義
  • 二、估算的基本概念
    • 1、關于估算
    • 2、軟件項目規模
    • 3、軟件規模單位
    • 4、軟件項目成本
    • 5、成本單位
    • 6、軟件規模和軟件成本的關系
    • 7、成本估算結果
  • 三、成本估算過程
    • 1、估算輸入
    • 2、估算處理
    • 3、估算輸出
  • 四、成本估算方法
    • 1、代碼行估算法
      • (1)定義
      • (2)代碼行估算的優點
      • (3)代碼行估算的缺點
    • 2、功能點估算法(重點)
      • (1)定義
      • (2)功能點公式
      • (3)UFC-未調整功能點計數
      • (4)功能計數項詳述
        • 1)外部輸入(External Inputs:EI)
        • 2)外部輸出(External Outputs:EO)
        • 3)外部查詢(External Inquiry:EQ)
        • 4)外部接口文件(External Interface Files :EIF’s)
        • 5)內部邏輯文件(Internal Logical Files:ILF’S)
      • (5)功能計數項的復雜度等級
      • (6)UFC計算實例
      • (7)TCF-技術復雜度因子
      • (8)TCF計算實例
      • (9)功能點與代碼行的轉換
    • 3、用例點估算法(重點)
      • (1)圖例
      • (2)基本步驟
      • (3)計算未調整的角色的權值UAW
      • (4)計算未調整的用例的權值UUCW
      • (5)計算未調整的用例點UUCP
      • (6)計算技術因子TCF
      • (7)計算環境因子ECF
    • (8)計算調整的用例點UCP
      • (9)計算工作量
    • 4、類比(自頂向下)估算法
      • (1)定義
      • (2)什么時候使用
      • (3)主觀判斷舉例
    • 5、自下而上估算法
      • (1)定義
      • (2)特點
    • 6、參數模型估算法(重點)
      • (1)定義
      • (2)使用條件
      • (3)特點
      • (4)參數模型:規模(成本)模型
        • 1)面向LOC驅動的
        • 2)面向FP驅動的
        • 3)整體公式
    • 7、專家估算法(重點)
      • (1)定義
      • (2)專家估算法—Delphi
  • 五、成本預算
    • 1、成本預算的定義
    • 2、項目成本預算
      • (1)給任務分配資源成本
      • (2)分配固定資源成本
      • (3)分配固定成本
  • 六、結束語
  • 🛵專欄直通車

序言

大家都知道,軟件項目管理包含項目初始、項目計劃、項目執行控制和項目結束這四大模塊。其中,項目計劃包含范圍計劃、成本計劃、時間計劃等9大計劃。

那在今天的文章中,就帶大家來了解項目計劃中的成本計劃。

叮,開始學習吧~🎩

一、成本估算的定義

  • 成本估算是成本管理的核心,是預測開發一個軟件系統所需要的總工作量的過程

  • 軟件項目成本是指軟件開發過程中所花費的工作量及相應的代價

  • 成本估算應該以軟件項目管理、分析、設計、編程、測試等過程所花費的代價作為依據

  • 成本估算貫穿于軟件的生命周期

二、估算的基本概念

1、關于估算

  • 估算不是很準確,會有誤差
  • 項目經驗數據非常重要;
  • 不要太迷信某些數學模型。

2、軟件項目規模

  • 軟件項目規模即工作量
  • 例如:軟件規劃,軟件管理,需求,設計,編碼,測試,以及后期的維護等任務。

3、軟件規模單位

  • LOC (Line of Code) → 表示源代碼長度的測量;
  • FP (Function Point) → 用系統的功能數量來測量;
  • 人月;
  • 人天;
  • 人年。

4、軟件項目成本

  • 完成軟件規模相應付出的代價
  • 待開發的軟件項目需要的資金
  • 人的勞動的消耗所需要的代價是軟件產品的主要成本

5、成本單位

成本單位通常是各種貨幣單位比如:

  • 人民幣元
  • 美元
  • 英鎊
  • ……

6、軟件規模和軟件成本的關系

  • 規模是成本的主要因素,是成本估算的基礎
  • 有了規模就確定了成本。

7、成本估算結果

直接成本:具體項目相關的成本(如:人員工資、材料費、外包外購成本等)

間接成本: 可以分攤到各個具體項目中的成本(如:培訓、房租水電、員工福利、市場費用、管理費、其他等等)

三、成本估算過程

1、估算輸入

需求、資源要求、資源消耗率、進度規劃、歷史項目數據、學習曲線等

2、估算處理

采用一定的估算方法進行,包含直接成本間接成本的估算。

3、估算輸出

簡略詳細的形式表示,對項目所需的所有資源的成本均需要加以估計。

四、成本估算方法

1、代碼行估算法

(1)定義

  • 從軟件程序量的角度定義項目規模。
  • 與具體的編程語言有關。
  • 分解足夠詳細。
  • 有一定的經驗數據(類比和經驗方法)。

(2)代碼行估算的優點

代碼是所有軟件開發項目都有的“產品”,而且很容易計算代碼行數。

(3)代碼行估算的缺點

  • 對代碼行沒有公認的可接受的標準定義
  • 代碼行數量依賴于所用的編程語言和個人的編程風格
  • 在項目早期、需求不穩定、設計不成熟、實現不確定的情況下很難準確地估算代碼量。
  • 代碼行強調編碼的工作量,只是項目實現階段的一部分。

2、功能點估算法(重點)

(1)定義

  • 實現的語言和技術沒有關系;
  • 用系統的功能數量來測量其規模;
  • 通過評估、加權、量化得出功能點。

(2)功能點公式

  • FP = UFC * TCF
  • UFC:未調整功能點計數
  • TCF:技術復雜度因子

(3)UFC-未調整功能點計數

從處理邏輯的角度出發, UFC 可以分為 5 個功能計數項分別是:

  • 外部輸入
  • 外部輸出
  • 外部查詢
  • 外部接口文件
  • 內部邏輯文件

接下來我們將依據這 5 個功能計數項進行詳細細述。

(4)功能計數項詳述

1)外部輸入(External Inputs:EI)

軟件提供面向應用的數據的項(如屏幕、表單、對話框、控件,文件等);在這個過程中,數據穿越外部邊界進入到系統內部。 如下圖所示:

2)外部輸出(External Outputs:EO)

向用戶提供(經過處理的)面向應用的信息,例如,報表和出錯信息等。 如下圖所示:

3)外部查詢(External Inquiry:EQ)

外部查詢是一個輸入引出一個即時的簡單輸出,沒有處理過程。 如下圖所示:

4)外部接口文件(External Interface Files :EIF’s)

用戶可以識別的一組邏輯相關數據,這組數據只能被引用。用這些接口把信息傳送給另一個系統如下圖所示:

5)內部邏輯文件(Internal Logical Files:ILF’S)

用戶可以識別的一組邏輯相關的數據,而且完全存在于應用的邊界之內,并且通過外部輸入維護,是邏輯主文件的數目如下圖所示:

(5)功能計數項的復雜度等級

下面給出功能計數項的復雜度等級,如下圖所示:

(6)UFC計算實例

下面,我們用一個例子來舉例。

某外貿訂單項目的需求評估為:

外部輸入: 3 項;外部輸出: 1 項;外部查詢: 1 項;外部接口文件: 1 項;內部邏輯文件: 2 項。請計算出該項目的 UFC 。

他們的復雜程度如下表所示:

功能點
簡單一般復雜
外部輸入2 * 31 * 40 * 6
外部輸出0 * 40 * 51 * 7
外部查詢0 * 31 * 40 * 6
外部接口文件0 * 51 * 70 * 10
內部邏輯文件1 * 71 * 100 * 15
總計13257
UFC45

(7)TCF-技術復雜度因子

TCF = 0.65 + 0.01(sum(Fi)),其中 Fi 為技術復雜度因子,其范圍是 0-5 , TCF 的取值范圍是 0.65-1.35 。

Fi 技術復雜度因子有 14 項,如下表所示:

技術復雜度因子
F1可靠的備份和恢復F2數據通信
F3分布式函數F4性能
F5大量使用的配置F6聯機數據輸入
F7操作簡單性F8在線升級
F9復雜界面F10復雜數據處理
F11重復使用性F12安裝簡易型
F13多重站點F14易于修改

技術復雜度因子的取值范圍,如下表所示:

調整系數描述
0不存在或者沒有影響
1不顯著的影響
2相當的影響
3平均的影響
4顯著的影響
5強大的影響

(8)TCF計算實例

同樣,我們用外貿訂單項目的例子來計算 TCF 。假設 14 個復雜度因子的影響值都是平均,計算出該項目的功能點。

UFC=45UFC=45UFC=45

TCF=0.65+0.01(14?3)=1.07TCF=0.65+0.01(14*3)=1.07TCF=0.65+0.01(14?3)=1.07

FP=UFC?TCF=45?1.07=48FP=UFC*TCF=45*1.07=48FP=UFC?TCF=45?1.07=48

如果PE=15工時/功能點,那么:Effort=48?15=720工時如果PE=15工時/功能點,那么:Effort=48*15=720工時PE=15/Effort=48?15=720

(9)功能點與代碼行的轉換

語言代碼行/FP
Assembly320
C150
COBOL105
FORTRAN105
PASCAL91
ADA71
PL/165
PROLOG/LISP64
SMALLTALK21
SPREADSHEET6

3、用例點估算法(重點)

(1)圖例

用例模型如下圖所示:

(2)基本步驟

用例點估算方法的基本步驟為:

  • 計算未調整的角色的權值 UAW ;
  • 計算未調整的用例的權值 UUCW ;
  • 計算未調整的用例點 UUCP ;
  • 計算技術環境因子 TCF 和 ECF ;
  • 計算調整的用例點 UCP ;
  • 計算工作量 ( man-hours ) 。

接下來將依據這幾個內容進行展開介紹。

(3)計算未調整的角色的權值UAW

公式: UAW=∑C=caWeight(c)×aCardinality(c)UAW=∑_{C=c}aWeight(c) × aCardinality(c)UAW=C=c?aWeight(c)×aCardinality(c)

下面給出 Actor 權值定義表,如下表所示:

序號復雜度級別復雜度標準權值
1simple角色通過API與系統交互1
2average角色通過協議與系統交互2
3complex用戶通過GUI與系統交互3

(4)計算未調整的用例的權值UUCW

公式: Uucw=∑C=cuWeight(c)×uCardinality(c)Uucw=∑_{C=c}uWeight(c) × uCardinality(c)Uucw=C=c?uWeight(c)×uCardinality(c)

下面給出 Use Case 權值定義表,如下表所示:

序號復雜度級別事務/場景個數權值
1simple1-35
2average4-710
3complex>715

(5)計算未調整的用例點UUCP

公式: UUCP=UAW+UUCWUUCP=UAW+UUCWUUCP=UAW+UUCW例如:

表1: Actor 權值

序號復雜度級別權值參與角色數UAWi
1simple122
2average248
3complex3515

表2:Use Case 權值

序號復雜度級別權值用例數UUCWi
1simple5525
2average10220
3complex15345

(6)計算技術因子TCF

公式: KaTeX parse error: Expected group after '_' at position 19: …=0.6+(0.01×\sum_?\limits{i=1}^{1…_Weighti×ValueiWeight_i×Value_iWeighti?×Valuei?

假設現有某項目的復雜度因子如下圖表所示:

序號技術因子說明權值
1TCF1分布式系統2.0
2TCF2性能要求1.0
3TCF3最終用戶使用效率1.0
4TCF4內部處理復雜度1.0
5TCF5復用程度1.0
6TCF6易于安裝0.5
7TCF7系統易于使用0.5
8TCF8可移植性2.0
9TCF9系統易于修改1.0
10TCF10并發性1.0
11TCF11安全功能特性1.0
12TCF12為第三方系統提供直接系統直接系統訪問1.0
13TCF13特殊的用戶培訓設施1.0

具體的 TCF 值為:

TCF=0.6+0.01×(2.0×3+1.0×5+1.0×3+1.0×5+1.0×0+0.5×3+0.5×5+2.0×3+1.0×5+1.0×3+1.0×5+1.0×0+1.0×0)=1.02TCF=0.6+0.01×(2.0×3+1.0×5+1.0×3+1.0×5+1.0×0+0.5×3+0.5×5+2.0×3+1.0×5+1.0×3+1.0×5+1.0×0+1.0×0)=1.02TCF=0.6+0.01×(2.0×3+1.0×5+1.0×3+1.0×5+1.0×0+0.5×3+0.5×5+2.0×3+1.0×5+1.0×3+1.0×5+1.0×0+1.0×0)=1.02

其中,調整系數為給定數值

(7)計算環境因子ECF

公式: KaTeX parse error: Expected group after '_' at position 20: …1.4+(-0.03×\sum_?\limits{i=1}^{8…_Weighti×Valuei)Weight_i×Value_i)Weighti?×Valuei?)

假設現有某項目的環境因子如下表所示:

序號環境因子說明權值
1ECF1UML 精通程度1.5
2ECF2系統應用經驗0.5
3ECF3面向對象經驗1.0
4ECF4系統分析員能力0.5
5ECF5團隊士氣1.0
6ECF6需求穩定度2.0
7ECF7兼職人員比例高低1.0
8ECF8編程語言難易程度1.0

假設調整系數已給定,那么具體的 ECF 值為:

ECF=1.4+(?0.03×(1.5×3+0.5×3+1.0×3+0.5×5+1.0×3+2.0×3+1.0×0+1.0×0))=0.785ECF=1.4+(-0.03×(1.5×3+0.5×3+1.0×3+0.5×5+1.0×3+2.0×3+1.0×0+1.0×0))=0.785ECF=1.4+(?0.03×(1.5×3+0.5×3+1.0×3+0.5×5+1.0×3+2.0×3+1.0×0+1.0×0))=0.785

(8)計算調整的用例點UCP

公式: UCP=UUCP×TCF×ECFUCP=UUCP×TCF×ECFUCP=UUCP×TCF×ECF

依據上面所給出的結果,那么最終 UCP=UUCP×TCF×ECF=115×1.02×0.785=92UCP =UUCP×TCF×ECF = 115×1.02×0.785 = 92UCP=UUCP×TCF×ECF=115×1.02×0.785=92

(9)計算工作量

公式: Effort=UCP×PEEffort=UCP×PEEffort=UCP×PE

依據上面的數據,假設 PE=20工時/用例點 。那么: Effort=UCP×PE=92×20=1840工時=230人天Effort=UCP×PE=92×20=1840工時=230人天Effort=UCP×PE=92×20=1840=230

4、類比(自頂向下)估算法

(1)定義

對于類比估算法來說,估算人員根據以往完成類似項目所消耗的總成本(或工作量),來推算將要開發的軟件總成本(或工作量),然后按比例將它分配到各個開發任務單元中。

是一種自上而下的估算形式。

(2)什么時候使用

  • 有類似的歷史項目數據
  • 信息不足(例如市場招標)的時候;
  • 要求不是非常精確估算的時候。

(3)主觀判斷舉例

假設現在要開發某個證券交易網站,它的需求與往常開發的網站項目類似,且其歷史數據是10萬的開發成本。因此,用類比估算法來進行估算,它也是10萬的開發成本。

5、自下而上估算法

(1)定義

利用任務分解圖(WBS),對各個具體的工具包進行詳細的成本估算,然后將結果累加起來得出項目總成本。如下圖所示:

大家可以看到,左下方是一些估算的內容自下而上的原則右上方估算的結果

(2)特點

  • 相對比較準確,它的準確度來源于每個任務的估算情況。
  • 花費時間。

6、參數模型估算法(重點)

(1)定義

通過參數模型來估算(規模)成本的方法。

(2)使用條件

使用該模型的條件如下:

  • 具有良好的項目數據為基礎;
  • 存在成熟的項目估算模型。

(3)特點

  • 比較簡單,而且也比較準確
  • 如果模型選擇不當或者數據不準,也會導致偏差

(4)參數模型:規模(成本)模型

1)面向LOC驅動的

  • Walston?Felix(IBM):E=5.2?(KLOC)Walston-Felix(IBM):E= 5.2*(KLOC)Walston?Felix(IBM):E=5.2?(KLOC)^0.91 ???
  • Balley?Basili:E=5.5+0.73?(KLOC)Balley-Basili:E=5.5+0.73*(KLOC)Balley?Basili:E=5.5+0.73?(KLOC)^1.16
  • 基本COCOMO:E=3.2?(KLOC)基本COCOMO:E=3.2*(KLOC)COCOMO:E=3.2?(KLOC)^1.05 ???
  • Doty:E=5.288?(KLOC)Doty:E=5.288*(KLOC)Doty:E=5.288?(KLOC)^1.047

2)面向FP驅動的

  • AlbrechtandGaffney:E=?12.39+0.0545FPAlbrecht and Gaffney:E=-12.39+0.0545FPAlbrechtandGaffney:E=?12.39+0.0545FP
  • Matson,Barnett:E=585.7+15.12FPMatson,Barnett:E=585.7+15.12FPMatson,Barnett:E=585.7+15.12FP

3)整體公式

整體公式為:E=a+b?SCE=a+b*S^CE=a+b?SC

E:以人月表示的工作量

a,b,c:經驗導出的系數

S:主要的輸入參數(通常是 LOC ,FP 等)

7、專家估算法(重點)

(1)定義

由多位專家進行成本估算,一個專家可能會有偏見,最好由多位專家進行估算,取得多個估算值,最后得出綜合的估算值。

(2)專家估算法—Delphi

  • 組織者確定專家,這些專家互相不見面;
  • 組織者發給每位專家一份軟件規格說明;
  • 專家以無記名對該軟件給出3個規模的估算值;
    • 最小aia_iai?
    • 最可能的mim_imi?
    • 最大bib_ibi?
  • 組織者計算每位專家的Ei=(ai+4mi+bi)/6E_i=(a_i+4m_i+b_i)/6Ei?=(ai?+4mi?+bi?)/6
  • 如果各個專家的估算差異超出規定的范圍(例如:15%),則需重復上述過程;
  • 最終可以獲得一個多數專家共識的軟件規模:E=(E1+E2+…En)/nE=(E_1+E_2+…E_n)/nE=(E1?+E2?+En?)/n(N: 表示 N 個專家)。

五、成本預算

1、成本預算的定義

  • 成本預算是將項目的總成本按照項目的進度分攤到各個工作單元中去
  • 成本預算的目的是產生成本基線

2、項目成本預算

分配項目成本預算包括三種情況:

  • 給任務分配資源成本
  • 給任務分配固定資源成本
  • 給任務分配固定成本

下面依據這三種情況進行一一介紹。

(1)給任務分配資源成本

  • 與資源的基本費率緊密相連
  • 設置資源費率
    • 標準費率
    • 加班費率
    • 每次使用費率
    • 。。。。。。

(2)分配固定資源成本

  • 當一個項目的資源需要固定數量的資金時,可以向任務分配固定資源成本。
  • 例如:項目中的一個兼職人員的成本。

(3)分配固定成本

  • 有些任務是固定成本的類型的任務,也就是說,管理者知道某項任務的成本不變,不管任務的工期有多長,或不管任務使用了哪些資源。在這種情況下,管理者可以向任務直接分配成本。
  • 例如:某外包任務、培訓任務。

六、結束語

在上面的文章中,我們講解軟件項目中成本估算的基本概念,以及7種成本估算的方法。同時,我們還簡單了解了一下成本預算

到這里,關于軟件項目中的成本計劃講到這里就結束啦!不知道是否對小伙伴們有幫助呢?

🛵專欄直通車

軟件項目管理👉juejin.cn/column/7024…

總結

以上是生活随笔為你收集整理的「软件项目管理」一文详解软件项目成本计划的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。