《面向对象软件开发教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(加)Scott W.Ambler著;车皓阳,刘悦译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2003
  • ISBN:711111678X
  • 页数:375 页
图书介绍:本书介绍了面向对象技术的基础知识。

第1章 简介 1

1.1 结构化范型与面向对象范型 1

1.2 本书怎样组织 3

1.3 怎样阅读本书 5

1.4 你学到了些什么 5

第2章 面向对象:一种新的软件范型 7

2.1 面向对象潜在的优点 7

2.1.2 增加可扩展性 8

2.1.1 增加可复用性 8

2.1.3 改进质量 9

2.1.4 财务利益 9

2.1.5 增加项目成功机会 10

2.1.6 减少维护负荷 12

2.1.7 减少应用积压 13

2.1.8 可管理的复杂性 14

2.2 面向对象潜在的缺点 15

2.5 面向对象软件过程 17

2.4 现有的对象标准 17

2.3 对象技术会成为主流技术 17

2.6 你学到了些什么 20

2.7 复习题 21

第3章 收集需求:从本质用况到变例 23

3.1 组建需求建模团队 25

3.1.1 选择好的SME 28

3.1.2 选择出色的协调人员 29

3.1.3 选择出色的抄写员 29

3.2.1 会谈 30

3.2 基本需求收集技术 30

3.2.2 集体讨论 31

3.3 本质用况建模 33

3.3.1 一图胜千言:绘制用况图 33

3.3.2 确定参与者 35

3.3.3 编写用况文档 37

3.3.4 用况:本质用况和系统用况 38

3.3.5 确定用况 41

3.3.6 为不同的逻辑流程建模:活动的候选过程 45

3.4 本质用户界面原型 46

3.4.1 本质用户模型的例子 49

3.4.2 确保系统可用性 52

3.4.3 画出用户界面流程图 53

3.5 使用类职责协作卡进行领域建模 54

3.5.1 为CRC模型做准备 57

3.5.2 发现类 57

3.5.3 发现职责 61

3.5.4 定义协作者 62

3.5.5 排列CRC卡 65

3.5.6 CRC建模的优点与缺点 67

3.6 开发补充规范 70

3.6.1 确定业务规则 70

3.6.2 确定非功能需求和约束 71

3.7 确定变例 72

3.7.1 记录变例 73

3.8 组织建模房间的经验 74

3.7.2 变例的优点 74

3.9 需求技巧和技术 75

3.10 你学到了些什么 77

3.11 复习题 78

第4章 确定需求正确无误:需求确认技术 81

4.1 尽早测试、经常测试 82

4.2 用况情景测试 84

4.2.1 用况情景测试过程的步骤 85

4.2.2 创建用况情景 86

4.2.3 演练情景 88

4.2.4 用况情景测试的优点 92

4.2.5 用况情景测试的缺点 93

4.3 用户界面走查 93

4.4 需求评审 93

4.5 你学到了些什么 95

4.6 复习题 95

第5章 理解基础知识:面向对象的概念 97

5.1 新老概念 98

5.2 从结构化观点看待面向对象 99

5.3 对象和类 100

5.4 属性和方法 101

5.5 抽象、封装和信息隐藏 104

5.5.1 抽象 104

5.5.2 封装 104

5.5.3 信息隐藏 105

5.5.4 一个例子 105

5.5.5 为什么这很重要 105

5.6 继承 106

5.6.1 建立继承模型 107

5.6.2 继承技巧和技术 108

5.6.3 单一继承和多重继承 109

5.6.4 抽象类和具体类 111

5.7 关联 111

5.7.1 关联建模 112

5.7.2 怎样实现关联 114

5.8.1 聚合建模 115

5.8 聚合 115

5.8.2 聚合技巧与技术 116

5.9 协作 117

5.9.1 消息 117

5.9.2 协作技巧和技术 118

5.10 持久性 120

5.10.1 持久性技巧和技术 120

5.10.3 对象数据库 121

5.10.2 持久内存:对象空间 121

5.11 持久关联与临时关联 122

5.11.1 持久关联 122

5.11.2 临时关联:依赖 122

5.12 耦合 123

5.13 内聚 124

5.14 多态 125

5.14.1 一个例子:扑克游戏 125

5.14.2 大学里的多态 126

5.15 接口 127

5.16 组件 128

5.17 模式 129

5.18 你学到了些什么 130

5.19 复习题 130

第6章 确定构建内容:面向对象分析 131

6.1 系统用况建模 134

6.1.1 编写系统用况 134

6.1.2 在用况模型中复用:扩展关联、包含关联和继承 135

6.1.3 可以帮助理解用况建模的好东西 140

6.1.4 用况建模技巧和技术 141

6.2 顺序图:从用况到类 142

6.2.1 怎样绘制顺序图 147

6.2.2 为什么以及何时应该绘制顺序图 148

6.2.3 怎样归档顺序图 149

6.2.4 有助于了解顺序图的好东西 149

6.3 概念建模:类图 149

6.3.1 类、属性和方法建模 153

6.3.2 关联建模 156

6.3.3 依赖建模 157

6.3.4 通过继承在类间引入复用 158

6.3.5 聚合关联建模 160

6.3.6 关联类建模 161

6.3.7 归档类模型 162

6.3.8 概念类建模技巧 162

6.4 活动图 163

6.4.1 怎样绘制活动图 164

6.4.2 怎样归档活动图 165

6.5.1 确定用户需求 166

6.5 用户界面原型 166

6.5.2 构建原型 167

6.5.3 评估原型 167

6.5.4 决定是否要结束 167

6.5.5 有助于理解原型的好东西 168

6.5.6 原型技巧和技术 168

6.6 演化补充规范 169

6.7 有效应用分析模式 170

6.7.1 “业务实体”分析模式 170

6.7.2 “联系点”分析模式 171

6.7.3 模式的优点和缺点 172

6.8 用户文档 173

6.8.1 用户文档的类型 173

6.8.2 怎样写用户文档 174

6.9 用包组织模型 175

6.10 你学到了些什么 176

6.11 复习题 176

第7章 确定如何构建系统:面向对象设计 179

7.1 把模型层次化——类类型体系结构 182

7.1.1 用户界面层 184

7.1.2 控制器/处理层 185

7.1.3 业务/领域层 187

7.1.4 持久层 187

7.1.5 系统层 188

7.2 类建模 189

7.2.1 继承技术 190

7.2.2 关联与依赖技术 191

7.2.3 聚合与组合技术 194

7.2.4 在设计过程中为方法建模 195

7.2.5 在设计过程中为属性建模 202

7.2.6 在模型中引入接口 206

7.2.7 类建模设计技巧 209

7.3 有效应用设计模式 212

7.3.1 Singleton设计模式 212

7.3.3 有效应用模式的技巧 213

7.3.2 Facade设计模式 213

7.4 状态图建模 214

7.4.1 如何绘制状态图 216

7.4.2 什么时候以及为什么要绘制状态图 217

7.4.3 状态图和继承 218

7.5 协作建模 218

7.5.1 绘制协作图 220

7.5.2 协作与继承 220

7.5.3 什么时候该画协作图 221

7.6.1 如何开发组件模型 222

7.6 组件建模 222

7.6.2 实现组件 226

7.7 部署建模 226

7.7.1 如何开发部署模型 227

7.7.2 什么时候该生成部署图 228

7.8 关系持久性建模 229

7.8.1 键和对象标识符 229

7.8.2 把对象映射到关系数据库的一些基本知识 235

7.8.3 映射关联、聚合与组合 240

7.8.4 绘制持久模型 242

7.8.5 何时才应该开发持久模型 242

7.9 用户界面设计 243

7.9.1 用户界面设计原则 243

7.9.2 改善用户界面设计的技术 244

7.9.3 用户界面流程图 246

7.9.4 用户界面设计标准和准则 247

7.10 设计技巧 247

7.12 复习题 249

7.11 你学到了些什么 249

第8章 构建系统:面向对象编程 251

8.1 什么是编程 253

8.2 从设计到Java代码 255

8.2.1 用Java实现一个类 255

8.2.2 用Java声明实例属性 258

8.2.3 用Java实现实例方法 260

8.2.4 用Java实现静态方法和静态属性 261

8.2.5 实现构造器 264

8.2.6 用访问器封装属性 265

8.2.7 用Java实现继承 270

8.2.8 用Java实现接口 270

8.2.9 用Java实现关联、聚合与组合 274

8.2.10 实现依赖 280

8.2.11 用Java实现协作 281

8.2.12 实现业务规则 281

8.3 从设计到持久代码 282

8.3.1 实现持久代码的策略 282

8.3.2 定义与修改持久模式 283

8.3.3 创建、检索、更新、删除数据 284

8.3.4 实现关系数据库的行为 285

8.4 编程技巧 286

8.4.1 写出整洁代码的技术 287

8.4.2 编写高效文档的技术 289

8.4.3 其他因素 291

8.5 你学到了些什么 293

8.6 复习题 293

第9章 面向对象测试 295

9.1 消除对面向对象测试的误解 296

9.1.1 误解1:有了对象就可以少做点儿测试 296

9.1.2 误解2:结构化测试技术是充分的 297

9.1.3 误解3:测试用户界面是充分的 297

9.2 全生命周期面向对象测试 297

9.2.1 回归测试 298

9.2.2 质量保证 299

9.2.3 测试需求模型、分析模型和设计模型 299

9.2.4 测试源代码 302

9.2.5 整体测试系统 306

9.2.6 用户测试 308

9.3 从测试用例到缺陷 309

9.4 你学到了些什么 310

9.5 复习题 311

第10章 将它们装配在一起:软件过程 313

10.1 为什么面向对象开发会如此之不同 314

10.3 为什么会需要软件过程 315

10.2 什么是软件过程 315

10.4 从瀑布/顺序开发 317

10.5 ……到迭代开发 318

10.6 ……和增量开发 320

10.7 本书中给出的开发过程 321

10.8 面向对象软件过程的过程模式 323

10.9 统一过程 325

10.10 其他过程 326

10.10.1 极限编程 327

10.10.2 微软解决方案框架 329

10.10.3 OPEN过程 330

10.10.4 催化过程 331

10.11 何时使用对象 331

10.12 何时不使用对象 332

10.13 你学到了些什么 332

10.14 复习题 333

第11章 如何继续学习过程 335

11.1 P2K环境 335

11.1.2 使能技术 336

11.1.1 新的软件策略 336

11.1.3 领先的开发技术 337

11.1.4 现代软件过程 339

11.1.5 对象编程语言 340

11.1.6 Internet开发语言 341

11.2 适于特定职位的技能 342

11.2.1 业务分析员 342

11.2.4 持久建模员 343

11.2.3 对象建模员 343

11.2.2 IT高级经理 343

11.2.5 持久管理员 344

11.2.6 程序员 344

11.2.7 项目经理 344

11.2.8 质保工程师 344

11.2.9 软件架构师 345

11.2.10 测试工程师 345

11.3 继续整个学习过程 345

11.3.3 获得指导 346

11.3.1 参加介绍性的培训 346

11.3.2 获得第一手经验 346

11.3.4 以学习小组进行工作 347

11.3.5 阅读、阅读、再阅读 348

11.3.6 参加高级培训 348

11.4 你学到了些什么 348

11.5 告别演说 348

词汇表 349

参考文献 371