《软件开发过程与配置管理 基于Rational的敏捷方案设计与应用》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:刘江华等著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2011
  • ISBN:9787121123078
  • 页数:403 页
图书介绍:本书共分4篇。首篇概述软件开发过程和配置管理的基本原则、方法、过程和工具。第二篇详述一种基于IBM Rational ClearCase和ClearQuest的集成式软件开发过程与配置管理方案的设计与实现细节。第三篇以一个模拟项目演示该方案在敏捷软件开发项目中的部署和应用情景。末篇介绍该方案与其他软件开发工具,同时为读者了解和选择Rational最新的软件开发过程和配置管理支持工具提供参考信息。

第1篇 理论与背景 2

第1章 典型软件开发过程及主要模型 2

1.1软件生命周期及主要过程 3

1.1.1软件计划阶段 4

1.1.2需求分析阶段 5

1.1.3软件设计阶段 6

1.1.4软件编码阶段 7

1.1.5软件测试阶段 7

1.1.6软件维护阶段 8

1.2软件开发过程模型 9

1.2.1瀑布模型 9

1.2.2螺旋模型 11

1.2.3RUP模型 12

1.2.4敏捷开发 15

第2章 软件配置管理的基本概念原理 19

2.1软件配置管理概览 20

2.1.1什么是软件配置管理 20

2.1.2软件配置管理的起源与发展 21

2.1.3软件配置管理能解决哪些问题 21

2.2软件配置管理的任务和活动 22

2.2.1软件和配置项 22

2.2.2标识 23

2.2.3变更控制 23

2.2.4状态报告 24

2.2.5配置审计 25

2.3软件配置管理的核心要素 26

2.3.1版本和版本树 26

2.3.2里程碑与基线 26

2.3.3软件配置库 27

2.3.4工作空间 27

2.3.5变更请求与变更集 28

2.3.6软件配置管理工具 28

2.4软件配置管理的主要过程 29

2.4.1配置项标识与存储过程 29

2.4.2版本管理过程 30

2.4.3变更控制过程 31

2.4.4基线管理过程 32

2.5软件配置管理中的角色 34

2.5.1配置管理专职人员 34

2.5.2机构运营管理人员 35

2.5.3项目开发人员 36

第3章 常用软件配置管理工具简介 37

3.1软件配置管理工具的发展历程 38

3.2面向文件的配置管理工具及功能 38

3.2.1早期的软件配置管理工具 38

3.2.2CVS 39

3.2.3VSS 39

3.3面向变更集的配置管理工具及功能 39

3.3.1ClearCase UCM 40

3.3.2其他面向变更集的工具 42

3.4面向开发流程的配置管理工具及功能 42

3.4.1集成的ClearCase和ClearQuest 43

3.4.2其他面向开发流程的工具 44

第2篇 设计与实现 48

第4章 面向软件开发过程的软件配置管理系统 48

4.1陷入泥潭中的项目——没有完善配置管理的软件开发 49

4.2软件开发过程的基本要素与本质特性 51

4.2.1什么是软件开发过程 52

4.2.2软件开发过程的四要素 53

4.2.3软件开发过程的本质特性——复杂性 54

4.3软件配置管理与软件开发过程要素的关系 54

4.3.1对人员的支持 55

4.3.2对任务的支持 57

4.3.3对方法的支持 58

4.3.4对产品的支持 60

4.4软件配置管理驱动软件开发过程的量化和改进 61

4.4.1度量在软件开发过程中的作用 61

4.4.2如何建立有效的度量体系 62

4.4.3软件配置管理为度量提供客观数据 63

4.4.4基于度量的过程改进 64

4.5 ISO和CMMI中的软件配置管理 64

4.5.1 ISO 9000中对配置管理的要求 65

4.5.2 CMMI中对配置管理的要求 66

4.6定制配置管理系统以支持软件开发过程 71

4.6.1角色与职责 71

4.6.2任务和变更管理 72

4.6.3过程支持 72

4.6.4团队开发 73

4.6.5构造和发布 73

4.6.6项目管理 74

第5章 基于ClearCase/ClearQuest的方案总体设计 75

5.1 C1earCase/C1earQuest固有的过程支持及可扩展性 76

5.1.1 C1earCase UCM模型 76

5.1.2基于UCM模型的开发流程 77

5.1.3 C1earQuest简介 78

5.1.4定制和扩展C1earQuest 78

5.2完善任务管理 81

5.2.1定义任务范围和类型 81

5.2.2设定任务属性 82

5.2.3确定任务完成状态 82

5.2.4建立任务间的关系 83

5.2.5任务实施过程中的数据记录 83

5.2.6流程方案中的任务设计 84

5.3明晰开发团队角色 84

5.3.1软件项目中的角色和职责 84

5.3.2角色在任务处理中的分工 85

5.3.3流程方案中的角色设计 87

5.4加强产品和基线管理 87

5.4.1软件产品的演化过程 87

5.4.2通过基线记录产品的演化过程 88

5.4.3管理复杂的产品和基线 89

5.4.4流程方案中的基线设计 90

5.5收集开发过程管理数据 91

5.5.1常用过程管理数据 91

5.5.2如何收集生成数据 92

5.5.3如何获取与展示数据 93

第6章 工作流程的详细设计 94

6.1变更记录的流程处理与状态流图 95

6.1.1缺陷更改记录的状态流程 96

6.1.2功能更改记录的流程 99

6.2变更流程的状态模型 100

6.2.1定义状态模型 100

6.2.2使用状态转移矩阵图 101

6.2.3添加、更改和删除状态 101

6.3流程中的动作机制 103

6.3.1变更记录的动作 103

6.3.2ClearQuest支持的动作类型 106

6.3.3添加新的动作 106

6.3.4创建状态迁移 106

6.3.5更改动作 107

6.3.6通过添加Hook定制动作 107

6.3.7使用默认的动作 108

6.3.8删除动作 108

第7章 数据模型设计 109

7.1 C1earQuest数据存储机制 110

7.1.1模式库 110

7.1.2用户数据库 111

7.2 C1earQuest数据库设计 112

7.2.1数据库设计简介 112

7.2.2记录类型 112

7.2.3数据类型 113

7.2.4数据项操作 114

7.3新方案数据模型 115

7.3.1基础数据模型 115

7.3.2数据表设计 116

7.3.3关联数据表 117

7.4数据项设计 118

7.4.1任务相关数据 118

7.4.2产品相关数据 119

7.4.3人员相关数据 121

第8章 变更控制信息设计 123

8.1基本的变更控制信息 124

8.1.1标志信息 124

8.1.2范围信息 124

8.1.3类型信息 125

8.1.4状态信息 126

8.1.5描述信息 126

8.1.6人员信息 127

8.1.7执行属性 128

8.2变更附加信息 129

8.2.1附加开发数据 129

8.2.2附加测试数据 130

8.2.3附加发布数据 131

8.2.4附加二进制信息 132

8.3任务关联信息 132

8.3.1任务的层次结构 133

8.3.2任务与代码的关系 133

8.3.3任务与结果关系 134

8.3.4特定的任务关系 135

8.4过程相关信息 136

8.4.1任务状态 136

8.4.2任务决策数据 137

8.4.3任务实施数据 137

8.4.4任务验证数据 138

8.4.5任务历史 138

第9章 基于角色的权限控制 140

9.1变更控制委员会 141

9.2开发相关角色 142

9.2.1开发小组负责人 142

9.2.2开发人员 143

9.3测试相关角色 144

9.3.1测试负责人 144

9.3.2测试人员 145

9.4集成人员 146

9.5项目管理者 146

9.6角色权限控制的实现 147

9.6.1确定允许的操作 147

9.6.2动作的权限控制 147

9.6.3数据行为设置 149

第10章 实现对项目整体的支持 151

10.1 UCM中的项目和相关对象 152

10.1.1项目 152

10.1.2流 152

10.1.3活动 155

10.2 UCM对项目模块结构的支持 156

10.2.1确定版本控制工件(Artifact) 156

10.2.2UCM组件 157

10.2.3如何划分组件 158

10.3软件开发项目与UCM项目的对应 161

10.3.1UCM项目的应用方式 161

10.3.2C1earQuest中的开发项目 163

10.3.3关联UCM项目与C1earQuest中项目 164

10.4任务分解与团队分工 166

10.4.1按产品功能划分任务 166

10.4.2基于角色和功能模块的人员组织 167

10.4.3复杂任务支持 168

第11章 关键变更控制点的设计与实现 169

11.1 UCM中的变更状态和相关C1earQuest软件包 170

11.1.1ClearQuest软件包 170

11.1.2匹配状态类型 171

11.1.3设定状态对应的默认动作 173

11.1.4集成UCM策略 174

11.1.5集成UCM软件包 175

11.2任务的接收和分配 176

11.2.1任务自动分配的项目需求 176

11.2.2版本和功能组件共同决定是否自动分配 176

11.2.3自动分配的实现 177

11.3 UCM Project的检查和重用机制 180

11.3.1对版本实现不同级别的锁 180

11.3.2检查版本和UCM项目的对应关系的唯…性 180

11.4代码审查 182

11.4.1开关机制强制代码复查 183

11.4.2代码复查相关的状态和动作 183

11.5父子任务同步 185

11.5.1开发人员相关的动作 186

11.5.2测试人员的动作 187

11.6新功能请求的特殊控制 189

11.6.1限制普通开发人员创建新功能 189

11.6.2变更请求类型的变化 190

11.6.3新功能记录从Submitted状态到Closed状态的直接跳转 192

第12章 代码集成与构造过程 193

12.1集成和构造的基本原则 194

12.1.1根据项目管理的需求实现构造管理 194

12.1.2自动化构造过程减少人工操作 194

12.1.3构造过程可重复 194

12.1.4构造的周期性和连续性 195

12.1.5按照产品组件进行构造 195

12.1.6自动化部署并进行初步验证 195

12.1.7生成清晰、完整的构造信息 195

12.2 C1earCase和C1earQuest中与集成构造相关的对象 196

12.2.1构造支持对象:元素、分支和版本 196

12.2.2构造处理对象:标签、属性、超链、触发器 196

12.2.3工作流和活动 197

12.2.4构件和基线 198

12.3基于构造流的构造过程 199

12.3.1UCM中构造策略的选择 199

12.3.2引入构造流的好处 200

12.3.3如何设置构造流 200

12.3.4基线管理策略 201

12.3.5基于构造流的构造过程 202

12.4构造清单和文件列表 204

12.4.1构造清单的意义 204

12.4.2生成构造清单并添加到C1earQuest系统中 205

12.4.3变更文件列表 207

12.5封装构造过程 209

12.5.1前处理命令 209

12.5.2产品构造程序调用命令 211

12.5.3后处理命令 211

12.6构造结果示例 212

第13章 查询与统计图表设计 214

13.1创建和使用查询 215

13.1.1选择数据来源 215

13.1.2确定结果格式 215

13.1.3设定查询条件 215

13.1.4操作查询结果 216

13.2各类图表的创建方法 217

13.2.1图表机制和图表分类 217

13.2.2缺陷分布图的创建 218

13.2.3缺陷趋势图的创建 220

13.2.4缺陷期龄图的创建 221

13.3常用项目管理数据和图表 222

13.3.1项目质量指标 223

13.3.2项目进度指标 223

13.3.3效率指标 224

13.4典型缺陷图表分析 225

第3篇 实施与应用 228

第14章 模拟项目“电网计费系统”介绍 228

14.1系统需求 229

14.2项目涉众 230

14.3开发环境和方法 231

第15章 开发团队部署 232

15.1部署开发工具 233

15.1.1选择开发工具 233

15.1.2组建部署小组 235

15.1.3部署方法和过程 236

15.2选定开发模型 238

15.2.1获取其他项目的经验 238

15.2.2领会敏捷开发模型 239

15.2.3寻求工具对开发模型的支持 240

15.3确定团队结构和角色 241

15.3.1多敏捷团队结构 241

15.3.2不同角色的主要职责 242

15.3.3独立测试团队 243

15.4规划配置库和组件模块 244

15.4.1 VOB库和UCM组件 244

15.4.2 UCM和C1earQuest项目 245

15.4.3 ClearQuest模块 246

第16章 安装基本配置管理系统 247

16.1准备安装环境 248

16.2安装配置域服务器 249

16.2.1扩展AD域的Schema 250

16.2.2用户的UNIX属性 250

16.2.3配置CIearCase主机使用LDAP认证 251

16.2.4配置Vob服务器上的Samba使用域认证 252

16.3 C1earCase主要服务器介绍 253

16.3.1 C1earCase VOB服务器 253

16.3.2 C1earCase注册服务器 253

16.3.3注册域(Region) 253

16.4配置VOB服务器支持环境 254

16.4.1 C1earCase用户和组权限设置 254

16.4.2 Linux VOB服务器端的Samba共享配置 255

16.4.3 Linux VOB服务器端NFS共享配置 256

16.5安装ClearCase客户端和服务器 256

16.5.1创建C1earCase发布区 257

16.5.2升级发布区 257

16.5.3安装C1earCase服务器端 257

16.5.4 C1earCase客户端安装 258

16.6 C1earQuest安装及初始化 258

16.6.1 C1earQuest的安装 259

16.6.2 C1earQuest数据初始化 259

16.7安装许可证服务器 260

第17章 搭建集成式配置管理环境 262

17.1创建配置管理库 263

17.1.1准备VOB存储空间 263

17.1.2创建VOB和PVOB 263

17.1.3在VOB中创建组件(Component) 264

17.2创建并配置UCM项目 265

17.3创建C1earQuest项目 266

17.3.1创建“电网计费”项目对应的Product记录 267

17.3.2创建“电网计费”项目对应的Version记录 267

17.3.3创建“电网计费”项目对应的Component记录 268

17.3.4创建“电网计费”项目对应的Lineitem记录 268

17.4建立CC/CQ项目关联 269

17.4.1C1earCase端关联C1earQuest数据库 269

17.4.2在C1earQuest中关联UCM Project 269

17.5设置特殊对象和属性 270

17.5.1准备构造流和相关的属性 270

17.5.2应用触发器 271

第18章 日常敏捷开发 273

18.1制订迭代计划 275

18.2开发实现 277

18.3缺陷修正 278

18.4每日站立会议(Scrum) 281

18.5沟通协作 281

第19章 每日集成构造 284

19.1建立构造环境 285

19.1.1安装构造所需的工具 285

19.1.2建立工作空间 285

19.2自动化集成构造过程 287

19.2.1构造过程自动化 288

19.2.2代码集成自动化 289

19.2.3构造结果部署和测试自动化 290

19.2.4部署自动化脚本 290

19.3构造结果保存和发布 291

19.4构造异常处理 292

19.4.1查找构造中断的引入者 293

19.4.2检入补丁代码并继续构造过程 294

19.5实现持续集成 294

19.5.1检索是否有开发人员交付工作 294

19.5.2缩短构造过程 296

第20章 日常敏捷测试 297

20.1测试介入阶段 298

20.2测试驱动的开发 300

20.2.1概述 300

20.2.2过程 301

20.2.3优点 302

20.3测试自动化 303

20.4独立团队测试 304

20.5缺陷跟踪 305

第21章 项目管理和产品发布 307

21.1项目发布规划 308

21.1.1发布计划 308

21.1.2进度管理 309

21.2功能划分与人员设定 310

21.2.1功能划分 311

21.2.2人员设定 314

21.3进度跟踪报告 314

21.4风险管理 317

21.5发布管理 319

第4篇 扩展与升华 322

第22章 ClearCase与其他SDP工具的集成 322

22.1与需求管理工具的集成 323

22.1.1 Base ClearCase和RequisitePro集成 323

22.1.2 ClearCase UCM和RequisitePro集成 323

22.2与开发设计工具的集成 326

22.2.1与Rational RSA和RAD的集成 326

22.2.2与微软Visual Studio的集成 329

22.3与测试工具集成 331

22.3.1 ClearCase与CQTM的集成 331

22.3.2 ClearCase与Rational RFT、RPT的集成 334

第23章 构建管理工具的使用与集成 335

23.1 BuildForge的功能介绍 36

23.1.1功能特性和产品架构 336

23.1.2对象与概念 337

23.2自动化构建示例 339

23.2.1“电网计费”系统原有构建过程 339

23.2.2创建BuildForge对象和属性设置 339

23.2.3设置定时构建启动 344

23.3 BuildForge与变更和配置管理系统集成 345

23.3.1什么是适配器 345

23.3.2适配器环境变量 346

23.3.3在项目中使用适配器 347

第24章 如何支持远程团队 349

24.1使用Web方式支持远程团队 350

24.1.1 CC Web Server安装和配置 350

24.1.2 ClearCase远程客户端CCRC 351

24.1.3 ClearQuestWeb服务器安装和配置 351

24.1.4 ClearQuestWeb的使用 353

24.2 CCRC和CQ Web集成应用 354

24.2.1准备UCM视图 354

24.2.2远程客户端关联ClearQuest记录 354

24.2.3CCRC中的交付和同步 355

24.3使用Multisite支持远程团队 356

24.3.1 ClearCase和ClearQuest Multisite简介 357

24.3.2 VOB副本 357

24.3.3使用Mastership实现独立开发 358

24.3.4站点间的同步模式 359

24.3.5 ClearCase Multisite站点的复制和同步 359

24.3.6 UCM的应用实例 362

24.3.7 ClearQuest的Multisite 363

第25章 基于度量的项目管理和过程优化 366

25.1可度量的能力改进框架 367

25.2Rational Insight介绍 369

25.2.1 Rational Insight架构 370

25.2.2 Rational Insight4的安装 372

25.2.3 Rational Insight的管理 373

25.3 Rational Insight应用举例 374

25.3.1定制样本报告 374

25.3.2定制仪表板 377

25.3.3报告追溯 378

第26章 如何与Jazz & RTC集成 380

26.1 Jazz概述 381

26.1.1 Jazz平台的目标 381

26.1.2 Jazz体系结构 382

26.2第一个基于Jazz平台的产品——RTC 384

26.2.1 RTC简介 384

26.2.2 RTC中的主要概念 385

26.2.3使用RTC进行团队协作 387

26.2.4使用RTC进行软件配置和变更管理 392

26.2.5软件构建 395

26.3 RTC与ClearQuest和ClearCase的集成 395

26.3.1使用ClearQuest Bridge来连接RTC和ClearQuest 396

26.3.2将RTC与C1earCase关联 398

26.4其他Jazz产品 399

参考文献 400