內容簡介
本書是國家示範性軟體學院系列教材之一,是一部關於軟體項目管理的實用教材,全書以案例的形式,講述了軟體項目管理的全過程,並輔以一個貫穿始終的案例。本書向軟體項目管理人員傳授項目管理的理論、方法以及技巧。通過本書學習,讀者可以在短時間內掌握軟體項目管理的基本知識和實踐能力。本書適合高校計算機專業學生及軟體開發管理人員參考學習。
本書以案例的形式,講述了軟體項目管理的全過程,並輔以一個貫穿始終的案例。本書向軟體項目管理人員傳授項目管理的理論、方法以及技巧。通過本書學習,讀者可以在短時間內掌握軟體項目管理的基本知識和實踐能力。本書不僅覆蓋了PMBOK的主要內容而且強調了在軟體這個特殊的領域如何進行項目管理。本書系統地講述了軟體項目管理的實施過程,共分15章,取材新穎,注重實效,講授了軟體項目經理的主要工作、職責和權利。其中貫穿本書的核心是如何開發軟體項目計畫和如何進行軟體項目的跟蹤管理。本書綜合了多個學科領域,包括範圍計畫、成本計畫、時間計畫、質量計畫、變更計畫、風險計畫、度量計畫、溝通計畫等計畫的制定,以及項目實施過程中如何對項目進行跟蹤控制。本書注重理論與實際的結合,通過實際工作中的案例說明幫助讀者消化和理解所學的內容。
本書不僅覆蓋了PMBOK的9大知識領域,並且突出了軟體項目的特殊性,同時也包括了SW-CMM的有關項目管理過程域,是系統、全面、有針對性的軟體項目管理教材。本書有理論、有實踐、有案例,不僅可以作為高校軟體學院及相關專業的教材,而且也可作為專業技術人員學習軟體項目管理知識的參考書。
本書的特點如下:
·內容全面系統:不僅覆蓋了EMBOK的主要內容,而且強調了在軟體這個特殊領域如何進行項目管理:同時,本書全面系統地講述了軟體項目管理的全過程。
·結合國內實際: 北京郵電大學軟體學院是國家教育部批准成立的第一批軟體學院,經過幾年的研究和實踐,積累了許多經驗。本書由軟體學院院長宋茂強教授主審,韓萬江、姜立新編著,是一本結合國內教學實際、匯集大量實踐經驗的心血之作。
·實踐性強: 採用案例形式來描述軟體項目管理的全過程,以一個完整的案例貫穿全書,通過實際工作中的案例說明幫助讀者消化和理解所學的內容,迅速提高實用能力。
·為教師配有電子教案: 利用本書為教師配備的電子教案,可以減輕教師負擔,提高教學質量。
編輯推薦
本書是國家示範性軟體學院系列教材之一,是一部關於軟體項目管理的實用教材,全書以案例的形式,講述了軟體項目管理的全過程,並輔以一個貫穿始終的案例。本書向軟體項目管理人員傳授項目管理的理論、方法以及技巧。通過本書學習,讀者可以在短時間內掌握軟體項目管理的基本知識和實踐能力。本書適合高校計算機專業學生及軟體開發管理人員參考學習。
進入21世紀,人類社會進入了信息經濟時代,信息技術已成為所有高新技術發展的支撐技術。同時,信息技術及網路的高速發展,極大地推動了社會、經濟的進步和人的思想、觀念、文化的變革。其中最為顯著的變化是推動了經濟的全球化;反過來,經濟的全球化又對信息技術及網路提出了更高的要求。 在信息技術中,硬體技術的進步往往容易引起人們的重視和興趣,而軟體技術往往不被人們關注。20世紀微軟公司等國際大型企業將軟體技術的開發、生產和套用推向了高峰並使軟體技術首次超越了硬體技術引起世人的關注。
目錄
序
前言
第1章 項目管理與軟體項目管理 1
1.1 項目與軟體項目 1
1.1.1 項目及其特徵 1
1.1.2 項目群與項目、項目與子項目 的關係 2
1.1.3 軟體項目 3
1.1.4 軟體項目要素組成 3
1.1.5 實現項目目標的制約因素 3
1.2 項目管理 4
1.2.1 項目管理背景 4
1.2.2 項目管理定義 5
1.2.3 項目管理主要內容 6
1.2.4 軟體項目管理的特徵及重要性 6
1.3 項目管理知識體系 7
1.4 項目管理的範圍 10
1.4.1 項目管理的五要素 10
1.4.2 從戰術看 11
1.4.3 從戰略看 11
1.5 過程管理與軟體項目管理的關係 12
.1.5.1 軟體過程定義 12
1.5.2 過程管理在軟體項目中的作用 13
1.5.3 過程管理與項目管理的關係 14
1.6 軟體項目管理過程 14
1.6.1 項目啟動 15
1.6.2 項目規劃 15
1.6.3 項目跟蹤控制 15
1.6.4 項目結束 16
1.7 本書的組織結構 16
1.8 小結 16
1.9 習題 17
第2章 軟體項目契約管理 18
2.1 契約管理概述 18
2.2 需方契約環境 20
2.2.1 契約準備 20
2.2.2 契約簽署 22
2.2.3 契約管理 23
2.2.4 契約終止 24
2.3 供方契約環境 24
2.3.1 契約準備 25
2.3.2 契約簽署 26
2.3.3 契約管理 26
2.3.4 契約終止 29
2.4 企業內部契約環境 29
2.5 案例分析 29
2.6 小結 36
2.7 習題 37
第3章 軟體項目生存期模型 38
3.1 軟體項目生存期模型定義 38
3.1.1 生存期的定義 39
3.1.2 生存期的重要性 40
3.1.3 生存期模型 40
3.2 瀑布模型 41
3.2.1 定義 41
3.2.2 特點 41
3.2.3 使用指南 41
3.2.4 適合的項目類型 42
3.3 v型模型 42
3.3.1 定義 42
3.3.2 特點 42
3.3.3 使用指南 43
3.3.4 適合的項目類型 43
3.4 原型模型 43
3.4.1 定義 43
3.4.2 特點 43
3.4.3 使用指南 44
3.4.4 適合的項目類型 44
3.5 增量式模型 44
3.5.1 定義 44
3.5.2 特點 45
3.5.3 使用指南 45
3.5.4 適合的項目類型 45
3.6 螺旋式模型 45
3.6.1 定義 45
3.6.2 特點 45
3.6.3 使用指南 46
3.6.4 適合的項目類型 46
3.7 快速套用開發模型 46
3.7.1 定義 47
3.7.2 特點 47
3.7.3 使用指南 47
3.7.4 適合的項目類型 48
3.8 漸進式階段模型 48
3.8.1 定義 49
3.8.2 特點 49
3.8.3 使用指南 49
3.8.4 適合的項目類型 50
3.9 其他模型說明 50
3.10 案例說明 50
3.11 小結 54
3.12 習題 54
第4章 軟體項目需求管理 55
4.1 軟體項目需求概述 55
4.1.1 需求定義 56
4.1.2 需求類型 57
4.1.3 需求管理的重要性 57
4.2 需求管理過程 58
4.2.1 需求獲取 59
4.2.2 需求分析 60
4.2.3 需求規格 61
4.2.4 需求驗證 64
4.2.5 需求變更 65
4.2.6 需求管理與項目管理的關係 67
4.3 需求建模的基本方法 68
4.3.1 原型分析方法 68
4.3.2 結構化分析方法 68
4.3.3 用例分析方法 71
4.3.4 功能列表方法 79
4.3.5 其他方法 81
4.4 案例說明 81
4.5 小結 84
4.6 習題 84
第5章 軟體項目任務分解 85
5.1 任務分解定義 86
5.2 任務分解的類型 86
5.2.1 清單類型 86
5.2.2 圖表類型 87
5.3 任務分解的過程 87
5.3.1 基本步驟 88
5.3.2 分解的標準 89
5.3.3 分解結果的檢驗 90
5.4 任務分解的注意事項 90
5.5 任務分解的意義 91
5.6 案例說明 91
5.7 小結 92
5.8 習題 92
第6章 軟體項目規模成本估算 93
6.1 關於估算的概念 93
6.1.1 項目規模與成本的關係 94
6.1.2 成本估算的定義 94
6.1.3 規模成本估算的目標 94
6.2 估算的過程 95
6.2.1 估算輸入 95
6.2.2 估算處理 96
6.2.3 估算輸出 96
6.3 估算的方法 96
6.3.1 代碼行、功能點及對象點 96
6.3.2 類比估算法 100
6.3.3 自下而上估算法 100
6.3.4 參數估算法 100
6.3.5 專家估算法 102
6.3.6 猜測估算法 102
6.4 估算方法綜述 102
6.5 估算的誤差度 104
6.5.1 估算的準確度 104
6.5.2 估算不準的主要原因 104
6.5.3 對付估算誤差的方法 105
6.6 案例說明 106
6.7 小結 108
6.8 習題 108
第7章 軟體項目進度計畫 109
7.1 項目進度中的基本概念 109
7.1.1 軟體項目進度定義 110
7.1.2 軟體活動定義 110
7.1.3 活動之間的關係 110
7.1.4 活動之間關係的依據 111
7.2 進度管理圖示 111
7.2.1 網路圖 111
7.2.2 甘特圖 113
7.2.3 里程碑圖 114
7.2.4 資源圖 115
7.3 項目進度估算 115
7.3.1 基於規模的進度估算 116
7.3.2 工程評價技術 117
7.3.3 關鍵路徑法 118
7.3.4 專家估算方法 119
7.3.5 類推估算方法 119
7.3.6 模擬估算方法 119
7.3.7 進度表估算方法 119
7.3.8 基於承諾的進度估算方法 123
7.3.9 jones的一階估算準則 123
7.4 進度計畫編制 123
7.4.1 關鍵路徑法(cpm) 123
7.4.2 時間壓縮法 128
7.4.3 資源調整嘗試法 130
7.4.4 成本預算 131
7.4.5 項目管理軟體 131
7.4.6 項目進度計畫的最佳化 131
7.4.7 漸進式的項目計畫 131
7.5 案例說明 132
7.6 小結 137
7.7 習題 137
第8章 軟體項目質量計畫 138
8.1 質量概述 138
8.1.1 軟體質量 139
8.1.2 軟體質量與硬體質量的比較 140
8.1.3 軟體質量的重要性 141
8.1.4 軟體質量管理的發展過程 141
8.2 質量管理過程 141
8.2.1 軟體項目的質量計畫 142
8.2.2 質量保證 142
8.2.3 質量控制 145
8.2.4 質量保證與質量控制的關係 149
8.3 質量成本 149
8.4 質量計畫制定 150
8.4.1 質量計畫的要求 150
8.4.2 質量計畫的編寫 151
8.4.3 軟體質量改善的建議 152
8.5 質量體系 153
8.6 案例說明 154
8.7 小結 157
8.8 習題 158
第9章 軟體項目配置管理計畫 159
9.1 軟體配置管理概述 159
9.1.1 配置管理定義 160
9.1.2 配置管理的目標 160
9.1.3 配置管理在軟體開發中的作用 161
9.2 配置管理的相關概念 162
9.2.1 配置項 162
9.2.2 基線 163
9.2.3 配置控制委員會 164
9.3 配置管理過程 164
9.3.1 配置項標識、跟蹤 165
9.3.2 配置管理環境的建立 166
9.3.3 基線變更管理 168
9.3.4 配置審核 171
9.3.5 配置狀態統計 172
9.3.6 配置管理的其他作用 172
9.4 配置管理工具 174
9.5 配置管理計畫 175
9.5.1 配置管理計畫過程 175
9.5.2 配置管理計畫的主要內容 175
9.5.3 配置管理建議 176
9.6 案例說明 177
9.7 小結 180
9.8 習題 180
第10章 軟體項目風險管理計畫 181
10.1 軟體項目風險管理概述 181
10.1.1 風險概念 182
10.1.2 風險類型 183
10.1.3 風險的基本性質 184
10.1.4 風險管理概述 184
10.1.5 風險管理的意義 185
10.2 風險識別 185
10.2.1 概念 186
10.2.2 德爾菲方法 186
10.2.3 頭腦風暴法 186
10.2.4 情景分析法 187
10.2.5 風險條目檢查表 187
10.2.6 其他方法 193
10.2.7 風險識別的結果 193
10.3 風險評估 194
10.3.1 概念 194
10.3.2 定性風險評估 194
10.3.3 定量風險評估 195
10.3.4 風險分析結果表 197
10.4 風險規劃 199
10.4.1 概念 199
10.4.2 迴避風險 199
10.4.3 轉移風險 199
10.4.4 損失控制 200
10.4.5 自留風險 200
10.4.6 風險規劃結果 200
10.5 風險控制 201
10.6 風險管理的建議 201
10.7 案例說明 202
10.8 小結 202
10.9 習題 202
第11章 軟體項目團隊管理 203
11.1 軟體項目團隊管理概述 203
11.1.1 團隊定義 204
11.1.2 團隊管理意義 204
11.1.3 團隊管理過程 204
11.2 項目經理確定 205
11.2.1 項目經理定義 205
11.2.2 項目經理的角色 205
11.2.3 項目經理的職責 205
11.2.4 項目經理的權利 205
11.2.5 項目經理的能力 206
11.2.6 項目經理的政治環境 206
11.2.7 項目經理的職業道德 207
11.3 項目組織形式 208
11.3.1 組織結構定義 208
11.3.2 職能型組織結構 208
11.3.3 項目型組織結構 209
11.3.4 矩陣型組織結構 210
11.4 團隊建設 212
11.4.1 選擇人員 212
11.4.2 項目成員的培訓 214
11.4.3 項目成員的激勵 214
11.4.4 團隊管理的方法 217
11.5 溝通管理 218
11.5.1 項目溝通管理概述 219
11.5.2 項目溝通的方式 219
11.5.3 編制項目溝通計畫 219
11.6 案例說明 220
11.7 小結 221
11.8 習題 222
第12章 軟體項目度量管理 223
12.1 軟體度量概述 224
12.1.1 度量定義 224
12.1.2 度量的類型 225
12.1.3 度量的作用 225
12.1.4 度量的成本 226
12.2 度量體系 226
12.3 度量技術 227
12.3.1 gqm技術 227
12.3.2 psm技術 228
12.4 度量管理過程 229
12.4.1 標識目標 229
12.4.2 選擇度量指標 229
12.4.3 定義數據收集 230
12.4.4 分析度量 231
12.4.5 改進度量過程 232
12.5 度量計畫 232
12.5.1 度量計畫的構成 232
12.5.2 度量計畫的實施 234
12.6 度量指標選擇 235
12.6.1 psm信息分類組 235
12.6.2 sei度量指標 237
12.6.3 psp度量 240
12.6.4 sel的度量指標 241
12.7 軟體度量的建議 242
12.8 案例說明 243
12.9 小結 244
12.10 習題 244
第13章 軟體項目集成計畫 245
13.1 軟體項目的集成管理 245
13.2 項目集成計畫 246
13.3 案例分析 252
13.4 小結 259
13.5 習題 259
第14章 軟體項目跟蹤控制 260
14.1 項目跟蹤控制 260
14.1.1 項目跟蹤控制概念 261
14.1.2 項目跟蹤控制的範圍 262
14.1.3 項目跟蹤控制的重要性 263
14.1.4 項目跟蹤控制的標準 263
14.2 建立項目跟蹤控制的標準 264
14.3 建立項目監控和報告體系 264
14.3.1 跟蹤採集的過程 264
14.3.2 建立跟蹤採集對象 265
14.4 項目跟蹤控制過程 265
14.4.1 項目範圍的跟蹤控制 265
14.4.2 項目進度、成本(資源)的跟蹤控制 266
14.4.3 項目質量的跟蹤控制 275
14.4.4 項目風險的跟蹤控制 277
14.4.5 其他方面的監控 278
14.4.6 利用工具分析項目性能 279
14.5 項目評審 279
14.5.1 項目評審概述 279
14.5.2 評審準備 280
14.5.3 評審過程 280
14.5.4 評審報告過程 281
14.5.5 問題跟蹤列表 282
14.6 項目計畫修改 283
14.7 案例分析 283
14.8 小結 287
14.9 習題 288
第15章 軟體項目結束過程 289
15.1 項目結束概述 289
15.1.1 項目終止 289
15.1.2 項目成功與失敗的標準 290
15.1.3 項目關閉必須完成的任務 290
15.2 項目結束過程 290
15.2.1 項目結束計畫 290
15.2.2 項目收尾的內容 290
15.2.3 項目最後評審 291
15.2.4 項目總結 291
15.3 項目管理過程總結 291
15.4 項目管理的建議 292
15.5 案例分析 293
15.6 小結 295
15.7 習題 295
結束語 296
附錄 pmbok的9個知識領域簡介 297
參考文獻 302
前言
隨著信息技術的飛速發展,軟體產品的規模也越來越龐大,各軟體企業都在積極將軟體項目管理引入到開發活動中,對軟體項目實行有效的管理。軟體項目管理是為了使軟體項目能夠按照預定的成本、進度、質量順利完成而進行分析和管理的活動。另外,進行軟體項目管理有利於將個人開發能力轉化成企業的開發能力,企業的軟體開發能力越高,表明這個企業的軟體生產越趨向於成熟,企業越能夠穩定發展。
軟體項目管理的提出是在20世紀70年代中期的美國,當時美國國防部專門研究了軟體開發不能按時提交、預算超支和質量達不到用戶要求的原因,結果發現70%的項目出現問題是因為管理不善引起的,而非技術原因。於是,軟體開發者開始逐漸重視軟體開發中的各項管理。到了20世紀90年代中期,軟體項目管理不善的問題仍然存在。軟體項目管理和其他的項目管理相比有相當的特殊性。首先,軟體是純知識產品,其開發進度和質量很難估計和度量,生產效率也難以預測和保證。其次,軟體系統的複雜性也導致了開發過程中各種風險的難以預見和控制。因此,項目管理對軟體生產具有決定性的意義。特別是在當今的軟體項目中,項目管理的質量與軟體產品的質量有著直接的對應關係。因此,提高項目管理的能力對於軟體組織生產力的提高是極為重要的。
軟體項目超進度超預算的例子舉不勝舉,而且低質量的軟體也名聲在外。其重要的原因是沒有有效的軟體管理過程,項目開發過程基本是依賴於個人的能力,而不是企業的能力,如果軟體企業建立了良好的軟體項目管理體系,人員得到了良好的培訓,那么軟體質量將會得到保證,可以通過提高項目管理水平來提高軟體產品的質量,這是不依賴於個人的能力,而依賴於企業的能力的。項目管理是一門藝術,它平衡了相互衝突的目標,管理了風險,克服了各種限制,以便成功地完成滿足投資者和用戶需要的軟體。
本書結合當今軟體項目管理的實際情況和積累多年的實踐經驗,同時也注意與理論的結合,對軟體項目管理進行了系統的總結。本書是一本系統的、有針對性的、具有實效性的書籍,對於從事軟體項目的各類人員以及所有項目管理者,都會起到非常好的借鑑作用。
韓萬江
序言
進入21世紀,人類社會進入了信息經濟時代,信息技術已成為所有高新技術發展的支撐技術。同時,信息技術及網路的高速發展,極大地推動了社會、經濟的進步和人的思想、觀念、文化的變革。其中最為顯著的變化是推動了經濟的全球化;反過來,經濟的全球化又對信息技術及網路提出了更高的要求。
在信息技術中,硬體技術的進步往往容易引起人們的重視和興趣,而軟體技術往往不被人們關注。20世紀微軟公司等國際大型企業將軟體技術的開發、生產和套用推向了高峰並使軟體技術首次超越了硬體技術引起世人的關注。傳統的軟體開發、生產一直是依賴軟體開發者的個體勞動,沒有形成工業化的生產,從而制約了軟體業的發展,也影響了信息技術的發展。尤其是軟體的開發進度、質量和成本、風險的控制都是軟體業的軟肋。
軟體項目管理技術的產生正是為了解決這一問題。近年來出現了許多有關軟體項目管理技術的研究報告和專業書籍,它們都從不同的領域和角度對軟體項目管理進行了介紹。我國的軟體產業起步比較晚,相比世界先進國家有較大差距,甚至和印度相比也有不小的差距。在軟體開發的水平、軟體產品的大規模高速高質量生產、軟體產品的出口等方面,我國都是後進者。究其原因在於我國缺乏大批高質量的專業軟體人才,尤其是缺乏高水平的軟體業管理人才和掌握專業技能的軟體產業工人。專業的軟體產業人才的教育培養是中國軟體業乃至信息業的當務之急。兩年前,在國家教育部的領導下,一些大學成立了軟體學院,開展軟體專業人才的培養。但是,大學的教材幾乎都是國外教材的翻譯或改編,從國外引進教材無疑是一條捷徑,可以吸收別人的成果避免走彎路,站在巨人的肩膀上前進。但是,國外的教材總是缺乏結合國內實際的內容,這是困擾我國軟體專業人才培養的難題。
北京郵電大學軟體學院是教育部批准成立的第一批軟體學院,經過幾年的研究和實踐,積累了許多經驗。將這些經驗和成果積集成書,教授給學生,無疑對我國軟體業的發展具有重要意義。本書由北京郵電大學軟體學院院長宋茂強教授主審,韓萬江、姜立新編著,描述了軟體項目管理的全過程,以一個完整的案例貫穿全書,將軟體項目管理的理論、方法、技巧綜合在一起。讀者在學習本書時有如身歷其境,通過對案例的分析、實驗、討論,能很好掌握軟體項目管理的各種知識和技巧。本書是目前比較優秀的一本軟體項目管理教材。全書深入淺出、圖文並茂,每章後面都附有習題,便於讀者掌握本章的內容,同時,本書的結構和內容適應面寬,可供不同層次的讀者從中選擇自己所需的知識。
期望本書的出版能對我國軟體專業人才的培養發揮其應有的作用!
北京郵電大學經濟管理學院
教授/博導 舒華英
2004年10月29日