《软件项目管理》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(英) Bob Hughes, Mike Cotterell著;廖彬山, 周卫华译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:7111309642
  • 页数:280 页
图书介绍:本书是经典的项目管理课程教材。本版延续上一版清晰易懂的叙述风格,采用步进式策划方法逐一分析了软件开发的各个环节。内容包括项目评价、项目集管理、项目策划、选择合适的项目方法、软件工作量估计、活动策划、风险管理、资源分配、监督和控制、管理合同、人员管理、团队管理和软件质量等。为了涵盖软件项目管理的新进展,第5版进行了全面更新,新增和扩展的主题有:沟通策划、敏捷方法、XP(极限编程)、Scrum 和 DSDM、COCOMO II、项目组合管理等。另外还新增一章,主要内容是关于合作、分散和虚拟团队管理以及职业道德规范。书中附有大量的实例和辅助练习,并在附录中给出了练习的答案。 本书不仅适合作为计算机及相关专业的本科生和研究生的教材,而且适合于软件项目管理人员和软件开发人员阅读,还特别适合作为BCS/ISEB专业考试的参考书。

第1章 软件项目管理引言 1

1.1 引言 1

1.2 为什么软件项目管理很重要 1

1.3 什么是项目 2

1.4 软件项目和其他类型的项目 3

1.5 合同管理和技术项目管理 3

1.6 软件项目管理覆盖的活动 4

1.7 计划、方法和方法学 6

1.8 软件项目的分类方式 7

1.8.1 强制使用用户和自愿使用用户 7

1.8.2 信息系统与嵌入式系统 7

1.8.3 目标与产品 7

1.9 利益相关者 8

1.10 设定目标 8

1.10.1 子目标和目标 9

1.10.2 有效性度量 9

1.11 业务案例 10

1.12 项目成败 10

1.13 什么是管理 11

1.14 管理控制 11

1.15 小结 13

附件 项目策划内容列表 13

1.16 进一步的练习 14

第2章 项目评价和项目集管理 15

2.1 引言 15

2.2 业务案例 15

2.2.1 介绍和背景 16

2.2.2 提议项目 16

2.2.3 市场 16

2.2.4 组织和运营基础架构 16

2.2.5 效益 16

2.2.6 概括实施计划 16

2.2.7 成本 16

2.2.8 经济论证 17

2.2.9 风险 17

2.3 项目组合管理 17

2.3.1 项目组合定义 17

2.3.2 项目组合管理 18

2.3.3 项目组合优化 18

2.3.4 项目组合管理的问题 18

2.4 单个项目评估 18

2.4.1 技术评估 18

2.4.2 成本效益分析 18

2.4.3 现金流预测 19

2.5 成本效益评价技术 20

2.5.1 净利润 20

2.5.2 回收期 20

2.5.3 投资回报率 21

2.5.4 净现值 21

2.5.5 内部回报率 23

2.6 风险评价 23

2.6.1 风险标识和排等级 24

2.6.2 风险和净现值 24

2.6.3 成本效益分析 24

2.6.4 风险剖面分析 25

2.6.5 使用决策树 25

2.7 项目集管理 26

2.7.1 商业周期项目集 27

2.7.2 战略项目集 27

2.7.3 基础设施项目集 27

2.7.4 研究和开发项目集 27

2.7.5 创新的伙伴关系 27

2.8 管理项目集内的资源分配 27

2.9 项目集管理策略 28

2.10 创建项目集 28

2.10.1 项目集命令 28

2.10.2 项目集摘要 29

2.10.3 构想陈述 29

2.10.4 蓝图 29

2.11 辅助项目集管理 30

2.11.1 依赖关系图 30

2.11.2 交付计划 31

2.12 对项目集管理的保留意见 32

2.13 收益管理 32

2.14 小结 34

2.15 进一步的练习 34

第3章 项目策划概述 36

3.1 步进式项目策划概述 36

3.2 第0步:选择项目 38

3.3 第1步:标识项目的范围和目标 39

3.3.1 步骤1.1 标识目标以及满足目标有效性的实用度量 39

3.3.2 步骤1.2 确立项目的全权管理者 39

3.3.3 步骤1.3 项目利益相关者分析——标识项目中所有的项目利益相关者以及他们的利益 39

3.3.4 步骤1.4 根据项目利益相关者的分析修改项目目标 40

3.3.5 步骤1.5 确定各部门之间的沟通方法 40

3.4 第2步:标识项目的基础设施 40

3.4.1 步骤2.1 确立项目和战略策划之间的关系 40

3.4.2 步骤2.2 标识安装标准和规程 41

3.4.3 步骤2.3 标识项目组的组织结构 41

3.5 第3步:分析项目的特征 42

3.5.1 步骤3.1 识别项目是目标驱动的还是产品驱动的 42

3.5.2 步骤3.2 分析项目的其他特征(包括基于质量的特征) 42

3.5.3 步骤3.3 标识项目的高级别风险 42

3.5.4 步骤3.4 考虑关于实现方面的用户需求 42

3.5.5 步骤3.5 选择开发方法学和生命周期方法 42

3.5.6 步骤3.6 评审整体资源估计 43

3.6 第4步:标识项目的产品和活动 43

3.6.1 步骤4.1 标识和描述项目的产品(或可交付物) 43

3.6.2 步骤4.2 文档化共性产品流 45

3.6.3 步骤4.3 标识产品实例 46

3.6.4 步骤4.4 产生理想的活动网络图 46

3.6.5 步骤4.5 根据阶段和检查点的需要修改理想的活动网络 46

3.7 第5步:估算每个活动的工作量 47

3.7.1 步骤5.1 执行由底向上的估计 47

3.7.2 步骤5.2 修改策划创建可控制的活动 47

3.8 第6步:标识活动的风险 48

3.8.1 步骤6.1 标识和量化基于活动的风险 48

3.8.2 步骤6.2 计划合适的风险缓解和应急措施 48

3.8.3 步骤6.3 根据风险调整计划和估计 48

3.9 第7步:分配资源 49

3.9.1 步骤7.1 标识和分配资源 49

3.9.2 步骤7.2 根据资源约束修改计划和估计 49

3.10 第8步:评审/发布计划 50

3.10.1 步骤8.1 评审项目计划的质量 50

3.10.2 步骤8.2 文档化计划并取得一致意见 50

3.11 第9步和第10步:执行计划并进行较低层次的策划 50

3.12 小结 50

3.13 进一步的练习 51

第4章 选择合适的项目方法 52

4.1 引言 52

4.2 构建还是购买 52

4.3 选择方法学和技术 54

4.3.1 将项目标识为目标驱动的或产品驱动的 54

4.3.2 分析其他项目特征 55

4.3.3 标识高级别项目风险 56

4.3.4 考虑与实现有关的用户需求 56

4.3.5 选择通用的生命周期方法 57

4.4 过程模型的选择 57

4.5 结构与交付速度 58

4.6 瀑布模型 59

4.7 螺旋模型 60

4.8 软件原型开发 60

4.9 分类原型的其他方法 62

4.9.1 要从原型中学到什么 62

4.9.2 原型要做到什么程度 62

4.9.3 哪些要进行原型化 62

4.9.4 在原型开发期间控制变更 63

4.10 增量式交付 63

4.10.1 优点 63

4.10.2 缺点 64

4.10.3 增量式交付计划 64

4.10.4 系统目标 65

4.10.5 开放的技术计划 65

4.10.6 增量式计划 65

4.10.7 增量示例 66

4.11 敏捷方法 66

4.12 Atern/动态系统开发方法 67

4.13 极限编程 68

4.13.1 策划活动 69

4.13.2 小规模发布软件 69

4.13.3 隐喻 69

4.13.4 简单设计 69

4.13.5 测试 69

4.13.6 重构 70

4.13.7 结对编程 70

4.13.8 集体所有 70

4.13.9 持续集成 70

4.13.1 0每周40小时的工作时间 70

4.13.1 1现场客户 70

4.13.1 2编程标准 70

4.13.1 3 XP的局限性 70

4.14 管理迭代过程 71

4.15 选择最合适的过程模型 72

4.16 小结 72

4.17 进一步的练习 73

第5章 软件工作量估计 74

5.1 引言 74

5.2 在何处进行估计 75

5.3 估计过高和估计过低的问题 77

5.4 软件估计基础 77

5.4.1 需要历史数据 77

5.4.2 工作的度量 77

5.5 软件工作量估计技术 78

5.6 由底向上估计 78

5.7 自顶向下法和参数模型 80

5.8 专家判断 81

5.9 类比估计 81

5.10 Albrecht功能点分析 81

5.11 Mark Ⅱ功能点 83

5.12 COSMIC全功能点 85

5.13 COCOMO Ⅱ:参数化的生产率模型 86

5.14 小结 90

5.15 进一步的练习 90

第6章 活动策划 92

6.1 引言 92

6.2 活动策划的目的 92

6.3 何时计划 93

6.4 项目进度表 93

6.5 项目和活动 95

6.5.1 定义活动 95

6.5.2 标识活动 95

6.6 确定活动的次序和进度 98

6.7 网络策划模型 99

6.8 网络模型的公式化表示 100

6.8.1 构造优先网络 100

6.8.2 描绘滞后活动 102

6.8.3 集合活动 103

6.8.4 标注约定 103

6.9 增加时间维 103

6.10 正向遍历 104

6.11 反向遍历 105

6.12 标识关键路径 106

6.13 活动缓冲期 107

6.14 缩短项目周期 108

6.15 标识关键活动 108

6.16 活动-箭头网络 108

6.16.1 活动-箭头网络的规则和约定 109

6.16.2 使用虚活动 110

6.16.3 描绘滞后的活动 112

6.16.4 给活动加标签 112

6.16.5 网络分析 112

6.17 小结 114

6.18 进一步的练习 115

第7章 风险管理 117

7.1 引言 117

7.2 风险 117

7.3 风险分类 118

7.4 处理风险框架 120

7.5 风险识别 120

7.6 风险评估 121

7.7 风险策划 124

7.7.1 接受风险 124

7.7.2 规避风险 124

7.7.3 降低风险 124

7.7.4 转移风险 125

7.8 风险管理 125

7.8.1 应急 125

7.8.2 风险应对措施的决策 126

7.8.3 创建和维护风险记录 126

7.9 评价进度风险 126

7.10 应用PERT技术 127

7.10.1 使用PERT评价不确定性的影响 127

7.10.2 使用期望周期 128

7.10.3 活动标准偏差 129

7.10.4 满足目标的可能性 129

7.10.5 计算每个项目事件的标准偏差 130

7.10.6 计算z值 130

7.10.7 转换z值为概率 130

7.10.8 PERT的优点 131

7.11 蒙特卡洛仿真 131

7.12 关键链概念 132

7.12.1 获得最可能的活动周期 133

7.12.2 利用活动的最晚开始时间 134

7.12.3 插入项目和汇入缓冲期 134

7.12.4 一个样例 135

7.12.5 项目实施 136

7.13 小结 136

7.14 进一步的练习 136

第8章 资源分配 139

8.1 引言 139

8.2 资源的性质 139

8.3 标识资源需求 141

8.4 资源调度 142

8.5 创建关键路径 146

8.6 计算成本 147

8.7 特定的细节 147

8.8 发布资源进度表 148

8.9 成本进度 149

8.10 调度顺序 150

8.11 小结 151

8.12 进一步的练习 152

第9章 监督与控制 154

9.1 引言 154

9.2 创建框架 154

9.2.1 责任 154

9.2.2 进展评估 156

9.2.3 设置检查点 156

9.2.4 取快照 156

9.3 收集数据 156

9.3.1 局部完成报告 157

9.3.2 红黄绿交通灯报告 158

9.4 进展可视化 158

9.4.1 甘特图 158

9.4.2 延迟图 159

9.4.3 时间线 160

9.5 成本监督 161

9.6 挣值分析 162

9.6.1 基线预算 163

9.6.2 监督挣值 164

9.6.3 进度偏差 165

9.6.4 时间偏差 165

9.6.5 成本偏差 165

9.6.6 性能比 165

9.7 优先级控制 166

9.8 使项目返回目标 167

9.8.1 缩短关键路径 167

9.8.2 重新考虑优先需求 168

9.8.3 维护业务案例 168

9.8.4 异常计划 168

9.9 变更控制 169

9.9.1 变更控制规程 169

9.9.2 系统范围的变更 170

9.9.3 配置库管理员的职责 170

9.10 小结 171

9.11 进一步的练习 171

第10章 管理合同 172

10.1 引言 172

10.2 合同的种类 173

10.2.1 固定价格合同 173

10.2.2 时间和材料合同 174

10.2.3 每单位固定价格合同 174

10.2.4 公开的投标过程 176

10.2.5 受限制的投标过程 176

10.2.6 谈判规程 176

10.3 合同部署阶段 177

10.3.1 需求分析 177

10.3.2 评估计划 177

10.3.3 邀请投标 178

10.3.4 评估提议 179

10.4 典型的合同条款 180

10.4.1 定义 180

10.4.2 协议的形式 180

10.4.3 供应的商品和服务 180

10.4.4 软件的所有权 181

10.4.5 环境 181

10.4.6 客户承诺 181

10.4.7 验收规程 181

10.4.8 标准 181

10.4.9 项目和质量管理 182

10.4.10 时间表 182

10.4.11 价格和付款方式 182

10.4.12 其他法律上的需求 182

10.5 合同的管理 182

10.6 验收 183

10.7 小结 183

10.8 进一步的练习 184

第11章 人员管理 185

11.1 引言 185

11.2 理解行为 185

11.3 组织行为:背景 187

11.4 为工作选择合适人选 188

11.5 用最好的方法进行教育 190

11.6 激励 190

11.6.1 Taylorist模型 190

11.6.2 Maslow的需求层次 191

11.6.3 Herzberg的双因素理论 191

11.6.4 工作热情的期待理论 192

11.7 Oldham-Hackman工作特征模型 192

11.8 压力 193

11.9 健康和安全 194

11.10 职业道德注意事项 195

11.11 小结 196

11.12 进一步的练习 196

第12章 团队管理 198

12.1 引言 198

12.2 组成团队 200

12.3 决策制定 202

12.3.1 制定正确决策的心理障碍 202

12.3.2 小组决策的制定 202

12.3.3 制定正确小组决策的障碍 202

12.3.4 减少小组决策制定的缺点的措施 203

12.3.5 团队精神 203

12.3.6 非自我编程 203

12.3.7 主程序员组 204

12.3.8 极限编程 204

12.3.9 Scrum 204

12.4 组织结构 205

12.4.1 组织结构与项目 205

12.4.2 正式的与非正式的结构 205

12.4.3 层次化的方法 206

12.4.4 员工与开发流程 206

12.4.5 部门化 206

12.5 合作依赖关系 207

12.6 分散或虚拟团队 208

12.7 沟通风格 209

12.7.1 在项目早期 210

12.7.2 项目中期的设计阶段 211

12.7.3 项目的实现阶段 211

12.8 沟通计划 211

12.9 领导能力 212

12.1 0小结 213

12.1 1进一步的练习 214

第13章 软件质量 215

13.1 引言 215

13.2 软件质量在项目策划中的位置 215

13.3 软件质量的重要性 216

13.4 定义软件质量 217

13.5 ISO9126 218

13.6 产品与过程质量管理 223

13.7 质量管理体系 225

13.7.1 BS EN ISO 9001:2000 225

13.7.2 BS EN ISO 9001:2000 QMS需求概述 225

13.8 能力过程模型 227

13.8.1 ISO 15504过程评估 227

13.8.2 实施过程改进 228

13.9 有助于提高软件质量的技术 231

13.9.1 审查 231

13.9.2 Fagan方法的基本原理 232

13.9.3 结构化编程和净室软件开发 232

13.9.4 形式化方法 233

13.9.5 软件质量循环 233

13.9.6 经验教训报告 234

13.10 测试 234

13.11 质量计划 237

13.12 小结 237

13.13 进一步的练习 237

附录A PRINCE 2概述 239

附录B 练习答案 248

进一步阅读材料 277