《AOSD中文版 基于用例的面向方面软件开发》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)Ivar Jacobson,(美)Pan-Wei Ng著;徐锋译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2005
  • ISBN:7121018314
  • 页数:418 页
图书介绍:本书系统阐述了面向方面软件开发(AOSD)方法,AOSD的目标是通过使系统的功能需求、非功能需求、平台特性等诸多不同的关注点相互独立,实现更高的模块化,来构建出易于理解、易于扩展、高复用性、高质量的软件系统。AOSD将用例技术和面向方面技术有机结合在一起,为软件开发提供了一个切实可行的最佳实践集。本书还系统阐述了用例技术、AOP(面向方面编程)技术的特点和使用方法,以及实现用例与AOP结合使用的用例模块、用例切片等技术。并且通过一个现实世界中常见的“酒店管理系统”来展示了如何在项目实践中高效地应用AOSD方法。作者见解独到、精辟,不仅阐述了理论知识,还详尽说明了如何在项目的不同阶段中应用AOSD技术。这本书对于项目经理、系统分析员、系统设计师及广大开发人员,都具有很高的实用价值。

第1篇 用例和方面的应用实例 1

第1章 要解决的问题 3

1.1 组件现在的用途 3

1.1.1 使用组件构建系统 4

1.1.2 组件的益处 6

1.2 组件的局限性 6

1.2.1 无法使对等关注点相互分离 8

1.2.2 无法使扩展相互分离 9

1.3 寻求解决方案 11

1.3.1 对于扩展的早期支持 12

1.3.2 UML对扩展的支持 15

1.4 使关注点保持分离 16

第2章 使用方面技术来解决问题 17

2.1 使用方面技术寻求解决方案 17

2.2 基于方面技术使对等关注点保持分离 19

2.3 基于方面技术使扩展保持分离 21

2.4 方法学指导的需要 26

第3章 现在基于用例 29

3.1 用例概述 29

3.2 用例驱动开发 32

3.3 用例的角色和益处 34

3.4 用例技术的缺口(gap) 34

3.5 基于方面来填补缺口(gap) 35

第4章 将来基于用例模块 37

4.1 通过叠加用例切片来构建系统 38

4.2 使对等用例保持分离 40

4.3 使扩展用例保持分离 42

4.4 基于用例模块开发 45

第2篇 基于用例捕获关注点并建模 49

第5章 基于用例对关注点建模 51

5.1 用例建模 51

5.2 用例实例和事件流 53

5.3 用例描述 54

5.4 用例事件流的可视化 57

5.5 总结与强调 60

第6章 用例结构化 61

6.1 用例关系 61

6.2 用例扩展关系 63

6.3 用例包含关系 70

6.4 用例泛化 73

6.5 公共用例 77

6.6 总结与强调 79

第7章 基于用例捕获关注点 81

7.1 理解涉众关注点 81

7.1.1 理解问题域 82

7.1.2 抽取系统特性 83

7.1.3 处理功能和非功能需求 84

7.2 捕获应用用例 86

7.2.1 识别用例变量 87

7.2.2 处理用例变量 88

7.2.3 处理扩展用例 91

7.3 捕获基础结构用例 93

7.3.1 执行事务用例 94

7.3.2 基础结构用例的结构化 96

7.3.3 描述基础结构用例 98

7.3.4 处理系统范围的关注点 100

7.4 总结与强调 101

第3篇 基于用例模块实现关注点分离 103

第8章 基于用例切片使对等用例保持分离 105

8.1 实现对等用例 106

8.1.1 协作 106

8.1.2 实现一个用例 108

8.1.3 对等用例实现之间的交迭 110

8.2 使用例特定部分保持分离 111

8.2.1 合并特定于某用例的类 113

8.2.2 合并用例特定的类扩展 115

8.2.3 用例切片中的协作 117

8.3 处理叠加 118

8.3.1 被包含的用例切片 119

8.3.2 用例切片泛化 121

8.3.3 非用例特定切片 123

8.4 总结与强调 125

第9章 基于pointcut使扩展保持分离 127

9.1 实现扩展用例 128

9.2 使扩展用例的实现保持模块化 129

9.2.1 操作扩展 130

9.2.2 Pointcut 133

9.3 参数化Pointcut 135

9.3.1 标识参数 136

9.3.2 定义参数 137

9.3.3 用AOP实现pointcut参数化 138

9.4 对扩展用例实现进行泛化 139

9.5 对用例切片模板化 142

9.6 总结与强调 144

第10章 基于用例模块构建系统 145

10.1 系统由模型组成 146

10.2 用例模型 147

10.3 分析模型 148

10.3.1 分析的语言 149

10.3.2 进行分析 150

10.4 设计和实现模型 152

10.4.1 设计和实现的语言 152

10.4.2 进行设计和实现 154

10.5 用例模型横切于模型 154

10.5.1 保持用例模型中的结构 155

10.5.2 用例模块包括用例切片 157

10.5.3 用例模块间的关系 158

10.6 合并和配置用例模块 159

10.7 总结与强调 161

第4篇 基于用例和方面建立架构 163

第11章 通往弹性软件架构之路 167

11.1 什么是架构 168

11.2 什么是好的架构 168

11.3 建立架构基线的步骤 170

11.4 从平台无关的结构开始 174

11.4.1 元素结构 174

11.4.2 用例结构 177

11.5 叠加平台特性 179

11.5.1 选择平台 179

11.5.2 保持平台特性独立 181

11.6 总结与强调 184

第12章 基于对等的应用用例使功能需求保持分离 187

12.1 分析应用用例 188

12.1.1 识别类 189

12.1.2 为类分配用例行为 190

12.2 使应用用例保持分离 195

12.2.1 元素结构 195

12.2.2 用例结构 196

12.3 设计应用用例 199

12.3.1 识别设计元素 200

12.3.2 识别组件和接口 203

12.4 精炼设计元素 205

12.4.1 使类扩展保持分离 205

12.4.2 使操作扩展保持独立 207

12.4.3 保持状态转换独立 209

12.5 总结与强调 211

第13章 基于应用-扩展用例使功能需求保持分离 213

13.1 分析应用-扩展用例 214

13.1.1 识别类 215

13.1.2 识别Pointcut 216

13.1.3 将用例行为分配给类 218

13.2 使应用-扩展用例保持分离 220

13.2.1 结构化备选事件流 221

13.2.2 使备选事件流保持分离 222

13.3 设计应用-扩展用例 224

13.3.1 操作扩展设计 224

13.3.2 从用例扩展中标识组件接口 225

13.3.3 实现用例的多重扩展 226

13.3.4 从多个用例扩展 229

13.4 处理基用例的变化 230

13.4.1 使用反射 232

13.4.2 使用设计模式 232

13.4.3 使用自适应编程 235

13.5 总结与强调 236

第14章 基于基础结构用例使非功能需求保持分离 239

14.1 基础结构用例分析 240

14.1.1 识别类 241

14.1.2 标识pointcut 242

14.1.3 将用例行为分配给类 245

14.2 使基础结构用例保持分离 247

14.3 基础结构用例设计 250

14.3.1 基于方面应用基础结构用例切片 251

14.3.2 基于过滤器应用基础结构用例切片 252

14.3.3 在基础结构层中标识组件 255

14.4 处理多个基础结构用例 256

14.5 总结与强调 261

第15章 基于平台相关用例切片使平台特性保持分离 263

15.1 使平台特性保持分离 264

15.1.1 三层(Tier)系统 264

15.1.2 tier包 266

15.1.3 使用基础结构用例对tier建模 268

15.2 叠加用户界面 269

15.2.1 没有表示层细节的最小化用例设计 270

15.2.2 J2EE的Web表示机制 271

15.2.3 表示机制的设计 273

15.2.4 应用表示层机制 275

15.3 加入分布式处理 276

15.3.1 不考虑分布式处理的最小化用例设计 277

15.3.2 EJB分布式机制 278

15.3.3 分布式机制设计 281

15.3.4 分布式机制的应用 286

15.4 加入持久性处理 290

15.4.1 不包含持久性的最小化用例设计 291

15.4.2 J2EE中的关系型持久性机制 292

15.4.3 持久性机制设计 293

15.4.4 持久性机制应用 297

15.5 保持用例结构 298

15.6 总结与强调 299

第16章 基于用例测试切片使测试保持分离 301

16.1 测试优先方法 301

16.2 从用例确定测试用例 303

16.2.1 从用例事件流中确定测试用例 304

16.2.2 从用例变量确定测试用例 305

16.2.3 确定横切多个应用用例的测试用例 306

16.2.4 为基础结构用例和平台特性确定测试用例 306

16.2.5 确定性能测试用例 307

16.3 确定要测试的元素 308

16.4 测试的设计与实现 310

16.4.1 测试基础结构的设计 312

16.4.2 设计测试用例 316

16.5 总结与强调 317

17.1 将其合在一起 319

第17章 架构评估 319

17.2 关注点分离的评估 324

17.2.1 设计元素的评估 325

17.2.2 设计包的评估 325

17.2.3 用例结构的评估 327

17.2.4 自动评估 329

17.2.5 强制对关注点进行分离 330

17.3 系统级关注点的评估和实现 332

17.3.1 可维护性的评估和实现 332

17.3.2 可扩展性的评估和实现 332

17.3.3 可移植性的评估和实现 333

17.3.4 复用性的评估与实现 334

17.3.5 性能和可靠性的评估与实现 334

17.4 总结与强调 336

第18章 架构描述 339

18.1 架构视图组成的架构描述 340

18.2 用例模型的架构视图 342

18.3 分析模型的架构视图 344

18.3.1 架构性重要分析元素 344

18.3.2 架构性重要用例分析切片 346

18.4 设计模型的架构视图 347

18.4.1 架构重要的部署元素 348

18.4.2 架构性重要进程元素 348

18.4.3 架构重要的设计元素 349

18.4.4 架构重要用例设计切片 351

18.5 总结与强调 352

第5篇 在项目中应用用例和方面 355

第19章 运作一个项目 357

19.1 迭代式开发 357

19.1.1 项目中的阶段 358

19.1.2 迭代中的活动 359

19.2 估算开发工作量 359

19.2.1 在项目之初进行估算 360

19.2.2 对估算进行提炼 362

19.3 项目的计划和监控 363

19.3.1 项目延误估算 363

19.3.2 使项目跟上进度 364

19.4 保持关注点分离带来的生产率提高 365

19.5 总结与强调 367

第20章 方法剪裁 369

20.1 实现正确的平衡 369

20.2 选择应用的科目 370

20.3 在项目的不同阶段采用 373

20.4 总结与强调 374

第21章 方面与超越 375

21.1 在扩展(Extensions)上构建系统 375

21.2 均衡各种最佳实践 376

21.3 未来之路 377

附录A 使用UML对方面和用例切片建模 379

A.1 用类扩展对Intertype声明建模 380

A.2 用操作扩展对Advice建模 381

A.2.1 Before和After的语义 382

A.2.2 Around的语义 382

A.3 对Pointcuts建模 383

A.4 对用例切片建模 384

附录B 符号指南 387

B.1 包(Package) 387

B.2 参与者和用例 388

B.3 类和实例 389

B.4 组件和接口 391

B.5 进程和节点 392

参考文献 395

术语表 399

索引 407