目 录 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