《快速开发最佳软件》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(英)Andy Carmichael,(英)Dan Haywood著;詹梅,杨卫东等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2004
  • ISBN:7505396714
  • 页数:369 页
图书介绍:本书的主要目标是使开发团队用最小的预算获得最大的帮助,开发出最佳的软件。本书向你推荐了一种轻量级、灵活的软件开发过程,刚刚够用的过程,刚刚够用的形式,以及刚刚够用的文档。本书全篇贯穿了四大主题:只维护一个单源模型,最小元模型,扰乱改变模型,持续的质量测量。主要讲述的是如何使用Together这一软件开发平台帮助你在更短的时间内交付同样质量或更高质量的软件,即快速开发最佳软件。本书适合于软件开发团队、团队领导和项目经理,尤其是将Java或类似的面向对象语言作为程序设计语言的软件开发团队使用,也是与教师、学生、培训人员及顾问作参考手册。

目 录 1

第1章Together——与众不同之处 1

1.1现在需要Together 1

1.2本书所蕴含的原则 3

1.3为什么说Together是一种令人激动的技术 5

1.3.1维护单源模型(Live Source技术) 5

1.3.2通过配置管理控制协作 13

1.3.3烦琐事务的自动化 15

1.3.4使用模式传播专家经验 16

1.3.5持续的质量监控和反馈 16

1.4.1只构造所需要的 19

1.4过程、过程,自始自终 19

1.4.2要素 21

1.4.3非线性生命周期总是处于过程之中 22

1.4.4最小元模型 23

1.5下章内容 28

第2章最后的步骤:部署和运行 29

2.1轿车服务(CarServ)系统 29

2.1.1 Cloudscape(云图数据库) 30

2.2演化的系统 34

2.3检查单个模型 35

2.4改变和重新部署 40

2.5文档生成 44

2.6下章内容 50

3.1说明书的元素 51

第3章第1步:对领域建模 51

3.2领域建模 53

3.2.1着色建模 53

3.3类型和类 63

3.4把类型建模成类 64

3.4.1 建模属件 65

3.4.2无导航的关联 68

3.4.3建模操作 70

3.5下章内容 72

第4章受益者步骤:说明需求 73

4.1业务流程 73

4.1.1 ML图 74

4.1.2业务用例与系统用例 78

4.1.3 CarServ的业务用例 79

4.1.4判定点和对象流 82

4.2系统功能 83

4.2.1什么(What)、怎样(How)、为什么(Why) 83

4.2.2 CarServ系统用例 85

4.2.3脚本(Scenarios) 90

4.3 建模用户:参与者 91

4.3.1参与者与人物(persona) 92

4.3.2参与者作为安全角色 93

4.3.3批处理 94

4.4使用状态图明确需求 94

4.5非功能性需求 98

4.7下章内容 100

4.6配置管理 100

第5章控制步骤:以特征为中心的管理 103

5.1使一切都在控制中 104

5.2为什么以特征为中心 105

5.3为什么要用时间段(Timeboxes) 108

5.3.1一定规模内的自相似 110

5.3.2贯穿于生命周期的自相似 112

5.4为什么是适应的 113

5.5估算实现特征的代价 116

5.5.1三点估算法 117

5.5.2项目速率 118

5.6用例与特征 120

5.6.2重构的代价和体系结构 121

5.6.1在Together中的用例和特征 121

5.6.3配置管理 123

5.7下章内容 124

第6章持续的步骤:测量质量 125

6.1如何测量质量 126

6.1.1黑盒测量和白盒测量 128

6.2测试 129

6.2.1功能测试 130

6.2.2非功能测试 132

6.2.3单元测试 133

6.2.4 Together的测试框架 135

6.2.5多少单元测试才是充分的 144

6.3度量 148

6.4审核 152

6.4.1 定制审核 154

6.4.2编译模型 160

6.4.3其他观点 161

6.5生成文档 162

6.5.1超链接 163

6.5.2设计模式 171

6.5.3 Together的文档生成 175

6.5.4检查与审查 177

6.6下章内容 180

第7章微观步骤:设计和实现 181

7.1.1把一个新需求加到构造中 183

7.1一个已实现的例子 183

7.1.2定义测试 186

7.1.3设计用户交互 187

7.1.4设计对象交互 193

7.1.5设计持久性数据 193

7.2有效的交互设计 195

7.2.1此前和此后 195

7.2.2选择设计 197

7.2.3指定维护关联的责任(哪个对象维护关联) 202

7.2.4改变视角 204

7.2.5在交互图中避免细节 206

7.2.6异步交互 210

7.3.1保存领域模型视图 213

7.3有效类图 213

7.3.2包类图与类图 216

7.3.3阐明设计时易忽略的角落 218

7.3.4类符号分隔栏 221

7.3.5双向关联 222

7.3.6限定的关联 225

7.4使用模式 226

7.5使用Together重构 228

7.6 定制Together 232

7.7下章内容 234

第8章宏观步骤:体系结构 235

8.1什么是体系结构,为什么它很重要 236

8.2框架优先还是功能优先 237

8.3体系结构的职责 241

8.4给出关于体系结构约束的文档 243

8.5对依赖关系的管理 248

8.5.1包间依赖 248

8.5.2依赖倒置原则 250

8.5.3强制依赖 253

8.6层间的交互 257

8.6.1从表示到应用 258

8.6.2从应用到领域 261

8.6.3领域和数据管理 261

8.7版本和配置的管理 263

8.8下章内容 265

8.7.1版本控制下的模型元素的移动和重命名 265

第9章J2EE体系结构 267

9.1 利用Together轻松使用J2EE 268

9.1.1开发 268

9.1.2与Tomcat绑定在一起交付 271

9.1.3部署到外部应用服务器 275

9.1.4其他的J2EE支持 283

9.1.5测试 283

9.1.6总结 284

9.2 J2EE并不那么容易 285

9.2.1层次的体系结构 285

9.2.2表示层的问题 286

9.2.3持久层的问题 287

9.2.4状态 289

9.2.5总结 290

第10章结束语 291

10.1我们需要你再做一次 291

10.2简单总结一下 292

10.2.1一个单源模型 292

10.2.2最小元模型 293

10.2.3扰乱改变模型 293

10.2.4持续的质量测量 294

10.3现在结束了 294

附录A安装案例研究软件 295

A.1开始之前 295

A.2.1环境变量 296

A.2 Together的下载和安装 296

A.3案例研究 298

A.3.1 Cloudscape数据库 298

A.3.2案例研究源码 301

A.3.3建立数据库 302

A.4快速测试 303

附录B JUnit和JUnitX 305

B.1动机 305

B.2开始 305

B.3使用Together的测试框架创建测试用例和测试包 307

B.3.1创建测试用例 307

B.4场景背后 308

B.4.1框架类 308

B.3.2创建测试代理 308

B.3.4运行测试 308

B.3.3创建测试包 308

B.5扩展 313

B.6在实践中写测试 316

B.6.1 tearDown 317

B.6.2改变System.out 317

B.6.3 (使用TestProxy)测试隐含功能 318

B.6.4测试代理的意外异常 319

B.6.5线程化 320

C.1文件名 323

C.2技巧和诀窍 323

C.1 动机 323

附录C使用.config文件定制Together 323

C.2.2加入而不是覆盖 324

C.3 Bean的特性 324

C.4文档化模式实例 325

C.5着色注释 327

C.6对照对象图 327

C.7文档化包依赖 330

附录D定制Together模板 333

D.1动机 333

D.2幕后 333

D.3汇集API模板 334

D.4模板 335

附录E定制Together的检查器 337

E.1动机 337

E.2检查器特性生成器 337

E.3使用基于配置的检查器 339

E.4开放的API 344

E.5检查器框架 344

E.6结论 352

附录F RwiSupport框架 353

F.1动机 353

F.2框架类 353

F.3可能的增强 356

附录G CarServ用例研究 359

参考文献 365