软件过程与管理
作者 : 骆斌
出版日期 : 2013-05-02
ISBN : 978-7-111-40748-5
适用人群 : 高等院校软件工程、计算机及相关专业本科生。
定价 : 39.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 290
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

全面介绍软件过程、质量和项目管理方面的概念和方法,着重培养学生项目管理方面的技能、过程管理和改进的方法。全书按照项目管理、过程管理、工程技术和支持等类别,逐次讲授项目计划和跟踪监控、风险管理、配置管理、供应商管理、需求开发和管理、技术实现、系统集成管理、验证和确认、过程管理和改进、过程度量和分析、量化管理和统计过程控制等内容。

图书特色

软件过程与管理属于软件工程专业知识体系的核心内容。软件工程专业学生需要学习如何把经过实践检验的优秀管理方法和适用的具体开发技术相结合,应用过程化思想和系统化的方法去开发和维护各类软件系统。为实现上述目标,本书作者在内容选材及组织结构上做了精心策划,从而使本教材特色突出,很好地满足了当今软件工程专业的教学要求。同时,本书还是教育部-IBM精品课程“软件过程与管理”的配套教材。
教材具体内容包括:(1)个体软件过程,包含个人级项目估算和计划、进度跟踪、过程度量和改进、质量计划、质量管理以及各种适用于个人级开发的设计方法和设计验证方法等;(2)团队软件过程,从工程化开发的角度、项目管理的角度和团队动力学角度分别阐述了典型团队形式软件开发应当关注的内容;(3)IDEAL通用软件过程改进方法,阐述了组织级过程改进的实施方法。
本书特色
完整覆盖一个典型软件开发环境中的过程方法的三个不同层次(软件工程师个体、团队以及组织),从而更加系统地满足不断变化的软件产品开发的需要。
有机结合软件过程改进和项目管理两个概念,并根据个体级、团队级、组织级的过程方法的特点,分别着重阐述软件工程的不同技术层面,从而使学生将来不管是学习项目管理,还是学习过程改进,都可以在书中借鉴到可以在实际工作环境中应用的方法。
在规范过程和敏捷过程的处理上,结合学生特点,“先规范,后敏捷”。引导学生正确理解规范与敏捷这两种方法:它们不是根本对立的,平衡和融合各有优势的两种方法能更好地满足实际的软件项目环境的要求。

图书前言

软件工程专业的学生需要学习如何把经过实践检验的优秀管理方法和适用的具体开发技术相结合,应用过程化思想和系统化的方法开发和维护各类软件系统。为了实现这一颇具挑战的目标,需要有一门专设课程。在这样的一门课程中,各类过程方法的简单罗列显然是不够的。一方面,必须向学生阐述清楚各类过程方法之间的差异对比、不同哲学思想的过程方法相互支持和补充的逻辑关系;另一方面,必须找到一条主线,贯穿各类过程方法。
  事实上,本书在内容组织上一直试图尽最大可能实现上述两方面的目标。为此,全书在设计上首要特色是通过三大部分体现出内容的有机组合。第一部分主要介绍作为软件开发者个体而言,在过程方法和自我管理上应当掌握的技能。具体包括个人级项目估算和计划、进度跟踪、过程度量和改进、质量计划、质量管理以及各种适用于个人级开发的设计方法和设计验证方法等。第二部分关注团队软件过程,从工程化开发的角度、项目管理的角度和团队动力学角度分别阐述了典型团队形式软件开发应当关注的内容。第三部分则基于IDEAL通用软件过程改进方法,阐述了组织级软件过程改进的实施方法。通过一个典型例子,分别解释了在IDEAL中初始、诊断、建立、执行和调整各个阶段的主要活动。这三部分内容,分别对应在一个典型软件开发环境中的过程方法必须要考虑的三个不同层次(软件工程师个体、团队以及组织),从而更加系统地满足不断变化的软件产品开发的需要。
  本书的第二个特色是将软件过程改进和项目管理两个概念有机结合,穿插体现在本书的三大部分之中。软件过程改进需要管理软件开发的最佳实践,主要发生在个体、团队和组织三个不同层次;而软件项目管理则以实现特定项目目标为努力的方向,主要发生在个体和团队两个层次上。这两者既有本质上的差别,又相互依存、不可分割。因此,在教材内容的编排上,我们做了有针对性的设计。在个体级过程方法上,通过具体的管理技术体现出项目管理的实践,而在阐述过程度量和质量管理技术的时候,又反复强调了这些度量结果对于个体级过程改进的意义;在团队级过程方法上,整体体现出一个项目管理的完整周期,但是,又以完整一章的内容阐述项目级的总结,这事实上是为了支持项目小组级的过程改进;在组织级,由于项目管理很少发生在组织级,所以主要阐述过程改进的相关实践。这样设计有一个很大的好处,即不管为了学习项目管理,还是为了学习过程改进,都能够在书中借鉴到可以在实际工作环境中操作的方法。
  本书的第三个特色体现在规范过程和敏捷过程的侧重选择上。不管在学术界还是工业界,规范过程和敏捷过程之间的争论一直都存在。目前主流的观点是这两种方法不是根本对立的,平衡和融合各有优势的两种方法往往能更好地满足实际的软件项目环境。然而,借鉴中国传统书法学习过程,我们有理由相信,先学习规范过程,再学习敏捷过程是一个合理的选择。因此,作为专业教材,本书在内容安排上主要以介绍规范过程方法为主。但是,在第1章给出了敏捷过程的介绍,在附录中给出了平衡敏捷和规范过程的一些工作思路。教师在讲解本书各章内容的时候,也应当注意适当解释一些敏捷思想与各章内容之间相互补充的非对立的内容。
  本书可作为计算机与软件工程类专业的高年级本科生和硕士研究生相关课程的教材。建议教学课时数为40。本书自2010年秋季学期开始在南京大学软件学院试用,作者也根据试用期间的反馈情况对教材做了修改。
  “软件过程与管理”是南京大学软件学院重点建设的课程,并入选2008年教育部–IBM精品课程,在教学过程中得到了学院的大力支持,在此表示衷心感谢。本书由南京大学骆斌教授整体策划和指导。本书第1章由荣国平和葛季栋合作完成,第2~10章由荣国平编写,第11~15章以及附录部分由葛季栋编写。限于编者的水平,书中难免有错误与不妥之处,恳请读者指正和赐教。作者的电子邮件地址为:luobin@nju.edu.cn、ronggp@software.nju.edu.cn和gjd@software.nju.edu.cn。

作者
2012年9月
南京大学北园

上架指导

计算机\软件工程

封底文字

本书作者所主持的“软件过程与管理” 是教育部-IBM精品课程,教材的组织和出版得到教育部“质量工程”之软件工程主干课程国家级教学团队、软件工程国家级特色专业、软件工程国家级人才培养模式创新实验区、教育部“十二五本科教学工程”之软件工程国家级专业综合教学改革试点、软件工程国家级工程实践教育基地、计算机科学与软件工程国家级实验教学示范中心,以及南京大学985项目等的支持。
软件工程专业的学生需要学习如何把经过实践检验的优秀管理方法和适用的具体开发技术相结合,应用过程化思想和系统化的方法去开发和维护各类软件系统。为实现上述目标,本书作者在内容选材及组织结构上做了精心策划,从而使本教材特色突出,很好地满足了当今软件工程学科的教学要求。
本书特色:
● 通过三大部分体现内容的有机组合。这三部分内容,分别对应在一个典型软件开发环境中的过程方法必须要考虑的三个不同层次(软件工程师个体、团队以及组织),从而更加系统地满足不断变化的软件产品开发的需要。
● 将软件过程改进和项目管理两个概念有机结合,穿插体现在本书的三大部分之中,并根据个体级、团队级、组织级的过程方法的特点,分别着重阐述软件工程的不同技术层面,从而使学生将来不管是学习项目管理,还是学习过程改进,都可以在书中借鉴到可以在实际工作环境中操作的方法。
● 在规范过程和敏捷过程的侧重选择上,先学习规范过程,再学习敏捷过程,主要以介绍规范过程方法为主。并引导学生正确理解规范与敏捷这两种方法:它们不是根本对立的,平衡和融合各有优势的两种方法能更好地满足实际的软件项目环境。

作者简介

骆斌:暂无

图书目录

软件工程教材序
前言
第1章 概述 1
1.1 软件质量与软件过程 1
1.1.1 从焦油坑谈起 1
1.1.2 传统行业质量管理 2
1.1.3 软件行业质量管理 7
1.2 软件过程发展简史 8
1.2.1 20世纪50年代的软件工程 8
1.2.2 20世纪60年代的软件工艺 9
1.2.3 20世纪70年代的形式化方法与瀑布过程 10
1.2.4 20世纪80年代的生产率与可伸缩性 12
1.2.5 20世纪90年代的并发过程与顺序过程 15
1.2.6 2000年之后的敏捷方法与基于价值的方法 16
1.3 经典软件过程和实践 17
1.3.1 PSP/TSP 17
1.3.2 CMM/CMMI 19
1.3.3 RUP 23
1.3.4 敏捷过程与极限编程 26
1.3.5 Scrum 29
1.3.6 SPICE 30
1.3.7 净室软件工程 31
1.3.8 其他软件过程 32
1.4 过程改进框架 35
1.4.1 适用于传统行业的PDCA模型 35
1.4.2 适用于软件行业的IDEAL模型 36
本章小结 38
思考题 39
参考文献 39
第一部分 个体级软件过程
第2章 个体软件过程 44
2.1 简介 44
2.1.1 基本原则 44
2.1.2 PSP成熟度级别 45
2.2 PSP过程度量 46
2.2.1 度量时间 46
2.2.2 度量缺陷 47
2.2.3 度量规模 48
2.3 PROBE估算原理 49
2.3.1 通用计划框架 49
2.3.2 PROBE估算流程 51
2.3.3 应用PROBE的注意事项 53
本章小结 57
思考题 58
参考文献 58
第3章 个体软件过程质量管理 59
3.1 PSP质量观与质量策略 59
3.2 评审与测试 60
3.3 评审过程质量 61
3.3.1 评审检查表 61
3.3.2 质量指标 64
3.3.3 评审的其他考虑因素 69
本章小结 72
思考题 72
参考文献 72
第4章 个体软件过程中的设计 74
4.1 设计与质量 74
4.2 设计过程 75
4.3 设计模板 76
4.3.1 OST 76
4.3.2 FST 77
4.3.3 SST 78
4.3.4 LST 80
4.4 设计的考虑 80
4.4.1 UML与PSP设计模板的关系 81
4.4.2 设计的层次 84
4.5 设计验证方法 85
4.5.1 状态机验证 85
4.5.2 符号化验证 89
4.5.3 执行表验证 89
4.5.4 跟踪表验证 91
4.5.5 正确性检验 91
本章小结 93
思考题 94
参考文献 94
第二部分 团队级软件过程
第5章 团队工程开发 96
5.1 需求开发 96
5.1.1 需求获取 97
5.1.2 需求验证 98
5.1.3 需求规格文档制作 99
5.1.4 优秀需求规格文档的特征 99
5.1.5 需求规格文档的表示方法 100
5.2 团队设计 101
5.2.1 团队智慧 101
5.2.2 设计标准 101
5.2.3 复用性考虑 102
5.2.4 可测试性考虑 102
5.2.5 可用性考虑 103
5.2.6 设计的文档化 103
5.3 实现策略 103
5.3.1 评审的考虑 103
5.3.2 复用策略 103
5.3.3 可测试性考虑 103
5.4 集成策略选择 104
5.4.1 大爆炸集成策略 104
5.4.2 逐一添加集成策略 104
5.4.3 集簇集成策略 104
5.4.4 扁平化集成策略 104
5.5 验证与确认 104
5.5.1 差别与联系 105
5.5.2 验证与确认活动 105
本章小结 106
思考题 106
参考文献 106
第6章 团队项目规划 107
6.1 工作分解结构与范围管理 107
6.1.1 WBS表示方式 107
6.1.2 创建WBS的方法 108
6.1.3 范围管理 109
6.2 开发策略与计划 109
6.3 生命周期模型选择 110
6.3.1 生命周期典型阶段描述 111
6.3.2 裁减约定 112
6.3.3 V字形开发阶段对应关系 112
6.4 日程计划原理和方法 113
6.5 质量计划原理和方法 114
6.6 风险计划 114
6.6.1 风险识别 115
6.6.2 风险应对 116
6.7 TSP团队项目规划实例 117
6.7.1 TSP对自主团队的支持 117
6.7.2 TSP项目启动 118
6.8 计划评审和各方承诺 121
本章小结 121
思考题 122
参考文献 122
第7章 团队项目跟踪与管理 123
7.1 项目跟踪意义 123
7.2 挣值管理方法 124
7.2.1 原理 124
7.2.2 挣值管理的应用 125
7.3 里程碑评审 127
7.4 其他计划跟踪 127
7.4.1 日程计划跟踪 127
7.4.2 承诺计划跟踪 128
7.4.3 风险计划跟踪 129
7.4.4 数据收集计划跟踪 129
7.4.5 沟通计划跟踪 129
7.5 纠偏活动的管理 129
本章小结 130
思考题 130
参考文献 131
第8章 项目总结 132
8.1 项目总结的意义 132
8.2 项目总结过程 132
8.2.1 一般项目总结介绍 132
8.2.2 TSP项目总结介绍 135
本章小结 138
思考题 138
参考文献 138
第9章 项目管理支持活动 139
9.1 配置管理 139
9.1.1 配置管理简介 139
9.1.2 配置管理活动 140
9.2 度量和分析 145
9.2.1 度量和分析简介 145
9.2.2 度量和分析活动 145
9.2.3 GQM方法原理和应用 152
9.3 决策分析 155
9.3.1 决策分析简介 155
9.3.2 决策分析活动 156
本章小结 159
思考题 160
参考文献 161
第10章 团队动力学 162
10.1 自主团队的特点 162
10.2 自主团队的外部环境 163
10.2.1 在项目启动阶段获得管理层的支持 163
10.2.2 在项目进展过程中获得管理层的支持 164
10.3 承诺文化的建立与团队激励 165
10.4 团队领导者与角色经理的区别 166
10.5 典型TSP角色 167
10.5.1 项目组长 167
10.5.2 计划经理 169
10.5.3 开发经理 170
10.5.4 质量经理 172
10.5.5 过程经理 173
10.5.6 支持经理 174
本章小结 175
思考题 176
参考文献 176
第三部分 组织级软件过程改进
第11章 IDEAL模型之初始阶段 178
11.1 IDEAL模型概述 178
11.2 初始阶段概述 180
11.3 准备开始 184
11.4 识别商业需求和改进的驱动力 184
11.5 撰写SPI提案 185
11.6 培训和构建支持 186
11.7 使SPI提案获得批准并初始化资源 186
11.8 构建SPI基础设施 187
11.9 评估SPI风气 192
11.10 定义SPI总体目标 193
11.11 定义SPI程序指导原则 193
11.12 启动程序 194
11.13 构建SPI程序的组织机构 194
11.14 初始阶段与CMMI对应 197
本章小结 199
思考题 199
参考文献 200
第12章 IDEAL模型之诊断阶段 201
12.1 诊断阶段概述 201
12.2 确定需要怎样的基线 204
12.3 制定基线计划 204
12.4 实施基线 205
12.5 介绍发现物 205
12.6 开发最终发现物和建议报告 206
12.7 与组织交流发现物和建议 206
12.8 诊断阶段与CMMI对应 207
本章小结 208
思考题 208
参考文献 208
第13章 IDEAL模型之建立阶段 209
13.1 建立阶段概述 209
13.2 选择战略执行计划过程并组织培训 212
13.3 评审组织的愿景 212
13.4 评审组织的商业计划 213
13.5 确定关键的商业主题 214
13.6 评审过去的改进成果 214
13.7 描述改进的动机 215
13.8 确定当前和将来的(计划的)改进活动 215
13.9 确定各种基础设施实体的角色和职责 216
13.10 设定活动的优先级和制定改进日程 216
13.11 基于基线发现物和建议协调已有的、计划好的改进活动 217
13.12 将SPI总体目标转换成特定的可度量的目标 217
13.13 建立或更新SPI战略执行计划 218
13.14 评审并批准用于SPI战略执行计划的资源 218
13.15 构建技术工作团队 218
13.16 建立阶段与CMMI对应 219
本章小结 220
思考题 220
参考文献 221
第14章 IDEAL模型之执行阶段 222
14.1 执行阶段概述 222
14.2 为TWG完成战术计划 225
14.3 开发解决方案 226
14.4 试验潜在的解决方案 227
14.5 选择解决方案提供者 228
14.6 确定长期支持需求 228
14.7 开发首次展示战略和计划模板 229
14.8 整理打包改进并移交给SEPG 229
14.9 解散TWG 230
14.10 首次展示解决方案 230
14.11 转变为长期支持 234
14.12 执行阶段与CMMI对应 234
本章小结 239
思考题 239
参考文献 239
第15章 IDEAL模型之调整阶段 240
15.1 调整阶段概述 240
15.2 收集获得的经验教训 241
15.3 分析经验教训 242
15.4 重新修订组织方法 243
15.5 评审资助与承诺 243
15.6 建立高层次目标 243
15.7 开发新修订的软件过程改进提案 244
15.8 继续软件过程改进过程 244
15.9 调整阶段与CMMI对应 245
本章小结 246
思考题 246
参考文献 246
附录A SPI程序的基础设施 247
附录B SPI程序的模板 253
附录C SPI程序的基线 262
附录D 管理软件过程改进程序 267
附录E 软件过程方法学的思考 274
附录F IDEAL模型全程图 278

教学资源推荐
作者: [美]保罗 C.乔根森(Paul C.Jorgensen)著
作者: (美)Larry L.Constantine,Lucy A.D.Lockwood
作者: [美]Richard O.Duda,Peter E.Hart,David G.Stork
作者: 黎连业 王华 李龙 黎照 李淑春 编著
参考读物推荐
作者: Scott W. Ambler, Larry L. Constantine
作者: (美)Brian Marick
作者: Dennis M.Ahern, Aaron Clouse, Richard Turnet