《面向对象分析与设计》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)Grady Booch著;冯博琴等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2003
  • ISBN:7111123174
  • 页数:445 页
图书介绍:本书从概念、方法和应用三个角度全面深入论述面向对象技术及其表示方法,并辅以大量详实的例子,是面向对象理论和方法的经典著作。

第一部分 概念 3

第1章 复杂性 3

1.1 软件固有的复杂性 3

1.1.1 简单软件系统与复杂软件系统的特性 3

1.1.2 为什么软件具有固有的复杂性 4

1.1.3 不限制复杂性的后果 6

1.2 复杂系统的结构 7

1.2.1 复杂系统示例 7

1.2.2 复杂系统的5个属性 9

1.2.3 有组织的复杂性与紊乱的复杂性 10

1.3 还混乱状态以秩序 12

1.3.1 分解的作用 12

补充材料:分析和设计方法的分类 13

1.3.2 抽象的作用 15

1.3.3 层次的作用 15

1.4 设计复杂系统 16

1.4.1 工程是科学也是艺术 16

1.4.2 设计的含义 16

1.5 小结 18

1.6 进一步阅读材料 18

第2章 对象模型 20

2.1 对象模型的演化 20

2.1.1 软件工程的趋势 20

2.1.2 对象模型的基础 24

2.1.3 面向对象编程、面向对象设计和面向对象分析 25

补充材料:对象模型的基础 26

2.2 对象模型的要素 29

2.2.1 编程范例的种类 29

2.2.2 抽象 30

2.2.3 封装 35

2.2.4 模块化 40

2.2.5 层次 43

2.2.6 类型定义 48

2.2.7 并发性 54

2.2.8 持续性 56

2.3 应用对象模型 58

2.3.1 对象模型的优点 58

2.3.2 对象模型的应用 58

2.3.3 未解决的问题 59

2.4 小结 59

2.5 进一步阅读材料 60

第3章 类和对象 61

3.1 对象的本质 61

3.1.1 什么是对象以及什么不是对象 61

3.1.2 状态 63

3.1.3 行为 65

3.1.4 标识 68

3.2 对象间的关系 73

3.2.1 关系的种类 73

3.2.2 链 73

3.2.3 聚合 76

3.3 类的本质 77

3.3.1 什么是类以及什么不是类 77

3.3.2 接口和实现 79

3.3.3 类的生命期 80

3.4 类间的关系 80

3.4.1 关系的种类 80

3.4.2 关联 81

3.4.3 继承 82

补充材料:调用方法 88

3.4.4 聚合 96

3.4.5 使用 98

3.4.6 实例化 99

3.4.7 元类 101

3.5 类和对象的相互作用 102

3.5.1 类和对象间的关系 102

3.5.2 分析和设计中类和对象的角色 102

3.6 有关建立高质量的类和对象 102

3.6.1 衡量抽象的质量 102

3.6.2 选择操作 104

3.6.3 选择关系 105

3.6.4 选择实现 106

3.7 小结 107

3.8 进一步阅读材料 107

第4章 分类 109

4.1 正确分类的重要性 109

4.1.1 分类和面向对象的开发 109

4.1.2 分类的困难 110

4.2 识别类和对象 112

4.2.1 经典的方法与现代的方法 112

补充材料:一个分类问题 113

4.2.2 面向对象分析 116

4.3 关键的抽象和机制 120

4.3.1 识别关键的抽象 120

4.3.2 识别机制 122

4.4 小结 125

4.5 进一步阅读材料 125

第二部分 方法 129

第5章 表示法 129

5.1 表示法的要素 129

5.1.1 多重观察的需要 129

5.1.2 模型与视图 131

5.1.3 逻辑模型与物理模型 131

5.1.4 静态语义与动态语义 132

5.1.5 工具的角色 132

5.2 类图 133

5.2.1 基本要素:类和它们之间的关系 133

5.2.2 基本要素:类类别 136

5.2.3 高级概念 138

5.2.4 规格说明 147

5.3 状态转换图 149

5.3.1 基本要素:状态和状态转换 149

5.3.2 高级概念 152

5.3.3 规格说明 155

5.4 对象图 155

5.4.1 基本要素:对象和它们之间的关系 155

5.4.2 高级概念 159

5.4.3 规格说明 162

5.5 交互图 162

5.5.1 基本要素:对象和交互 162

5.5.2 高级概念 163

5.6 模块图 163

5.6.1 基本要素:模块和它们之间的依赖性 163

5.6.2 基本要素:子系统 165

5.6.3 高级概念 166

5.6.4 规格说明 166

5.7 进程图 167

5.7.1 基本要素:处理器、设备和连接 167

5.7.2 高级概念 168

5.7.3 规格说明 169

5.8 应用表示法 169

5.8.1 面向对象开发的产品 169

5.8.2 伸缩性 169

5.9 小结 170

5.10 进一步阅读材料 170

第6章 过程 171

6.1 首要原则 171

6.1.1 成功项目的特点 171

6.1.2 走向合理的设计过程 173

6.2 开发的微观过程 174

6.2.1 概述 174

6.2.2 识别类和对象 175

6.2.3 识别类和对象的语义 177

6.2.4 识别类和对象之间的关系 179

6.2.5 实现类和对象 182

6.3 开发的宏观过程 183

6.3.1 概述 183

6.3.2 概念建立 185

6.3.3 系统分析 186

6.3.4 系统设计 188

6.3.5 演化 190

6.3.6 维护 193

6.4 小结 194

6.5 进一步阅读材料 195

第7章 运用环境 197

7.1 管理和计划 197

7.1.1 风险管理 197

7.1.2 任务计划 198

7.1.3 走查 199

7.2 人员配备 200

7.2.1 资源配置 200

7.2.2 开发组角色 200

7.3 版本管理 202

7.3.1 集成 202

7.3.2 配置管理和版本控制 203

7.3.3 测试 203

7.4 复用 204

7.4.1 复用的元素 204

7.4.2 建立复用制度 204

7.5 质量保证和度量标准 205

7.5.1 软件质量 205

7.5.2 面向对象的度量标准 206

7.6 文档化 207

7.6.1 开发遗产 207

7.6.2 文档化的内容 207

7.7 工具 208

7.7.1 工具类别 208

7.7.2 牵涉的机构人员 210

7.8 特殊话题 210

7.8.1 具体领域的话题 210

7.8.2 技术转变 211

7.9 面向对象开发的益处和风险 211

7.9.1 面向对象开发的益处 211

7.9.2 面向对象开发的风险 212

7.10 小结 213

7.11 进一步阅读材料 214

第三部分 应用 217

第8章 数据采集:气象监测站 217

补充材料:气象监测站需求 217

8.1 分析 218

8.1.1 确定问题的边界 218

8.1.2 场景 226

8.2 设计 232

8.2.1 体系结构框架 232

8.2.2 框架机制 234

8.3 演化 237

8.3.1 版本发布计划 237

8.3.2 传感器机制 237

8.3.3 显示机制 240

8.3.4 用户界面机制 240

8.4 维护 243

8.5 进一步阅读材料 243

第9章 框架:基础类库 244

9.1 分析 244

9.1.1 确定问题的边界 244

补充材料:基础类库需求 245

9.1.2 模式 247

9.2 设计 248

9.2.1 策略问题 248

9.2.2 宏观组织 250

9.2.3 类家族 251

9.2.4 微观组织 253

9.2.5 时间和空间的语义 255

9.2.6 存储管理 260

9.2.7 异常条件 264

9.2.8 迭代 266

9.2.9 同步 270

9.3 演化 274

9.3.1 类接口设计 274

9.3.2 支持类 275

9.3.3 工具 277

9.4 维护 280

9.5 进一步阅读材料 283

第10章 客户/服务器计算:库存清单跟踪系统 284

10.1 分析 284

10.1.1 确定问题边界 284

补充材料:库存清单跟踪系统需求 284

10.1.2 客户/服务器计算 288

10.1.3 场景 289

10.1.4 数据库模型 294

10.1.5 SQL 297

10.1.6 模式分析 299

10.2 设计 300

10.2.1 客户/服务器体系结构 300

10.2.2 事务机制 304

10.2.3 构建客户程序 306

10.3 演化 308

10.3.1 版本发布管理 308

10.3.2 应用程序生成器 308

10.4 维护 309

10.5 进一步阅读材料 309

第11章 人工智能:密码分析 310

11.1 分析 310

11.1.1 确定问题边界 310

补充材料:密码分析需求 311

11.1.2 黑板框架的体系结构 313

11.1.3 知识源分析 314

11.2 设计 315

11.2.1 黑板框架的体系结构 315

11.2.2 知识源的设计 321

11.2.3 控制器的设计 326

11.3 演化 328

11.3.1 集成黑板框架 328

11.3.2 增加新的知识源 330

11.4 维护 331

11.4.1 增加新的功能 331

11.4.2 改变需求 332

11.5 进一步阅读材料 333

第12章 命令与控制:交通管理 334

12.1 分析 334

12.1.1 确定问题边界 334

补充材料:交通管理系统需求 335

12.1.2 系统需求与软件需求 337

12.1.3 关键的抽象与机制 339

12.2 设计 340

12.2.1 信息传递 340

12.2.2 列车时刻表计划 343

12.2.3 显示 345

12.2.4 传感器数据获取 346

12.3 演化 346

12.3.1 模块结构 346

12.3.2 子系统规格说明 347

12.4 维护 349

12.4.1 增加新功能 349

12.4.2 改变目标硬件 349

12.5 进一步阅读材料 350

后记 351

附录 面向对象的编程语言 352

术语表 366

参考文献 374

分类书目 392