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

  • 购买积分:13 如何计算积分?
  • 作  者:邵维忠,杨芙清著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302301202
  • 页数:391 页
图书介绍:本书是一本全面论述面向对象分析与设计方法的专著。全书分为三部分。第一部分为基础篇,论述面向对象方法的基本思想和主要概念。第二部分为分析篇,详细介绍面向对象分析的全过程。第三部分为设计篇,介绍如何在面向对象分析分析模型基础上,针对具体的实现条件进行面向对象的系统设计。

第一部分 基础篇 3

第1章 面向对象方法概论 3

1.1 什么是面向对象 3

1.2 从认识论看面向对象方法的形成 5

1.2.1 软件开发——对事物的认识和描述 5

1.2.2 语言的鸿沟 5

1.2.3 编程语言的发展使鸿沟变窄 5

1.2.4 软件工程学的作用 8

1.2.5 面向对象是软件方法学的返璞归真 12

1.3 面向对象方法的基本概念 12

1.3.1 对象 13

1.3.2 类 14

1.3.3 封装 16

1.3.4 继承 17

1.3.5 聚合 18

1.3.6 关联 20

1.3.7 消息 21

1.3.8 多态性 22

1.3.9 其他 22

1.3.1 0术语对照 24

1.4 面向对象方法的历史及现状 26

1.4.1 历史 26

1.4.2 发展到软件生存周期全过程 27

1.4.3 渗透到计算机软件的各个领域 30

第2章 不同的分析与设计方法 33

2.1 功能分解法 33

2.2 结构化方法 34

2.3 信息建模法 35

2.4 面向对象方法 36

2.4.1 什么是OOA 36

2.4.2 什么是OOD 37

2.4.3 面向对象方法的主要优点 38

2.4.4 几种典型的面向对象方法 41

2.4.4.1 Booch方法 43

2.4.4.2 Coad/Yourdon方法 45

2.4.4.3 Jacobson方法 48

2.4.4.4 Rumbaugh方法 52

第3章 统一建模语言UML简介 56

3.1 UML的背景与发展历史 56

3.2 UML1概况 58

3.2.1 UML1规范的主要组成部分 58

3.2.2 语言体系结构和定义方式 59

3.2.3 UML1的各种图和扩展机制 62

3.3 UML2概况 66

3.3.1 从UML1到UML2 66

3.3.2 UML2的4个规范 67

3.3.2.1 UML基础结构 67

3.3.2.2 UML上层结构 68

3.3.2.3 对象约束语言 69

3.3.2.4 UML图交换 70

3.3.3 UML2的各种图 70

第4章 本书的OOA&D方法概貌 74

4.1 引言 74

4.2 主要概念 74

4.2.1 主要模型元素 75

4.2.2 面向对象建模的主要原则 76

4.3 模型及其规约 80

4.3.1 基本模型——类图 80

4.3.2 需求模型——用况图 81

4.3.3 辅助模型——其他各种图 82

4.3.4 模型规约 82

4.3.5 OOA模型框架 83

4.3.6 OOD模型框架 83

4.4 建模过程 85

4.4.1 OOA过程 85

4.4.2 OOD过程 87

4.5 OOA与OOD的关系 88

4.5.1 一致的概念与表示法 88

4.5.2 不同的目标、内容和抽象层次 89

4.5.3 在软件生存周期中的位置 90

4.5.4 两种不同的分工观点 90

4.5.5 从模型驱动的体系结构看OOA与OOD的关系 92

第二部分 分析篇 97

第5章 建立需求模型——用况图 97

5.1 需求分析和系统分析 97

5.2 基于用况的需求分析基本思路 98

5.3 系统边界与参与者 98

5.3.1 系统边界 98

5.3.2 参与者 99

5.4 用况 101

5.4.1 什么是用况 101

5.4.2 用况的内容与格式 103

5.4.3 如何定义用况 104

5.5 用况图 105

5.5.1 模型元素及表示法 105

5.5.2 几个值得商榷的问题 107

5.6 开发过程与建议 110

第6章 发现对象、定义对象类 113

6.1 对象和类的概念及其运用 113

6.1.1 概念 113

6.1.2 类的语义 114

6.1.3 在类的抽象层次建模 115

6.1.4 如何运用对象和类的概念 117

6.2 表示法 118

6.3 发现对象 118

6.3.1 研究问题域 118

6.3.2 正确地运用抽象原则 119

6.3.3 策略与启发 120

6.3.4 审查与筛选 122

6.4 对象分类 124

6.4.1 将对象抽象为类 124

6.4.2 审查与调整 124

6.4.3 类的命名 125

第7章 定义对象的属性和操作 127

7.1 属性和操作 127

7.2 表示法 128

7.3 定义属性 129

7.3.1 策略与启发 129

7.3.2 审查与筛选 130

7.3.3 推迟到OOD考虑的问题 131

7.3.4 属性的命名和定位 131

7.4 定义操作 132

7.4.1 行为分类 132

7.4.2 策略与启发 133

7.4.3 审查与筛选 134

7.4.4 认识对象的主动行为 134

7.4.5 描述操作流程 134

7.4.6 操作的命名和定位 135

7.5 接口的概念及其用途 136

第8章 建立对象间的关系 140

8.1 一般-特殊结构 140

8.1.1 相关概念 140

8.1.2 表示法 142

8.1.3 如何发现一般-特殊结构 143

8.1.4 审查与筛选 145

8.1.5 一般-特殊结构的简化 147

8.1.6 多继承及多态性问题 150

8.2 整体-部分结构 152

8.2.1 相关概念 152

8.2.2 表示法 153

8.2.3 如何发现整体-部分结构 155

8.2.4 审查与筛选 156

8.2.5 整体-部分结构的高级应用技巧 156

8.2.5.1 简化对象的定义 156

8.2.5.2 支持软件复用 157

8.2.5.3 表示数量不定的组成部分 158

8.2.5.4 表示动态变化的对象特征 159

8.2.6 两种结构之间的变通 162

8.3 关联 163

8.3.1 相关概念 163

8.3.2 表示法及实现技术 165

8.3.2.1 基本表示法 165

8.3.2.2 二元关联的实现 166

8.3.3 运用简单的关联概念解决复杂的关联问题 169

8.3.3.1 带有属性和操作的关联 169

8.3.3.2 三元关联和n元关联 171

8.3.3.3 一个类在关联中多次出现 173

8.3.3.4 关联端点的复杂情况 174

8.3.4 如何建立关联 180

8.4 消息 184

8.4.1 什么是消息 184

8.4.1.1 顺序系统中的消息 184

8.4.1.2 并发系统中的消息 185

8.4.1.3 消息对面向对象建模的意义 187

8.4.2 消息的表示法 187

8.4.3 如何建立消息 191

8.5 关于依赖关系 193

8.5.1 什么是依赖 193

8.5.2 依赖的定义方式和表示法 194

8.5.3 依赖关系对面向对象建模的作用 197

第9章 建立辅助模型 199

9.1 类图与其他模型图之间的关系 199

9.2 包图 201

9.2.1 包的概念、用途及表示法 201

9.2.2 包之间的关系及表示法 202

9.2.3 如何建立包图 205

9.2.3.1 将模型元素打包 205

9.2.3.2 包的命名 208

9.2.3.3 组织嵌套的包 209

9.2.3.4 减少包的嵌套层次 210

9.2.3.5 建立包之间的关系 210

9.2.4 用包图控制系统的视野 212

9.3 顺序图 212

9.3.1 顺序图及其用途 212

9.3.2 主要概念及表示法 213

9.3.3 顺序图的组织机制与复用 217

9.3.4 关于顺序图的若干问题讨论 219

9.3.5 如何建立顺序图 221

9.4 活动图 223

9.4.1 活动图及其用途 223

9.4.2 主要概念及表示法 224

9.4.3 一个活动图的例子 228

9.4.4 关于活动图的若干问题讨论 230

9.4.5 如何建立活动图 232

9.5 状态机图 235

9.5.1 状态机图与状态建模 235

9.5.2 主要概念及表示法 236

9.5.3 一个状态机图的例子 241

9.5.4 如何建立状态机图 242

9.6 构件图 245

9.6.1 构件图的由来及用途 245

9.6.2 主要概念及表示法 245

9.6.3 如何建立构件图 248

9.7 UML的其他几种模型图 249

9.7.1 对象图 249

9.7.2 组合结构图 250

9.7.3 通信图 251

9.7.4 交互概览图 252

9.7.5 定时图 254

9.7.6 部署图 257

第10章 模型规约 259

10.1 相关概念及问题讨论 259

10.1.1 什么是模型规约 259

10.1.2 模型规约是给谁看的 260

10.1.3 描述语言的选择 260

10.1.4 模型规约的组织方式 261

10.1.5 关于对象约束语言OCL 262

10.2 类图的规约 264

10.2.1 目标与措施 264

10.2.2 类规约的内容 266

10.2.3 类规约的格式 268

10.3 其他模型图的规约 270

10.4 模型规约的建立过程 270

第三部分 设计篇 275

第11章 问题域部分的设计 275

11.1 什么是问题域部分 275

11.2 实现条件对问题域部分的影响 276

11.3 设计过程 277

11.3.1 设计准备 277

11.3.2 设计内容及策略 277

11.3.2.1 针对编程语言支持能力的调整 277

11.3.2.2 增加一般类,提供共同协议 282

11.3.2.3 为实现复用采取的设计策略 283

11.3.2.4 提高性能 285

11.3.2.5 为实现对象持久存储所做的修改 290

11.3.2.6 完善对象的细节 290

11.3.2.7 定义对象实例 295

11.3.2.8 修改或补充辅助模型及模型规约 296

11.3.3 建立与OOA文档的映射 297

第12章 人机交互部分的设计 300

12.1 什么是人机交互部分 300

12.2 人机交互部分的需求分析 300

12.2.1 分析参与者——与系统交互的人 301

12.2.2 从用况分析人机交互 302

12.2.3 分析处理异常事件的人机交互 305

12.2.4 命令的组织 306

12.2.5 输出信息的组织 309

12.3 人机界面的设计准则 310

12.4 人机界面的面向对象设计 312

12.4.1 选择界面支持系统 312

12.4.2 选用实现交互界面元素 314

12.4.3 用面向对象概念表示界面元素 316

12.5 可视化编程环境下的人机界面设计 320

12.5.1 问题的提出 320

12.5.2 所见即所得的界面开发 320

12.5.3 设计的必要性 323

12.5.4 基于可视化编程环境的设计策略 324

第13章 控制驱动部分的设计 330

13.1 什么是控制驱动部分 330

13.2 相关技术问题 330

13.2.1 系统总体方案 330

13.2.2 软件体系结构 331

13.2.3 网络环境中的软件体系结构 332

13.2.4 系统的并发性 334

13.2.4.1 顺序程序和并发程序 334

13.2.4.2 进程和线程 335

13.2.4.3 应用系统的并发性 337

13.2.4.4 术语讨论 340

13.3 如何设计控制驱动部分 342

13.3.1 选择软件体系结构风格 342

13.3.2 确定系统分布方案 342

13.3.3 识别控制流 347

13.3.4 用主动类表示控制流 349

第14章 数据接口部分的设计 351

14.1 什么是数据接口部分 351

14.2 数据管理系统及其选择 352

14.2.1 文件系统 352

14.2.2 数据库管理系统 353

14.2.2.1 关系数据库和数据库管理系统 354

14.2.2.2 面向对象数据库和数据库管理系统 356

14.2.3 数据管理系统的选择 356

14.3 对象存储方案和数据接口的设计策略 358

14.3.1 针对文件系统的设计 358

14.3.1.1 对象在内存空间和文件空间的映像 358

14.3.1.2 对象存放策略 359

14.3.1.3 设计数据接口部分的类 361

14.3.1.4 问题域部分的修改 362

14.3.2 针对RDBMS的设计 363

14.3.2.1 对象及其对数据库的使用 363

14.3.2.2 对象在数据库中的存放策略 366

14.3.2.3 数据接口部分类的设计和问题域部分的修改 374

14.3.3 针对OOBMS的设计 376

第15章 构件化与系统部署 378

15.1 面向对象方法与构件技术 378

15.2 面向对象模型的构件化 379

15.3 系统部署 380

15.3.1 软件制品的组织 381

15.3.2 系统部署过程与策略 382

索引 385

参考文献 389