小型团队软件开发:以RUP为中心的方法

小型团队软件开发:以RUP为中心的方法
作 者: Gary Pollice 宋锐 张静 张煜 宋锐
出版社: 中国电力出版社
丛编项: 软件工程系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 软件方法 软件工程理论 软件工程及软件方法学 计算机与互联网
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  GaryPollice拥有近35年的软件开发经验。他在开始写作本书时是Rational软件公司RUP方面的元老,后来转向教育行业,担任WorcesterPolytechnicInstitute计算机科学系的实践学教授。LizAugustine在软件行业工作了20多年,先是作为软件开发人员,现在是一位技术文档作者。在其职业生涯中,她在项目中的主要职责是帮助软件开发人员更有效地工作。ChrisLowe为DEC公司、Funk软件公司、Rational软件公司和IBM公司开发过软件。在业余时间里,Chris是ToastmastersInternational的成员,也是所在社区教堂的键盘手和歌手,是波士顿科学博物馆的志愿者,还是一名业余木工。JasMadhur从1985年开始在加拿大温哥华的高技术园区工作。他是最早的RUP团队的一员,后来担任过顾问,建立了一家e-learning公司。他在不列颠哥伦比亚大学教授软件工程过程学,还是国际系统工程协会(InternationalCouncilofSystemsEngineering,INCOSE)的成员。

内容简介

本书不是一本关于RUP、敏捷开发过程或者项目管理的教材,而是一份来源于实际工作的“战地”报告。它记录了一个小型的分布式团队,经历许多变化最终成功地完成任务,向用户交付一个有价值的、可用的软件产品的过程。在本书中,这些“战士们”以直述的方式讲述了他们的故事,没有试图去“执导”有关的内容。我经常听到:“我们不需要采用一个开发过程,因为我们的项目又小又简单。”可能你也有类似的感觉。但是,实际上你总会采用某种开发过程,而且这一过程很可能是临时发明出来的。在我们的行业中有一种普遍存在的印象,就是一个预先描述好的开发过程只适合于大公司、用于大型项目、管理几百个开发人员;而对于小型项目来说,这种开发过程只会使开发人员过得更加痛苦。在本书中,你将会看到一个很小的团队在解决一个中等的项目时,如何按照他们的需要采用和剪裁RUP这样一个描述化的开发过程。他们并没有因为采用这一开发过程而增加过多的正规性。他们只选择了那些对自己有用的要素,甚至采用了类似PSP(PersonalSoftwareProcess,个体软件开发过程)、极限编程(eXtremeProgramming)以及其他一些敏捷开发方法。我也经常听到:“让我看看你到底是如何做的。”成功项目的例子和某些不成功项目的反例常常是导致开始采用一个新开发过程的关键。仅仅埋头于书本中或者网站上,苦读一页页有关某种理想处理方法的描述,对于我们大多数人来说都太抽象了。包装好的、与理论严格匹配的完美示例没有太多的说服力。本书最大的价值在于,它带领读者接触到一个实际项目中的真实经历,包括了其中的失败、错误的开始以及各种限制;而作者以批判的眼光来分析他们所采取的做法,以及这些做法为什么会成功或者失败。我们从自己的经验以及与别人经验的对比中进行学习。“噢,是的,我知道这种模式;我也曾经处于这种境地。啊,你是这样解决的。”本书讨论了在传统的开发过程(包括RUP)中都没有涉及到的问题。作者大胆地探索了关于开发人员、关于形成一个团队的力量、关于分布式环境中的通信联系、关于使用基于Internet的协作工具等方面的内容,而所有这些要素都是当前许多小型开源软件项目的组成部分。最后,本书强调了一个常常在计划中标明了,而在赶着完成任务的过程中通常被遗忘的关键性的实践步骤:自省(self-reflection),有时也被称为事后分析(post-mortem)或者回顾(retrospective)。这一步骤就...

图书目录

第1章 写在开始 1

1.1 组成团队 4

1.2 后续内容 6

第2章 在小型项目中使用开发过程 8

2.1 什么是小型项目? 8

2.2 对小型项目运用的开发过程如何? 8

2.3 从使用RUP开始 9

2.4 让团队成员参与的技巧 13

2.5 照规矩办事 14

2.6 参考信息 14

2.7 小结 15

第3章 人员、过程与工具 16

3.1 人员 16

3.2 过程 23

3.3 工具 27

3.4 什么会出错? 29

3.5 小结 30

第4章 项目启动:项目成员形成团队 31

4.1 结合成一个团队 31

4.2 编写开发案例 35

4.3 关于我们进度的报告 39

4.4 为初始阶段建立迭代计划 42

4.5 小结 43

第5章 初始阶段:我们开始取得进展 45

5.1 项目前景:设定目标 45

5.2 处理和管理需求 49

5.3 定义初始用例 52

5.4 项目管理 55

5.5 建立开发环境 59

5.6 迭代评估 62

5.7 这听起来确实像瀑布式 62

5.8 小结 63

第6章 细化阶段:建立框架 64

6.1 细化阶段的目标 64

6.2 生成测试和测试计划 69

6.3 建立PSP Tools的架构 72

6.4 对工具环境的改变 75

6.5 推迟建立数据库 77

6.6 范围管理:尽早并经常进行剪裁 79

6.7 不能安装该产品是什么意思? 80

6.8 对细化阶段进行评估 82

6.9 小结 83

第7章 细化阶段详情 84

7.1 开始细化阶段 84

7.2 PSP Tools用户界面 87

7.3 PSP Tools数据库 94

7.4 单元测试 97

7.5 小结 103

第8章 构造阶段:构建PSP Tools 104

8.1 再次调整开发环境 104

8.2 构造阶段的目标 108

8.3 构造阶段计划:项目的心跳 108

8.4 实现过程加速 111

8.5 在构造阶段中前进 114

8.6 为什么开发会加速? 120

8.7 其余的构造阶段迭代 123

8.8 每个人都会在某个时候需要朋友:结对编程 125

8.9 在构造阶段进行测试 126

8.10 预见团队成员的变化 127

8.11 小结 128

第9章 构造阶段详情 129

9.1 精细调节用户界面 129

9.2 完成数据库 139

9.3 测试 145

9.4 小结 148

第10章 移交阶段:交付PSP Tools 149

10.1 什么是移交阶段? 149

10.2 向移交阶段过渡 150

10.3 移交阶段的目标 150

10.4 需求怎么样了? 150

10.5 移交阶段的代码变更 153

10.6 独立测试人员的重要性 153

10.7 产品打包 156

10.8 用户培训 158

10.9 我们完成了吗? 160

10.10 小结 161

第11章 事后分析:如何改进下一版? 162

11.1 进行事后回顾的益处 162

11.2 引导事后分析回顾 162

11.3 我们的事后分析回顾 167

11.4 为下一个项目团队进行清理 170

11.5 变化的地形 175

11.6 PSP Tools的将来 178

11.7 小结 178

附录A Rational统一过程介绍 180

A.1 通向RUP之门 180

A.2 RUP的关键概念 182

A.3 RUP里程碑 185

A.4 小结 188

附录B 个体软件开发过程概述 189

B.1 个体软件开发过程 189

B.2 目标与关注的重点 190

B.3 结论 191

附录C 极限编程介绍 192

C.1 主要的价值 192

C.2 极限编程实践方法 193

推荐读物 194