当前位置:首页 > 工业技术
敏捷数据 effective strategies for the agile software developer
敏捷数据 effective strategies for the agile software developer

敏捷数据 effective strategies for the agile software developerPDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:(加)Scott W. Ambler著;李巍译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2006
  • ISBN:711117576X
  • 页数:292 页
图书介绍:本书探索了有机结合数据和对象两个开发团队的方式,将敏捷方法拓展到了应用程序开发的一个关键领域——数据库,阐述了数据架构设计师、DBA掌握敏捷方法进行面向数据开发的必要性。
《敏捷数据 effective strategies for the agile software developer》目录
标签:数据

1.1 缘何当前难以相互合作 2

目录译者序Jon Kern序Douglas K.Barry序致谢前言第一部分 基础背景第1章 敏捷数据方法 2

1.2 发现问题 4

1.3 敏捷运动 5

1.3.1 敏捷软件开发宣言 5

1.3.2 敏捷软件开发原则 7

1.4 敏捷数据的基本原理 7

1.5 敏捷数据概述 8

1.5.1 敏捷DBA 8

1.5.2 应用程序开发者 9

1.5.3 企业管理员 10

1.5.4 企业架构设计师 11

1.6 敏捷软件开发者 12

1.7 敏捷数据能解决我们的问题吗 13

1.8 总结 14

2.1 面向对象概念简述 15

第2章 从用例到数据库——现实世界的UML 15

2.2 UML介绍 18

2.2.1 核心UML图 18

2.2.2 辅助UML图 21

2.3 数据建模的UML档案 26

2.3.1 标识模型或存储机制的类型 27

2.3.2 建模表、实体和视图 28

2.3.3 建模关系 31

2.3.4 建模数据属性和列 31

2.3.5 建模键 32

2.3.6 建模约束和触发器 34

2.3.7 建模存储过程 34

2.3.8 建模数据库内的段 34

2.3.9 建模其他概念 34

2.4 总结 35

3.1 敏捷DBA的角色 36

3.2 什么是数据建模 36

第3章 数据建模基础 36

3.2.1 如何实际运用数据模型 37

3.2.2 基本标记:如何阅读数据模型 39

3.3 如何建模数据 41

3.3.1 识别数据实体 41

3.3.2 识别属性 42

3.3.3 应用数据命名规范 42

3.3.4 识别关系 42

3.3.6 分配键 44

3.3.5 应用数据建模模式 44

3.4 如何更好地进行数据建模 47

3.5 总结 48

第4章 数据规范化 49

4.1 为什么需要数据规范化 49

4.2 敏捷DBA的角色 49

4.3 数据规范化的准则 50

4.3.1 第一范式(1NF) 50

4.3.2 第二范式(2NF) 52

4.3.3 第三范式(3NF) 53

4.3.4 超越3NF 54

4.4 总结 54

第5章 类规范化 55

5.1 如何将类规范化和其他面向对象的设计实践联系起来 55

5.2 敏捷DBA的角色 56

5.3 类规范化的准则 56

5.3.1 第一对象范式(1ONF) 56

5.3.2 第二对象范式(2ONF) 57

5.3.3 第三对象范式(3ONF) 58

5.3.4 超越3ONF 59

5.4 总结 59

第6章 关系数据库技术,无论你喜欢与否 60

6.1 关系数据库技术 60

6.1.1 关系数据库的简明特性 60

6.1.2 关系数据库的高级特性 61

6.2 耦合:你最大的敌人 63

6.3 关系数据库的额外挑战 65

6.4 封装:你最好的盟友 66

6.5 超越关系数据库:根据实际情况做出选择 68

6.6 总结 71

第7章 对象-关系的阻抗失配 73

7.1 敏捷DBA的角色 73

7.2 技术上的阻抗失配 73

7.2.1 虚假的相似性 74

7.2.2 微妙的差异性 75

7.3 文化上的阻抗失配 78

7.4 总结 80

第8章 遗留数据库——所有你需要了解却害怕应付的事物 81

8.1 敏捷DBA的角色 81

8.2 遗留数据源 83

8.3 理解与遗留数据相关的常见问题 84

8.3.1 数据质量挑战 84

8.3.2 数据库设计问题 87

8.3.3 数据架构问题 88

8.3.4 过程错误 90

8.4 使用遗留数据的策略 91

8.4.1 尽量避免使用遗留数据 92

8.4.2 开发一种数据错误处理策略 92

8.4.3 迭代和增量式地工作 92

8.4.4 优先考虑只读的遗留数据访问 93

8.4.5 封装遗留数据访问 94

8.4.6 为简单的遗留访问引入数据适配器 94

8.4.7 为复杂的数据访问引入中间数据库 95

8.4.8 采用现有的工具 96

8.5 数据集成技术 96

8.6 总结 97

第二部分第9章 革命万岁 100

9.1 方法灵活性的需要 100

9.2 谨防面向数据的BDUF 101

9.3 针对项目的渐进式开发 103

9.4 事物的“自然顺序”和渐进式开发 106

9.5 总结 107

第10章 敏捷模型驱动开发 108

10.1 敏捷DBA的角色 108

10.2 什么是敏捷建模 108

10.2.1 AM价值观 109

10.2.2 AM原则 109

10.2.3 敏捷建模实践 111

10.3 什么时候模型才算敏捷 112

10.4 什么是敏捷模型驱动开发 113

10.5 敏捷文档 113

10.6 总结 115

第11章 测试驱动开发 116

11.1 TDD是如何工作的 116

11.2 TDD的步骤 117

11.3 TDD与传统测试 118

11.4 TDD与文档 119

11.5 测试驱动的数据库开发 119

11.6 TDD与AMDD 120

11.7 总结 121

第12章 数据库重构 122

12.1 重构 122

12.2 数据库重构 123

12.2.1 保持语义 124

12.2.2 什么不是数据库重构 124

12.2.3 数据库重构类别 125

12.3 为什么数据库难以重构 125

12.4.1 步骤1:在开发沙箱中开始 127

12.4 如何重构数据库 127

12.4.2 步骤2:在集成沙箱中实现代码 133

12.4.3 步骤3:实地安装代码 134

12.5 常见的数据库重构味道 134

12.6 在你的组织机构内采用数据库重构 135

12.7 数据库重构最佳实践 136

12.8 现实中的数据库重构 137

12.9 总结 137

13.1 数据库封装层 139

第13章 数据库封装策略 139

13.2 敏捷DBA的角色 140

13.3 封装层的架构 141

13.4 封装层的实现策略 142

13.4.1 蛮力方式(并非一种封装策略) 142

13.4.2 数据访问对象 144

13.4.3 持久化框架 145

13.4.4 服务 148

13.4.5 每种策略的适用场合 150

13.4.6 策略间的转化 151

13.5 整编和数据验证 152

13.6 错误处理 152

13.7 总结 153

第14章 对象-关系数据库映射 154

14.1 敏捷DBA的角色 154

14.2 基本的映射概念 155

14.2.1 影子信息 157

14.3 映射继承结构 159

14.2.2 映射元数据 159

14.3.1 将整个类层次体系映射成一个表 161

14.3.2 将每个具体类映射成它自己的表 162

14.3.3 将每个类映射成它自己的表 162

14.3.4 将类映射成一个通用结构 163

14.3.5 映射策略的对比 164

14.3.6 多继承的映射 165

14.4 映射对象的关系 166

14.4.2 如何实现对象间的关系 167

14.4.1 关系的类型 167

14.4.3 如何在关系数据库内实现关系 169

14.4.4 关系映射 170

14.4.5 映射有序集合 173

14.4.6 映射递归关系 175

14.5 映射类作用范围的特性 175

14.6 为何数据方案不应该驱动对象方案 177

14.7 对对象的实现影响 179

14.9 映射模式化 180

14.8 模型驱动架构的启示 180

14.10 总结 181

第15章 性能优化 183

15.1 性能优化概述 183

15.2 敏捷DBA的角色 184

15.3 步骤1:识别性能问题 184

15.4 步骤2:剖析问题 184

15.5 步骤3:优化解决问题 185

15.5.1 系统优化 185

15.5.2 数据库访问优化 186

15.5.3 数据库优化 188

15.5.4 应用程序优化 193

15.6 总结 195

第16章 渐进式数据库开发的工具 196

16.1 工具 196

16.2 沙箱 198

16.3 脚本 199

16.4 总结 200

第三部分 实用的面向数据的开发方法第17章 实现并发控制 202

17.1 敏捷DBA的角色 202

17.2 冲突 202

17.2.1 锁定类型 203

17.2.2 解决冲突 205

17.3 解事务 206

17.3.1 事务的基本概念 207

17.3.2 实现事务 208

17.4 总结 212

第18章 在关系数据库内查找对象 213

18.1 敏捷DBA的角色 213

18.2 查找策略 213

18.2.1 蛮力方式(嵌入式SQL) 213

18.2.2 查询对象 214

18.2.3 元数据驱动 215

18.2.4 每种策略的应用时机 216

18.3.2 能够预见“逻辑”错误 217

18.3 实现方法 217

18.3.1 使用原生的错误处理策略 217

18.3.3 总是返回一个集合 218

18.3.4 针对查询列表采用代理和惰性初始化 218

18.3.5 对高开销的属性使用惰性读取 218

18.3.6 为他人编程 219

18.4 表示查找的结果 219

18.5 总结 221

第19章 实现引用完整性和共享的业务逻辑 222

19.1 敏捷DBA的角色 222

19.2 对象技术是如何将引用完整性复杂化的 222

19.2.1 多种实体/关系的表现形式 224

19.2.2 对象关系管理 224

19.2.3 惰式读取 226

19.2.4 缓存 227

19.2.5 聚合、组合和关联 227

19.2.7 从内存中移除与永久删除 228

19.2.6 架构分层 228

19.3 应该在何处实现引用完整性 229

19.3.1 引用完整性的实现选择 229

19.3.2 业务逻辑的实现选择 231

19.3.3 通用实现策略 232

19.4 总结 232

20.1 敏捷DBA的角色 233

20.2 身份验证 233

第20章 实现安全访问控制 233

20.3 授权 234

20.3.1 问题 234

20.3.2 数据库实现策略 235

20.3.3 安全设计模式 237

20.3.4 面向对象的实现策略 238

20.3.5 启示 240

20.4 有效的安全策略 240

20.5 总结 241

21.1 敏捷DBA的角色 243

第21章 实现报表 243

21.2 数据库部署架构 244

21.3 在应用程序内部进行报表统计 246

21.4 在应用程序外部进行报表统计 248

21.5 数据库设计策略 248

21.6 实现策略 249

21.7 使报表统计变难的挑战 250

21.8 总结 250

22.2 XML入门 252

第22章 现实中的XML 252

22.1 敏捷DBA的角色 252

22.2.1 XML的优势 254

22.2.2 XML的弱点 255

22.3 XML的实际应用 256

22.4 词汇表 256

22.5 如何建模XML 258

22.6 XML映射和数据绑定 260

22.8 如何在XML数据库中持久化XML 262

22.7 如何在关系数据库中持久化XML 262

22.9 XML开发策略 264

22.10 总结 264

第四部分 采用敏捷数据库方法第23章 你如何才能变得敏捷 268

23.1 不必非要做一个超人 268

23.2 敏捷性其实只是一个思维集 268

23.3 成为一名博学型的专家 269

23.4 总结 270

第24章 将敏捷性带到你的组织机构中 271

24.1 改变你看待软件开发的方式 271

24.2 理解你所面对的挑战 272

24.3 实际去尝试它 273

24.4 阻止非敏捷的合作者 273

24.5 切合实际 274

24.6 临别感想 275

附录 数据库重构目录 276

参考资料及推荐读物 286

返回顶部