內容簡介
本書針對現代軟體工程的特點,結合政府、金融、航空航天、製造及網際網路等行業特徵,基於相關國際標準、國家標準和行業標準,建立了適用於軟體成本度量的體系方法和模型。本書共10章,闡述了軟體成本度量和造價的一般理論;引入了軟體規模估算技術,包括NESMA、SNAP、COSMIC等方法的套用和實踐;分析了基準資料庫的建立及套用,包括生產率、費率、工作量、工期、質量等數據收集、分析和套用方法;建立了軟體成本估算、造價分析模型,介紹了行業實施規則、整體案例等內容。本書可作為各行業從事軟體成本度量和造價分析工作人員的參考用書,也可作為從事信息技術及軟體研發、軟體運維工作人員的學習用書。
圖書目錄
目錄
第1章 軟體成本度量及造價概論 1
1.1 軟體的地位和發展 1
1.1.1 軟體的定義 1
1.1.2 軟體的地位 9
1.1.3 軟體的發展 15
1.2 軟體成本度量及造價 20
1.2.1 軟體度量 20
1.2.2 軟體成本 24
1.2.3 軟體造價 27
1.2.4 實施意義 33
第2章 規模計數方法 36
2.1 功能點計數模型的發展和現狀 36
2.2 商務性軟體:IFPUG方法和模型 38
2.2.1 IFPUG功能點估算方法的由來 38
2.2.2 IFPUG方法的基本原理 38
2.2.3 IFPUG的具體計算方法 38
2.2.4 IFPUG方法的工作流程 40
2.3 一般軟體:NESMA方法和模型 42
2.3.1 NESMA背景及發展歷史 42
2.3.2 NESMA基本方法 43
2.3.3 NESMA主要的特點 44
2.4 嵌入式軟體:COSMIC-FFP方法和模型 45
2.4.1 COSMIC-FFP方法的起源與發展 45
2.4.2 COSMIC-FFP方法的基本原理 46
2.4.3 COSMIC-FFP方法的過程概述 47
2.5 非功能需求:SNAP方法和模型 48
2.5.1 SNAP方法的發展歷史 48
2.5.2 SNAP方法的目標及優點 49
2.5.3 SNAP方法概述 50
2.6 各規模計數方法的比較及套用範圍 51
2.6.1 功能需求規模計數 51
2.6.2 非功能需求規模計數 54
第3章 NESMA套用 57
3.1 FPA分析基本步驟 57
3.1.1 第一步:收集可用的需求文檔 57
3.1.2 第二步:確定軟體用戶 60
3.1.3 第三步:確定估算類型 61
3.1.4 第四步:識別功能部件並確定複雜度 64
3.1.5 第五步:與用戶驗證 65
3.1.6 第六步:與功能點專家驗證 65
3.2 指示功能點計數 65
3.2.1 內部邏輯檔案 66
3.2.2 外部接口檔案 68
3.2.3 FPA數據表 69
3.2.4 解規範化 71
3.2.5 指示功能點計數方法 75
3.3 估算功能點計數 76
3.3.1 基本過程 76
3.3.2 外部輸入 77
3.3.3 外部輸出 79
3.3.4 外部查詢 82
3.3.5 估算功能點計數方法 83
3.4 詳細功能點計數 83
3.4.1 確定相關參數 83
3.4.2 邏輯檔案的複雜度 86
3.4.3 外部輸入的複雜度 87
3.4.4 外部輸出的複雜度 87
3.4.5 外部查詢的複雜度 87
3.4.6 功能複雜度對照表 88
3.4.7 詳細功能點計數方法 88
3.5 通用計數規則 88
3.6 規模調整 97
3.6.1 通用系統調整因子 97
3.6.2 需求變更的調整因子 98
3.7 NESMA與IFPUG的區別 98
3.8 實踐經驗 100
3.8.1 需求的完整性補充 100
3.8.2 功能點規模的公平性 101
3.8.3 常見問題 101
3.9 案例分析 102
3.9.1 指示功能點計數 102
3.9.2 估算功能點計數 103
3.9.3 詳細功能點計數 105
第4章 SNAP套用 107
4.1 SNAP背景及基本概念 107
4.1.1 SNAP方法的背景 107
4.1.2 SNAP方法的基本概念 108
4.2 基本原理 110
4.3 SNAP方法計數規則 111
4.3.1 確定評估目的、範圍、邊界和分區 112
4.3.2 關聯類和子類並計算每個SCU的非功能規模 113
4.3.3 計算非功能規模 132
4.4 SNAP方法的套用 133
4.4.1 內部數據備份和數據傳送案例 133
4.4.2 用戶界面案例 134
第5章 COSMIC套用 136
5.1 COSMIC基本概念 136
5.2 功能性用戶需求的獲取 139
5.3 COSMIC的兩個基本模型 140
5.3.1 COSMIC 軟體環境模型 140
5.3.2 通用軟體模型 141
5.4 度量的基本過程 141
5.4.1 度量策略階段 143
5.4.2 映射階段 146
5.4.3 度量階段 148
5.5 COSMIC套用中存在的主要問題及解決方法 150
5.5.1 COSMIC套用中存在的主要問題 150
5.5.2 COSMIC套用中存在問題的解決方法 153
5.6 COSMIC方法的套用 155
5.6.1 COSMIC的套用場景 155
5.6.2 COSMIC套用案例分析 156
第6章 基準資料庫的建立及套用 160
6.1 背景及目的 160
6.2 功能點字典 162
6.2.1 功能點字典的概念 163
6.2.2 建立功能點字典的方法 163
6.2.3 功能點字典的套用 164
6.2.4 功能點字典的樣例 165
6.2.5 更新功能點字典 165
6.2.6 功能點字典的套用案例 165
6.3 測量元定義 166
6.3.1 定義測量元的基本方法 166
6.3.2 相關國際、國內標準 168
6.3.3 常用的度量元集 168
6.4 基準數據分析的方法 172
6.5 基準資料庫的建立 173
6.6 基準資料庫的維護更新 175
6.7 基準比對方法 176
6.7.1 基準比對方法發展現狀 176
6.7.2 基準比對方法對軟體企業的作用和意義 177
6.7.3 基準比對方法實施流程 179
6.8 基準資料庫的實例 180
6.8.1 ISBSG的基本情況和提供的服務 181
6.8.2 CSBSG的基本情況和提供的服務 182
6.8.3 SPIBSP的基本情況和提供的服務 183
第7章 工作量和工期估算 188
7.1 工作量估算概述 189
7.2 工作量估算原則 190
7.3 工作量估算準備 194
7.4 工作量估算方法 198
7.4.1 類推法 198
7.4.2 類比法 199
7.4.3 基於專家經驗的估算方法 202
7.4.4 WBS法 205
7.4.5 算法型估算方法 206
7.4.6 小結 231
7.5 工作量監控、測量與分析 232
7.5.1 工作量測量 233
7.5.2 工作量監控 234
7.5.3 工作量評價與改進 235
7.5.4 工作量驗證 235
7.5.5 小結 236
7.6 工期估算 236
7.6.1 工期估算的原則與要點 237
7.6.2 工期估算過程 237
7.6.3 工期估算技術 241
7.7 項目進度控制 245
7.7.1 進度跟蹤 245
7.7.2 里程碑進度 245
7.7.3 掙值法 246
7.7.4 進度偏差分析 249
7.7.5 分析結果套用 251
第8章 成本估算 252
8.1 軟體項目成本管理 252
8.1.1 軟體項目成本管理的基本概念 252
8.1.2 軟體項目成本管理過程 252
8.1.3 軟體項目特點 253
8.1.4 軟體項目成本估算特點 254
8.2 軟體成本定義及構成 254
8.2.1 直接人力成本 256
8.2.2 直接非人力成本 256
8.2.3 間接人力成本 256
8.2.4 間接非人力成本 257
8.3 軟體成本估算的一般過程 257
8.4 軟體研發成本常用估算方法 260
8.4.1 專家判斷法 260
8.4.2 類比法 260
8.4.4 功能點分析法 261
8.5 行業軟體成本估算模型 261
8.5.1 直接人力成本的估算 261
8.5.2 直接非人力成本的估算 262
8.5.3 間接人力成本的估算 263
8.5.4 間接非人力成本的估算 263
8.5.5 行業軟體研發成本估算模型 263
8.5.6 軟體成本估算過程 264
8.5.7 案例 266
8.6 成本測量 269
8.7 成本分析 270
8.8 數據套用 270
8.8.1 軟體成本估算常用的數據 271
8.8.2 企業自建基準 271
第9章 軟體造價分析 273
9.1 軟體產品及其價格的特點 274
9.1.1 軟體產品的特點 274
9.1.2 軟體定價的特點 275
9.2 影響軟體產品定價的主要因素 277
9.2.1 影響價格的內部因素 277
9.2.2 影響價格的外部因素 277
9.3 軟體產品的定價過程 278
9.4 軟體產品的定價方法 279
9.4.1 傳統的定價方法 279
9.4.2 SaaS定價方法 283
9.5 軟體產品的定價策略 283
9.5.3 捆綁定價策略 285
9.5.4 交叉補貼定價策略 286
9.5.5 免費使用策略 287
9.5.6 “歧視”定價策略 287
9.5.8 小結 289
第10章 行業實施規則及整體案例分析 290
10.1 預算場景 290
10.1.1 制定預算的依據 291
10.1.2 估算方法 291
10.1.3 上報預算 295
10.1.4 審批預算 295
10.1.5 套用示例 295
10.2 招/投標場景 297
10.2.1 套用範圍 297
10.2.2 招標 297
10.2.3 投標 298
10.2.4 案例分享 299
10.3 項目計畫場景 308
10.3.1 項目規模估算在制訂項目計畫中的作用 308
10.3.2 項目計畫場景下估算的特點 309
10.3.3 項目計畫場景下的估算要點 309
10.3.4 項目計畫場景下的估算案例 314
10.3.5 軟體計畫估算的戒律 315
10.4 項目管理場景下的估算 316
10.4.1 採用功能點方法進一步明確需求 317
10.4.2 在項目各階段對數據進行採集 317
10.4.3 軟體研發成本分析 319
10.5 項目結算場景下的估算 321
10.5.1 結算分類 321
10.5.2 項目結算估算方法 323
10.5.3 結算後數據的套用 327
附錄 329
參考文獻 336