The Object Primer中文版:agile model-driven development with UML 2.0

The Object Primer中文版:agile model-driven development with UML 2.0
作 者: Scott Ambler 车皓阳 张家才 车皓阳
出版社: 机械工业出版社
丛编项: 软件工程技术丛书 对象技术系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 面向对象
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  ScottW.Ambler早在上世纪八十年代早期就开始从事软件开发,使用诸如Fortran和Basic开发。从1990年起就开始作为过程指导者,系统架构师,项目经理,指导者,开发人员,分析师,设计人员,以及培训人员从事面向对象开发。在这些角色中,对于复杂概念的有效沟通是必要的―――并且他还写作了ObjectPrimer(1995/2000),BuildingObjectApplicationsThatWork(1997),ProcessPatterns(1998),以及MoreProcessPatterns(1999),和TheElementsofJavaStyle(2000)。Scott目前在AmbySoft国际公司致力于软件过程指导,同时还是SoftwareDevelopment杂志的贡献编辑,以及ComputingCanada的专栏作家。相关图书面向对象项目的解决方案UML业务建模

内容简介

Scott W. Ambler是获奖图书《Building Object Applications That Work》、《Process Patterns》和《More Process Patterns》的作者。本书广泛受到学生和专家的好评,被认为是面向对象技术的一本很好的入门教材。现在,Scott完成了修订工作,本书中所有的建模符号都使用UML2.0书写,所有的章节都进行了重新修改。书中还增加了敏捷建模方法与其他建模技术的基本概念。 本书包含大量复习题,便于读者测试新学到的知识。除此之外,作者也融进了过去几年在技术讨论的时候得到的经验教训。无论是学生还是开发人员都会发现这是一本相当不错的书。

图书目录

第1章 先进的软件开发 1

1.1 现代开发技术 1

1.1.1 对象技术 2

1.1.2 扩展标记语言(XML) 3

1.1.3 关系数据库(RDB)技术 4

1.1.4 Web服务 4

1.2 现代开发方法 5

1.2.1 敏捷软件开发 5

1.2.2 统一建模语言(UML) 7

1.2.3 统一过程(UP) 8

1.2.4 模型驱动的开发(MDA) 9

1.2.5 配合使用 10

1.3 本书的组织 10

1.4 案例研究 11

1.5 小结 13

第2章 面向对象的基本概念 15

2.1 概述OO概念 15

2.2 结构化观点下的OO概念 17

2.3 UML 2图 18

2.4 对象和类 19

2.5 属性和操作/方法 20

2.6 抽象、封装和信息隐藏 21

2.6.1 抽象 21

2.6.2 封装 22

2.6.3 信息隐藏 22

2.6.4 一个示例 22

2.7 继承 23

2.7.1 继承建模 24

2.7.2 继承技巧和技术 24

2.7.3 单一继承和多重继承 25

2.7.4 抽象类和具体类 26

2.8 持久化 27

2.9 关系 27

2.9.1 关联 28

2.9.2 未知事物建模 30

2.9.3 如何实现关联 30

2.9.4 特性 31

2.9.5 聚合和组合 31

2.9.6 依赖 33

2.10 协作 33

2.11 耦合 36

2.12 内聚 36

2.13 多态 37

2.13.1 一个例子:扑克游戏 37

2.13.2 大学里的多态 38

2.14 接口 39

2.15 组件 40

2.16 模式 41

2.17 小结 41

2.18 复习题 42

第3章 完整生命周期面向对象测试 43

3.1 变更的成本 43

3.2 测试哲学 47

3.3 FLOOT 47

3.4 回归测试 48

3.5 质量保证 49

3.6 测试模型 50

3.6.1 用代码来验证 50

3.6.2 使用场景测试 51

3.6.3 原型评审/走查 53

3.6.4 用户界面测试 53

3.6.5 模型评审 54

3.6.6 每种技术的使用时机 55

3.7 测试代码 55

3.7.1 测试术语 55

3.7.2 测试工具 56

3.7.3 传统的代码测试概念 56

3.7.4 面向对象的测试技术 57

3.7.5 代码检查 59

3.8 全面测试系统 59

3.9 用户测试 60

3.10 测试驱动的开发(TDD) 61

3.11 小结 62

3.12 复习题 62

第4章 敏捷模型驱动的开发 63

4.1 建模哲学 63

4.2 项目风险承担者 65

4.3 什么是敏捷建模(AM) 67

4.4 AM的价值 68

4.5 AM的原则 68

4.6 AM实践 69

4.7 慢慢进入敏捷建模 71

4.8 AMDD 72

4.9 基本信息收集技术 74

4.9.1 会谈 74

4.9.2 观察 75

4.9.3 头脑风暴 75

4.10 敏捷文档 76

4.11 在软件开发中使用白板 77

4.12 AMDD和其他敏捷方法学 79

4.13 敏捷建模和测试驱动开发 80

4.14 小结 80

4.15 复习题 81

第5章 使用建模 83

5.1 用例建模 83

5.1.1 敏捷起步 84

5.1.2 本质用例图 86

5.1.3 确定执行者 89

5.1.4 编写本质用例 91

5.1.5 确定用例 93

5.1.6 系统用例图 94

5.1.7 系统用例 94

5.1.8 编写候选活动过程 98

5.1.9 其他用例风格 99

5.1.10 比较本质和系统用例 100

5.1.11 复用用例模型 102

5.1.12 包 105

5.1.13 用例建模技巧 106

5.1.14 保持敏捷 108

5.2 用户故事 108

5.3 特征 110

5.4 小结 112

5.5 复习题 112

第6章 用户界面开发 113

6.1 本质用户界面原型 113

6.2 传统用户界面原型法 117

6.3 用户界面流程图 121

6.4 可用性 123

6.5 用户界面设计策略 123

6.6 敏捷风险承担者文档 126

6.7 小结 127

6.8 复习题 127

第7章 补充需求 129

7.1 业务规则 129

7.2 技术需求 132

7.3 约束 132

7.4 对象约束语言(OCL) 133

7.5 术语表 133

7.6 补充规范 134

7.7 小结 134

7.8 复习题 134

第8章 概念领域建模 137

8.1 鲁棒图 137

8.2 对象角色模型(ORM)图 141

8.3 类职责协作者(CRC)卡片 143

8.4 分析类图 147

8.4.1 对类和职责建模 150

8.4.2 关联建模 152

8.4.3 通过类间继承引入复用 154

8.4.4 组合和关联建模 156

8.4.5 词汇表建模 156

8.5 逻辑数据模型 157

8.6 有效运用分析模式 159

8.7 UML对象图 161

8.8 保持概念领域建模的敏捷 162

8.9 小结 163

8.10 复习题 163

第9章 业务流程建模 165

9.1 数据流图 165

9.2 流程图 168

9.3 UML活动图 170

9.4 小结 174

9.5 复习题 175

第10章 敏捷架构 177

10.1 架构技术和概念 178

10.1.1 尽可能延迟架构决策 178

10.1.2 认可一些已经做出的架构决策 178

10.1.3 用代码检查 179

10.1.4 建立架构的变化策略 179

10.1.5 考虑复用 180

10.1.6 卷起袖子干活 180

10.1.7 准备做出折中 181

10.1.8 考虑采用Zachman框架 181

10.1.9 逐渐地运用架构模式 183

10.2 通过变例看未来 184

10.3 UML包图 185

10.3.1 类包图 185

10.3.2 数据包图 187

10.3.3 用例包图 187

10.4 UML组件图 188

10.4.1 接口和端口 190

10.4.2 组件设计 190

10.4.3 创建组件模型 192

10.4.4 保持敏捷 194

10.5 自由形式的图 195

10.6 UML部署图 196

10.7 网络图 199

10.8 架构分层 200

10.9 小结 201

10.10 复习题 202

第11章 动态对象建模 203

11.1 UML顺序图 204

11.1.1 通过顺序图进行可视化编码 211

11.1.2 如何绘制顺序图 211

11.1.3 保持敏捷 212

11.2 UML通信图 212

11.3 UML状态机图 214

11.4 UML定时图 219

11.5 UML交互概况图 221

11.6 UML组合结构图 222

11.7 小结 223

11.8 复习题 224

第12章 结构设计建模 225

12.1 UML类图 225

12.1.1 设计过程中对方法建模 226

12.1.2 设计过程中对属性建模 230

12.1.3 继承技术 233

12.1.4 关联和依赖技术 235

12.1.5 组合技术 237

12.1.6 在模型中引入接口 238

12.1.7 类建模设计技巧 239

12.2 有效地应用设计模式 242

12.2.1 Singleton设计模式 242

12.2.2 Fa峚de设计模式 243

12.2.3 有效应用设计模式的技巧 243

12.3 用UML进行物理数据建模 244

12.4 小结 248

12.5 复习题 248

第13章 面向对象编程 251

13.1 高效编程的哲学 251

13.2 高质量代码的编程技巧和技术 252

13.3 测试驱动的开发 255

13.3.1 TDD和AMDD 256

13.3.2 为什么选择TDD 257

13.4 从面向对象到Java代码 257

13.4.1 从UML顺序图到代码 257

13.4.2 从UML图类到代码 258

13.4.3 用Java实现一个类 259

13.4.4 用Java声明实例属性 261

13.4.5 用Java实现实例方法 262

13.4.6 用Java实现静态方法和属性 263

13.4.7 归档方法 266

13.4.8 实现构造函数 267

13.4.9 用访问器封装属性 268

13.4.10 用Java实现继承 272

13.4.11 用Java实现接口 273

13.4.12 用Java实现关系 276

13.4.13 实现依赖 281

13.4.14 用Java实现协作 281

13.4.15 实现业务规则 282

13.4.16 迭代、迭代再迭代 282

13.5 小结 283

13.6 复习题 283

第14章 敏捷数据库开发 285

14.1 高效数据开发的哲学 286

14.2 把对象映射到关系数据库 286

14.2.1 影子信息 287

14.2.2 映射继承结构 288

14.2.3 映射关系 290

14.3 实现持久代码的策略 292

14.4 从设计到数据库代码 292

14.4.1 定义并修改持久模式 293

14.4.2 创建、检索、更新和删除数据 293

14.4.3 从Java来与数据库进行交互 295

14.4.4 实现映射 296

14.5 面向数据实现策略 296

14.5.1 并发控制 297

14.5.2 事务控制 299

14.5.3 共享逻辑和参照完整性 300

14.5.4 安全访问控制 302

14.5.5 搜索对象 303

14.5.6 报表 305

14.6 数据库重构 306

14.7 遗留分析 308

14.7.1 形式化契约模型 308

14.7.2 常见遗留问题的挑战 309

14.7.3 创建契约模型 310

14.8 小结 310

14.9 复习题 311

第15章 发展方向 313

15.1 成为一名通用专家 313

15.2 继续学习过程 314

15.3 结束语 316

词汇表 317

参考文献和推荐读物 343

基于Web的资源 350