本書首先介紹了項目管理的有關概念和知識體系,并根據(jù)軟件和軟件項目的特點,介紹了軟件項目管理的基本知識體系和管理內容。接著按照軟件項目初始、項目計劃、項目執(zhí)行控制、項目結束的四個階段,全面地闡述了軟件項目管理的知識體系。詳細講解了項目初始、項目計劃、項目范圍管理、進度管理、質量管理、成本管理、風險管理、團隊與溝通管理、配置管理、項目過程跟蹤控制、項目結束、項目管理工具的使用。后以CMMI4級的企業(yè)實際項目為案例,講述真實企業(yè)級的軟件項目管理,使學生理解、掌握項目管理在項目實施過程中的應用。本書注重理論與實際的結合,條理清晰、語言流暢、通俗易懂、內容豐富、具體實用,適合作為高等學校軟件工程專業(yè)、計算機軟件專業(yè)和其他相關專業(yè)的教材,也適合作為其他各類軟件工程技術管理人員的參考書。
本書第一版列選為高等學校計算機類課程應用型人才培養(yǎng)規(guī)劃教材,第二版列選為河南省十二五普通高等教育規(guī)劃教材。
本書第一版自2014年8月出版,迄今已有3年,許多高校的計算機專業(yè)和軟件工程專業(yè)采用該版書作為本科生軟件項目管理課程的教材,得到了廣大師生的好評。為了更好地滿足讀者的需要,編者對原教材進行了重新修訂。
項目管理是在一定的約束條件下,以高效率地實現(xiàn)項目目標為目的,以項目經(jīng)理個人負責制為基礎和以項目為獨立實體進行經(jīng)濟核算,并按照項目內在的邏輯規(guī)律進行有效計劃、組織、協(xié)調、控制的系統(tǒng)管理活動。軟件項目管理涉及的范圍覆蓋了整個軟件工程過程,使軟件項目整個軟件生命周期能在管理者的控制之下,使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。學習研究軟件項目管理是從已有的成功或失敗的案例中總結出能夠指導今后開發(fā)的通用原則、方法,避免前人的失誤。軟件工程及計算機相關專業(yè)畢業(yè)生需要扎實的理論基礎,同時也需要較多的實踐經(jīng)驗和技能。
第二版在第一版的基礎上,根據(jù)軟件項目管理思想和技術的新發(fā)展,總結了軟件項目管理實踐過程和教學中的經(jīng)驗教訓,本著從應用出發(fā),兼顧原理和方法的原則,整合了第一版的章節(jié)結構,保留了第一版的精華部分,刪除了不適宜部分,同時增加了新知識、新技術。
第二版按照軟件項目管理的四個階段,即軟件項目初始、項目計劃、項目執(zhí)行控制、項目結束,全面講述軟件項目管理的基本概念、基本思想和基本方法,對項目初始、項目計劃、項目范圍管理、進度管理、質量管理、成本管理、風險管理、團隊與溝通管理、配置管理、項目過程跟蹤控制、項目結束等內容進行深入講解。在第一版的基礎上,第1章增加了項目管理的知識體系,并將第一版的第4章作為第二版第1章的一小節(jié),概要介紹了常用的軟件過程模型及各種模型的特點,使讀者更全面地從整體上了解項目管理的概念;將第一版的第5章需求開發(fā)管理與第6章任務分解整合為一章范圍管理;第一版的第7章成本管理增加了一個案例,通過案例使讀者更好地理解掌握成本估算及成本控制的方法;第9章團隊與溝通管理增加了軟件開發(fā)團隊的穩(wěn)定性和團隊管理的常見問題及實踐經(jīng)驗兩小節(jié);增加了項目結束這一章;第13章項目管理工具,增加了軟件項目管理工具SVN的使用。
本書由劉鳳華、羅菁任主編,趙一丁、楊關、任秀枝任副主編,鄭人杰主審。具體編寫分工:第1、2、3、4、5章由羅菁編寫,第6章由楊關編寫,第7、8章由劉鳳華編寫,第9、11、13章由趙一丁編寫,第10章由楊關、賈曉輝編寫,第12章由賈曉輝編寫,第14章由任秀枝編寫。
在本書的編寫過程中,得到了中原工學院計算機學院、中原工學院教務處的支持和指導。我們在此表示衷心的感謝!
由于軟件項目管理覆蓋面寬,發(fā)展迅速,編者水平有限,書中疏漏與不妥之處在所難免,懇請專家及讀者提出寶貴意見。
編 者
2017年7月
劉鳳華:碩士研究生,現(xiàn)任教于中原工學院教授,從事軟件工程專業(yè)教學,主持參與多項省部級科研項目,發(fā)表論文40余篇。其中主持的河南省科技攻關項目基于Internet的服裝虛擬企業(yè)獲河南省教育廳科技進步二等獎,主持的教改項目軟件工程專業(yè)工程化培養(yǎng)模式及方案的研究與探索獲河南省教學成果二等獎,2010年河南省教學標本,同年獲河南省教學技能比賽一等獎。
第1章 緒論 1
1.1 項目與項目管理 2
1.1.1
項目 2
1.1.2
項目管理的概念 2
1.1.3
項目管理范圍 3
1.1.4
項目管理的知識體系 4
1.2 軟件項目與軟件項目管理 5
1.2.1
軟件項目定義 5
1.2.2
軟件項目分類 5
1.2.3
軟件項目管理的內容和目的 6
1.2.4
軟件項目管理原則 7
1.3 過程管理 8
1.3.1
軟件過程 8
1.3.2
過程管理與項目管理 9
1.4 軟件開發(fā)過程模型 9
1.4.1
瀑布模型 10
1.4.2
螺旋模型 10
1.4.3
變換模型 11
1.4.4
噴泉模型 12
1.4.5
快速原型模型 12
1.4.6
增量模型 13
1.4.7
基于構件的開發(fā)模型 14
1.4.8
XP方法 14
1.4.9
統(tǒng)一過程 15
1.5 軟件項目管理過程 18
小結 20
習題 21
第2章 項目初始 22
2.1 定制型軟件項目初期工作
22
2.1.1
招標過程 23
2.1.2
投標過程 24
2.2 通用型商業(yè)軟件項目初期工作
26
2.2.1
立項建議 27
2.2.2
軟件項目可行性研究 28
2.2.3
立項評審 29
2.3 項目啟動 31
2.3.1
初始活動 31
2.3.2
軟件項目經(jīng)理的初始活動 34
2.3.3
制定項目章程 34
小結 37
習題 37
第3章 軟件項目開發(fā)計劃 38
3.1 軟件項目開發(fā)計劃編制方針
38
3.2 軟件項目開發(fā)計劃內容 40
3.3 軟件項目開發(fā)計劃制訂過程
43
3.3.1
項目估計主要步驟 44
3.3.2
制訂軟件項目開發(fā)計劃的主要步驟 46
3.3.3
審批軟件項目開發(fā)計劃的步驟 47
3.3.4
軟件項目開發(fā)計劃變更控制 48
3.4 軟件項目開發(fā)計劃中的常見問題 48
3.5 制訂軟件項目開發(fā)計劃的經(jīng)驗技巧 49
小結 51
習題 52
第4章 范圍管理 53
4.1 軟件范圍管理和需求管理
54
4.1.1
軟件范圍管理的概念 54
4.1.2
軟件需求管理過程 54
4.2 需求獲取 55
4.2.1
需求的來源 55
4.2.2
需求獲取方式 55
4.3 需求分析 56
4.3.1
原型分析法 57
4.3.2
結構化分析方法 58
4.3.3
面向對象的分析技術 59
4.3.4
用例建模 61
4.4 需求描述 63
4.4.1
需求描述的方法 63
4.4.2
需求描述的范圍 63
4.5 需求驗證 65
4.5.1
需求驗證的任務 65
4.5.2
需求評審 67
4.5.3
需求測試 68
4.6 需求管理 69
4.6.1
需求管理的內容 69
4.6.2
需求分析人員組織 69
4.6.3
需求變更控制 70
4.6.4
版本控制 72
4.6.5
需求跟蹤 73
4.7 任務分解 74
4.7.1
WBS的定義 74
4.7.2
創(chuàng)建WBS的方法 76
4.7.3
WBS的分解原則及基本要求 76
4.7.4
WBS的分解方法 77
4.7.5
創(chuàng)建WBS的過程 78
4.7.6
處理經(jīng)驗 79
4.7.7
工作分解結構在開發(fā)各階段的應用 81
小結 84
習題 84
第5章 進度管理 85
5.1 軟件項目進度管理概述 85
5.2 項目活動的定義 86
5.2.1
定義活動 86
5.2.2
活動間的順序關系 87
5.2.3
活動間的依賴關系 88
5.3 項目活動排序 88
5.3.1
甘特圖 89
5.3.2
網(wǎng)絡圖 90
5.3.3
里程碑圖 91
5.4 進度計劃編制 92
5.4.1
關鍵路徑法 92
5.4.2
PERT技術 97
5.4.3
進度壓縮 100
5.4.4
資源平衡 103
5.4.5
編制進度計劃工作的結果 104
5.5 項目進度控制 105
小結 109
習題 109
第6章 質量管理 111
6.1 軟件質量概述 112
6.1.1
質量與質量管理的概念 112
6.1.2
軟件質量 113
6.1.3
軟件質量的模型 117
6.2 軟件質量管理過程 119
6.2.1
軟件質量管理 119
6.2.2
質量計劃 120
6.2.3
質量保證 123
6.2.4
質量控制 126
6.3 質量計劃編寫 129
6.3.1
質量計劃要求 129
6.3.2
軟件質量計劃編寫 130
6.4
ISO 9000質量體系 130
6.4.1
ISO 9000質量體系基本概念 131
6.4.2
ISO 9000質量體系八項質量管理原則 132
6.4.3
獲取ISO 9000認證的程序 134
6.5 軟件能力成熟度集成模型CMMI
134
6.5.1
CMMI基本概念 135
6.5.2
CMMI的過程域 135
6.5.3
CMMI的兩種表示法 137
6.5.4
CMMI階段式表示法 137
6.5.5
CMMI連續(xù)式表示法 139
6.5.6
CMMI的實施流程 142
6.5.7
CMMI評估 143
小結 146
習題 146
第7章 成本管理 147
7.1 成本管理定義 148
7.1.1
成本定義 148
7.1.2
成本管理概述 150
7.2 項目資源計劃 151
7.2.1
資源計劃過程的輸入 151
7.2.2
資源計劃編制方法 152
7.2.3
資源計劃過程的輸出 153
7.3 項目成本估算 153
7.3.1
項目成本估算概述 153
7.3.2
軟件項目成本估算步驟 154
7.3.3
軟件項目估算策略 155
7.3.4
軟件項目成本估算方法 156
7.4 項目成本預算 162
7.4.1
成本預算概述 162
7.4.2
項目成本預算的步驟 163
7.4.3
項目成本預算的結果 164
7.4.4
項目計劃的優(yōu)化 167
7.5 項目成本控制 170
7.5.1
項目成本控制的概念 170
7.5.2
項目成本控制的依據(jù)和方法 170
7.5.3
項目成本控制原則 171
7.6 項目成本管理實踐 172
7.6.1
軟件項目成本管理存在的問題 172
7.6.2
軟件項目成本管理對策 173
小結 178
習題 178
第8章 風險管理 179
8.1 風險管理概述 179
8.1.1
風險的定義 180
8.1.2
風險管理 182
8.1.3
風險管理經(jīng)典模型 182
8.2 風險識別 187
8.2.1
風險識別的重要性 188
8.2.2
風險識別的方法和工具 188
8.3 風險分析 190
8.3.1
風險分析流程 191
8.3.2
風險估計 191
8.3.3
風險評價 193
8.4 風險應對 194
8.4.1
風險回避 194
8.4.2
風險接受 195
8.4.3
風險轉移 195
8.4.4
風險緩解 195
8.4.5
風險應對措施 196
8.5 風險控制 197
8.5.1
項目風險控制的概念 197
8.5.2
項目風險控制的目標和依據(jù) 198
8.5.3
項目風險控制的步驟和內容 199
小結 203
習題 203
第9章 團隊與溝通管理 204
9.1 相關概念 205
9.1.1
軟件項目團隊管理的概念 205
9.1.2
軟件項目團隊管理的任務 205
9.1.3
團隊管理的過程 205
9.2 項目組織結構設計 206
9.2.1
項目組織結構定義 206
9.2.2
軟件項目的人員組成 209
9.2.3
項目角色與職責分配過程 211
9.2.4
責任矩陣 211
9.3 團隊建設 212
9.3.1
人員選擇 213
9.3.2
項目成員的培訓 214
9.3.3
項目成員的激勵 214
9.3.4
團隊管理 217
9.4 組織計劃編制 218
9.5 溝通管理 218
9.5.1
項目溝通管理概述 218
9.5.2
項目信息傳遞方式與渠道 219
9.5.3
項目管理中的溝通障礙 220
9.5.4
有效溝通的方法和途徑 220
9.5.5
項目溝通計劃的編制 221
9.6 如何保持軟件開發(fā)團隊的穩(wěn)定性 222
9.7 團隊管理的常見問題及實踐經(jīng)驗 224
小結 228
習題 228
第10章 配置管理 229
10.1
相關概念 230
10.1.1
配置管理概述 230
10.1.2
配置數(shù)據(jù)庫 231
10.1.3
配置管理的主要功能 231
10.2
配置管理計劃 232
10.3
配置識別與建立基線 232
10.3.1
識別配置項 232
10.3.2
配置管理系統(tǒng) 233
10.3.3
配置庫 234
10.3.4
創(chuàng)建或發(fā)行基線 235
10.4
變更管理 235
10.4.1
變更控制委員會 236
10.4.2
變更請求與變更控制 236
10.4.3
變更記錄 237
10.4.4
版本管理 237
10.5
配置審核 237
10.6
配置管理實施 238
10.6.1
配置狀態(tài)報告 238
10.6.2
角色職責 238
10.6.3
配置管理流程 239
10.7
工作空間管理與軟件集成 243
10.7.1
工作空間管理 243
10.7.2
軟件集成 243
10.7.3
源代碼服務器 244
10.7.4
源代碼管理原則 244
10.7.5
生成計算機 245
10.7.6
Bug數(shù)據(jù)庫 245
10.7.7
代碼集成 245
10.8
配置管理工具 247
小結 249
習題 249
第11章 項目過程跟蹤控制 250
11.1
跟蹤控制概論 250
11.1.1
跟蹤控制的定義 250
11.1.2
跟蹤控制的范圍 251
11.2
建立跟蹤控制的標準 251
11.3
項目跟蹤采集的過程 252
11.4
跟蹤控制過程 252
11.4.1
開發(fā)范圍跟蹤控制 252
11.4.2
項目進度及成本控制 252
11.4.3
質量跟蹤控制 255
11.4.4
風險跟蹤控制 256
11.