軟件項目管理是軟件工程和項目管理的交叉學科,是項目管理的原理和方法在軟件工程領域的應用。本書分為基礎篇、管理篇和實踐篇;A篇介紹了軟件產(chǎn)業(yè)和軟件項目管理導論,使讀者從整體上了解軟件項目管理的產(chǎn)生背景和概貌。管理篇以項目管理知識體系(PMBOK)為核心,圍繞著軟件項目的開發(fā)全過程,從軟件項目需求管理、軟件項目成本管理、軟件項目進度管理、軟件項目風險管理、軟件項目配置管理、軟件項目資源管理、軟件項目質量管理等方面對軟件項目中的管理問題進行探討。實踐篇將需求管理、成本管理、進度管理、風險管理、配置管理、資源管理和質量管理等相對獨立的領域融合在軟件過程框架中,介紹了在軟件項目實踐中如何集中使用相關理論和技術。其中包括Rational統(tǒng)一過程、敏捷軟件開發(fā)和6σ軟件開發(fā)。
本書可作為高等學校信息、軟件、計算機科學與技術等專業(yè)的學生的教材,也可供從事軟件項目管理工作的人員參考。
第2版前言
軟件及信息產(chǎn)業(yè)的發(fā)展將帶動傳統(tǒng)產(chǎn)業(yè)的發(fā)展與改造,促進國民經(jīng)濟持續(xù)、健康地發(fā)展,增強國際競爭力。因而,軟件產(chǎn)業(yè)快速、良性的發(fā)展具有重要意義。早在2001年,我國政府就明確提出“力爭在2010年使我國軟件產(chǎn)業(yè)的研究開發(fā)和生產(chǎn)能力達到或接近國際先進水平”。2009年國務院通過的《電子信息產(chǎn)業(yè)調整振興規(guī)劃》更是把“提高軟件產(chǎn)業(yè)自主發(fā)展能力”確定為振興我國電子信息產(chǎn)業(yè)的三大重點任務之一。
20世紀60年代,軟件和硬件之間的發(fā)展的不平衡導致的軟件危機的產(chǎn)生,也是軟件產(chǎn)業(yè)面臨的一個亟待解決的難題,隨著科學的進步和軟件開發(fā)技術的逐步成熟,管理在軟件產(chǎn)業(yè)中的地位突顯出來,變得越來越重要,學者們提出了用工業(yè)界工程化的思想,即軟件工程的思想去解決軟件發(fā)展中的一些問題。同樣,針對軟件產(chǎn)業(yè)中的管理問題,采用了工程中項目管理的思想,由此促使了軟件項目管理學科的出現(xiàn)。
軟件項目管理是軟件工程和項目管理的交叉學科,是項目管理的原理和方法在軟件工程領域的應用。與一般的工程項目相比,軟件項目有其特殊性,主要體現(xiàn)在軟件產(chǎn)品的抽象性上。因此,軟件項目管理的難度要比一般的工程項目管理的難度大。
自第1版付印以來,軟件項目管理思想和方法有了一些新的發(fā)展; 作者對軟件項目管理的認識也更加深入; 教學過程中也得到一些有價值的反饋信息。為了全面反映軟件項目管理的發(fā)展,作者對第1版的結構和內容作了較大篇幅的調整與更新,完成了本書第2版。
第2版分為基礎篇、管理篇和實踐篇。將第1版的第1章、第8章整合為基礎篇,介紹了軟件產(chǎn)業(yè)和軟件項目管理導論,使讀者從整體上了解軟件項目管理的產(chǎn)生背景和概貌。管理篇以項目管理知識體系(PMBOK)為核心,圍繞著軟件項目的開發(fā)全過程,從軟件項目需求管理、軟件項目成本管理、軟件項目進度管理、軟件項目風險管理、軟件項目配置管理、軟件項目資源管理、軟件項目質量管理等方面對軟件項目中的管理問題進行探討。其中,第1版的第3章拆分為軟件項目成本管理和軟件項目進度管理兩章; 第1版第6章的CMM進化為第2版第8章的CMMI。實踐篇將需求管理、成本管理、進度管理、風險管理、配置管理、資源管理和質量管理等相對獨立的領域融合在軟件過程框架中,介紹了在軟件項目實踐中如何集中使用相關理論和技術。其中包括Rational統(tǒng)一過程、敏捷軟件開發(fā)和6σ軟件開發(fā)。對第1版的大部分內容,結合技術的最新發(fā)展也進行了全面的更新。
豐富的案例故事和案例分析也是第2版的一個特色。管理篇的每章都通過一個案例故事引出本章主要內容,并將案例故事的解析穿插在理論介紹中,理論結合實踐。全書的每一章都包含多個完整的案例分析,有正面的成功案例,也有反面的失敗案例。通過案例分析,強化每一章的理論知識,吸取經(jīng)驗,反思教訓。
在本書的編寫過程中,得到了清華大學信息學院、軟件學院、計算機科學與技術系、西安交通大學計算機科學與技術系、電子商務研究所、計算機軟件研究所許多教師的支持和指教; 同時也得到了清華大學出版社的大力支持。我們在此表示衷心的感謝。本書的編寫參考了大量的文獻和互聯(lián)網(wǎng)資源,我們對所有這些文獻著作者和網(wǎng)站版權所有者表示真誠的謝意。
本書由覃征教授確定研究內容和整體結構并審核,第一、二篇由唐晶編寫,第三篇由徐文華編寫并統(tǒng)稿,韓毅博士也參加了本書的編寫與審核工作。
由于水平有限,加之軟件產(chǎn)業(yè)的發(fā)展非常迅速,書中難免有疏漏和不妥之處,敬請讀者批評指正。
編者
2009年6月于清華園
目錄
第一篇基礎篇
第1章軟件項目管理導論
1.1軟件市場
1.1.1軟件商品特征
1.1.2軟件的成本
1.1.3軟件的定價
1.1.4軟件市場的壟斷現(xiàn)象
1.1.5軟件市場的發(fā)展現(xiàn)狀
1.2軟件產(chǎn)業(yè)
1.2.1軟件產(chǎn)業(yè)的特點
1.2.2軟件產(chǎn)業(yè)在國民經(jīng)濟中的地位
1.2.3國外軟件產(chǎn)業(yè)發(fā)展策略
1.2.4資料: 印度新經(jīng)濟產(chǎn)業(yè)
1.2.5對我國軟件產(chǎn)業(yè)發(fā)展策略的認識
1.3軟件工程
1.3.1軟件工程定義
1.3.2軟件工程框架
1.3.3軟件工程模型
1.4項目管理框架
1.4.1項目與項目管理
1.4.2項目管理知識體系
1.4.3項目管理學科的發(fā)展
1.5軟件項目管理
1.5.1軟件項目產(chǎn)品的特點
1.5.2軟件項目失控的原因
1.5.3軟件項目管理的內容
1.6小結
第二篇管理篇
第2章軟件項目需求管理
案例故事
2.1需求工程
2.1.1軟件需求概念
2.1.2軟件需求層次
2.1.3軟件需求質量評價
2.1.4需求工程發(fā)展歷程
2.1.5需求工程研究內容
2.2需求開發(fā)
2.2.1需求開發(fā)活動
2.2.2需求獲取
2.2.3需求分析
2.2.4編寫需求文檔
2.2.5需求驗證
2.2.6案例: 某公司“船代”項目的需求開發(fā)
2.3需求管理
2.3.1需求管理的必要性
2.3.2需求管理的困難性
2.3.3需求管理的目標和原則
2.3.4需求管理活動
2.3.5需求變更管理
2.3.6需求狀態(tài)
2.3.7需求文檔版本控制
2.3.8需求跟蹤
2.3.9案例: 需求變更的代價
2.4案例故事解析
2.4.1需求開發(fā)的注意事項
2.4.2需求管理的注意事項
2.5小結
第3章軟件項目成本管理
案例故事
3.1概述
3.1.1成本
3.1.2成本管理
3.1.3成本估算的時機
3.2軟件項目規(guī)模估算
3.2.1WBS
3.2.2LOC估計
3.2.3FP估計
3.2.4PERT估計
3.3軟件項目成本估算
3.3.1軟件生產(chǎn)率估算
3.3.2軟件項目成本估算方法
3.3.3軟件項目成本估算模型
3.3.4軟件項目成本估算步驟
3.3.5軟件項目成本預算制訂
3.3.6案例: 過分樂觀的估算
3.4軟件項目成本監(jiān)控
3.4.1成本管理常見問題
3.4.2軟件項目成本監(jiān)控要素
3.4.3贏得值分析法
3.4.4案例: 某項目第4月度成本控制狀態(tài)報告
3.5案例: 精確到螺絲釘?shù)某杀究刂?br />
3.6案例故事解析
3.7小結
第4章軟件項目進度管理
案例故事
4.1概述
4.1.1時間管理原則
4.1.2時間管理技巧
4.1.3軟件項目進度管理內容
4.1.4項目活動定義
4.2項目活動排序和歷時估計
4.2.1確定活動順序
4.2.2網(wǎng)絡圖
4.2.3甘特圖
4.2.4項目歷時估計
4.2.5案例: 應用PERT估算項目歷時
4.3制訂項目計劃
4.4項目進度監(jiān)控
4.5案例: 某軟件研發(fā)的項目計劃和進度控制
4.6案例故事解析
4.7小結
第5章軟件項目風險管理
案例故事
5.1概述
5.1.1風險
5.1.2軟件風險
5.1.3軟件項目風險管理
5.1.4軟件項目風險管理的意義
5.2風險識別
5.2.1風險識別依據(jù)
5.2.2常見軟件風險
5.2.3風險識別過程
5.2.4風險識別方法與技術
5.2.5案例: 英達公司用TOP10法識別項目風險
5.3風險分析
5.3.1風險分析過程
5.3.2風險分析技巧與工具
5.3.3風險分析的成果
5.4風險跟蹤與應對
5.4.1風險跟蹤的目標和依據(jù)
5.4.2風險跟蹤的成果
5.4.3風險跟蹤的過程
5.4.4風險應對策略
5.4.5風險應對過程
5.4.6案例: 金融行業(yè)使用容災系統(tǒng)有效應對突發(fā)事件
5.5風險管理驗證
5.6案例: 風險管理保障奧運場館建設
5.7案例故事解析
5.8小結
第6章軟件項目配置管理
案例故事
6.1概述
6.1.1基本概念
6.1.2軟件配置管理定義
6.1.3軟件配置管理過程
6.1.4軟件配置管理過程活動
6.2配置管理策劃
6.2.1軟件配置管理組織
6.2.2軟件配置管理職責
6.2.3軟件配置管理文件體系
6.2.4配置管理計劃的大綱
6.3配置管理功能
6.3.1配置標識
6.3.2版本控制
6.3.3變更管理
6.3.4配置狀態(tài)報告
6.3.5案例: Kevin團隊使用配置管理加快開發(fā)速度
6.4配置審核
6.4.1配置審核概念
6.4.2配置審核內容
6.4.3配置審核的種類
6.4.4軟件交付
6.4.5軟件配置管理的功能表
6.5基于構件的配置管理
6.5.1軟件復用
6.5.2軟件構件技術
6.5.3基于構件的版本管理
6.5.4基于構件的配置管理
6.5.5案例: 河電集團某研究所的系統(tǒng)集成
6.6案例故事解析
6.7小結
第7章軟件項目資源管理
案例故事
7.1人力資源管理
7.1.1人力資源管理概念
7.1.2人力資源分析與策劃
7.1.3人力資源的獲取
7.1.4團隊組織和分工
7.1.5團隊建設
7.1.6人力資源評估
7.1.7案例: 諾基亞如何建設優(yōu)秀團隊
7.2軟件資源管理
7.2.1軟件資源基本概念
7.2.2軟件資源的復用方式
7.2.3軟件復用的粒度
7.2.4可復用軟件資源的管理
7.2.5CASE工具及其管理
7.3硬件資源管理
7.3.1硬件資源管理概念
7.3.2硬件設備的經(jīng)濟管理
7.3.3硬件設備的技術管理
7.4案例故事解析
7.5小結
第8章軟件項目質量管理
案例故事
8.1質量管理的概念
8.1.1軟件質量
8.1.2軟件產(chǎn)品質量與過程質量
8.1.3軟件質量保證
8.2軟件評審
8.3軟件測試
8.3.1軟件測試的概念
8.3.2軟件測試類型
8.3.3測試的原則
8.3.4測試計劃
8.3.5測試用例的開發(fā)
8.3.6測試的執(zhí)行與報告
8.3.7案例: 微軟的軟件測試技術
8.4軟件缺陷跟蹤
8.5軟件缺陷預防
8.5.1問題的提出
8.5.2缺陷預防的原則
8.5.3缺陷預防的步驟
8.6ISO 9000:2000質量認證體系
8.6.1ISO 9000的概念
8.6.2ISO 9000標準的8項質量管理原則
8.6.3獲得ISO 9000認證的條件和程序
8.7能力成熟度集成模型CMMI
8.7.1CMM的提出
8.7.2CMM的基本內容
8.7.3從CMM到CMMI
8.7.4CMMI的表示
8.7.5CMMI過程的可視性
8.7.6CMMI的實施
8.7.7CMMI的評估
8.8案例故事解析
8.9小結
第三篇實踐篇
第9章Rational統(tǒng)一過程
9.1什么是Rational統(tǒng)一過程
9.2核心概念
9.2.1架構
9.2.2工作流程
9.2.3角色
9.2.4活動
9.2.5步驟
9.2.6工件
9.36個最佳實踐
9.3.1迭代式的軟件開發(fā)
9.3.2需求管理
9.3.3使用基于構件的架構,以架構為中心的過程
9.3.4可視化軟件建模
9.3.5驗證軟件質量
9.3.6控制軟件變更
9.3.7案例: 利用視圖和用例來捕獲和描述需求
9.4RUP的二維結構
9.4.1動態(tài)結構: 階段和迭代時間軸
9.4.2靜態(tài)結構: 工作流程軸
9.5核心工作流程
9.5.1業(yè)務建模工作流程
9.5.2需求工作流程
9.5.3分析和設計工作流程
9.5.4實現(xiàn)工作流程
9.5.5測試工作流程
9.5.6部署工作流程
9.5.7配置和變更管理工作流程
9.5.8項目管理工作流程
9.5.9環(huán)境工作流程
9.6小結
第10章敏捷軟件開發(fā)
10.1敏捷軟件開發(fā)的誕生
10.2敏捷軟件開發(fā)宣言
10.3敏捷宣言遵循的原則
10.4對比其他的方法
10.5敏捷軟件開發(fā)的適用性
10.6極限編程概述
10.6.1價值觀
10.6.2原則
10.6.3行為
10.6.4實踐
10.6.5極限編程小結
10.7Scrum
10.7.1一個簡單的框架
10.7.2Scrum過程
10.7.33個角色
10.7.43項活動
10.7.53種工具
10.7.6自適應的項目管理
10.7.7Scrum較傳統(tǒng)開發(fā)模型的優(yōu)點
10.7.8案例: Scrum在開發(fā)中的應用
10.8小結
第11章將6σ管理引入軟件開發(fā)
11.16σ的故事
11.26σ理論基礎
11.2.1平均值屏蔽了問題,波動成了焦點
11.2.2“波動”問題的數(shù)學描述
11.2.36σ的數(shù)學含義
11.2.4其他術語
11.36σ管理
11.4使用6σ改善軟件開發(fā)過程
11.4.1項目啟動和問題定義階段
11.4.2系統(tǒng)分析
11.4.3系統(tǒng)設計
11.4.4構造
11.4.5測試和質量保證
11.4.6交付和維護
11.5案例: 如何實施DMAIC過程
11.5.1定義階段
11.5.2度量階段
11.5.3分析階段
11.5.4改進階段
11.5.5控制階段
11.6小結
附錄A可行性分析報告
附錄B需求規(guī)格說明書
附錄C項目開發(fā)計劃
附錄D概要設計說明書
附錄E詳細設計說明書
附錄F用戶操作手冊
附錄G測試計劃
附錄H測試分析報告
附錄I程序維護手冊
附錄J項目總結報告
附錄KISO 9001:2000標準的內容
參考文獻