出版社: 人民邮电出版社
副标题: (第3版)
原作名: Object-Oriented Analysis and Design with Applications
译者: 王海鹏 / 潘加宇
出版年: 2009-8
页数: 502
定价: 79.00元
ISBN: 9787115208378
内容简介 · · · · · ·
《面向对象分析与设计(第3版)》是UML创始人Grady Booch的代表作之一,书中介绍的概念都基于牢固的理论基础。同时,《面向对象分析与设计(第3版)》又是一本注重实效的书,面向架构师和软件开发者等软件工程实践者的实际需要。《面向对象分析与设计(第3版)》通过大量例子说明了基本概念,解释了方法,并展示了在不同领域的成功应用。全书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOAD)的概念和方法。应用部分连续列出了5个不同类型、不同领域的应用,描述如何从初始阶段到移交阶段将OOAD理论和方法应用到项目中。应用部分所涉及的领域包括系统架构、数据获取、密码分析、控制系统和Web开发,还给出了一些关于重要问题的有效建议,包括分类、实现策略和高性价比的项目管理。书中的表示法采用最新的UML 2.0,因此《面向对象分析与设计(第3版)》是学习...
《面向对象分析与设计(第3版)》是UML创始人Grady Booch的代表作之一,书中介绍的概念都基于牢固的理论基础。同时,《面向对象分析与设计(第3版)》又是一本注重实效的书,面向架构师和软件开发者等软件工程实践者的实际需要。《面向对象分析与设计(第3版)》通过大量例子说明了基本概念,解释了方法,并展示了在不同领域的成功应用。全书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOAD)的概念和方法。应用部分连续列出了5个不同类型、不同领域的应用,描述如何从初始阶段到移交阶段将OOAD理论和方法应用到项目中。应用部分所涉及的领域包括系统架构、数据获取、密码分析、控制系统和Web开发,还给出了一些关于重要问题的有效建议,包括分类、实现策略和高性价比的项目管理。书中的表示法采用最新的UML 2.0,因此《面向对象分析与设计(第3版)》是学习UML 2.0不可多得的参考书。《面向对象分析与设计(第3版)》作者基于长期丰富的经验,提出了改进的对象开发方法,用于解决系统和软件开发者面临的复杂问题,非常适合实际系统和软件的开发者、系统分析师或构架师、项目经理阅读。《面向对象分析与设计(第3版)》主要阐述了软件开发的方法,也可以作为高等院校软件工程和高级编程课程的教材使用。
目录 · · · · · ·
第1章 复杂性 2
1.1 复杂系统的结构 2
1.1.1 个人计算机的结构 3
1.1.2 植物和动物的结构 3
1.1.3 物质的结构 4
1.1.4 社会机构的结构 4
1.2 软件固有的复杂性 5
1.2.1 定义软件复杂性 5
1.2.2 为什么软件在本质上是复杂的 5
1.3 复杂系统的5个属性 8
1.3.1 层次结构 8
1.3.2 相对本原 8
1.3.3 分离关注 9
1.3.4 共同模式 9
1.3.5 稳定的中间形式 9
1.4 有组织和无组织的复杂性 10
1.4.1 复杂系统的规范形式 10
1.4.2 处理复杂性时人的能力的局限 12
1.5 从混沌到有序 12
1.5.1 分解的作用 13
1.5.2 抽象的作用 16
1.5.3 层次结构的作用 16
1.6 复杂系统的设计 17
1.6.1 作为科学和艺术的工程 17
1.6.2 设计的含义 17
1.7 小结 19
第2章 对象模型 20
2.1 对象模型的演进 20
2.1.1 程序设计语言的换代 20
2.1.2 第一代和第二代早期程序设计语言的拓扑结构 22
2.1.3 第二代后期和第三代早期程序设计语言的结构 23
2.1.4 第三代后期程序设计语言的结构 23
2.1.5 基于对象和面向对象的程序设计语言的结构 24
2.2 对象模型基础 26
2.2.1 面向对象编程 29
2.2.2 面向对象设计 29
2.2.3 面向对象分析 30
2.3 对象模型要素 30
2.3.1 抽象的意义 31
2.3.2 封装的意义 35
2.3.3 模块化的意义 38
2.3.4 层次结构的意义 41
2.3.5 类型的意义 46
2.3.6 并发的意义 47
2.3.7 持久的意义 49
2.4 应用对象模型 51
2.4.1 对象模型的好处 51
2.4.2 开放式问题 52
2.5 小结 52
第3章 类与对象 53
3.1 对象的本质 53
3.1.1 什么是对象,什么不是对象 53
3.1.2 状态 55
3.1.3 行为 57
3.1.4 标识符 60
3.2 对象之间的关系 62
3.2.1 链接 62
3.2.2 聚合 64
3.3 类的本质 65
3.3.1 什么是类,什么不是类 65
3.3.2 接口和实现 66
3.3.3 类的生命周期 68
3.4 类之间的关系 68
3.4.1 关联 69
3.4.2 继承 70
3.4.3 聚合 78
3.4.4 依赖关系 79
3.5 类与对象的互动 79
3.5.1 类与对象的关系 79
3.5.2 类与对象在分析和设计中的角色 79
3.6 创建高品质的类与对象 80
3.6.1 评判一种抽象的品质 80
3.6.2 选择操作 81
3.6.3 选择关系 82
3.6.4 选择实现 83
3.7 小结 84
第4章 分类 85
4.1 正确分类的重要性 85
4.1.1 分类的困难 86
4.1.2 分类的增量和迭代本质 87
4.2 确定类和对象 88
4.2.1 经典方法和现代方法 89
4.2.2 面向对象分析 92
4.3 关键抽象与机制 97
4.3.1 确定关键抽象 97
4.3.2 识别机制 99
4.4 小结 101
第2部分 方法
第5章 表示法 104
5.1 统一建模语言 104
5.1.1 简单历史回顾 104
5.1.2 模型与多重视图 105
5.1.3 图分类 105
5.1.4 在实践中使用图 107
5.1.5 概念模型.逻辑模型和物理模型 108
5.1.6 工具的角色 108
5.1.7 面向对象开发的产品 108
5.1.8 规模上的伸缩 109
5.1.9 UML的语法和语义 109
5.1.10 UML2.0信息资源 110
5.2 包图 110
5.2.1 基本概念:包表示法 110
5.2.2 基本概念:元素的可见性 111
5.2.3 基本概念:依赖关系 111
5.2.4 基本概念:包图 113
5.2.5 高级概念:导入和访问 114
5.3 组件图 117
5.3.1 基本概念:组件表示法 117
5.3.2 基本概念:组件图 118
5.3.3 基本概念:组件接口 119
5.3.4 基本概念:组件实现 121
5.3.5 高级概念:组件的内部结构 122
5.4 部署图 123
5.4.1 基本概念:工件表示法 123
5.4.2 基本概念:节点表示法 124
5.4.3 基本概念:部署图 124
5.5 用例图 126
5.5.1 基本概念:执行者 126
5.5.2 基本概念:用例 127
5.5.3 基本概念:用例图 127
5.5.4 高级概念:[[include]]和[[extend]]关系 129
5.5.5 高级概念:泛化 133
5.6 活动图 133
5.6.1 基本概念:动作 134
5.6.2 基本概念:开始和停止 134
5.6.3 基本概念:判断节点和合并节点 134
5.6.4 基本概念:分区 135
5.6.5 高级概念:分叉.结合和并发 135
5.6.6 高级概念:对象流 138
5.6.7 高级概念:其他元素 138
5.7 类图 138
5.7.1 基本概念:类表示法 138
5.7.2 基本概念:类关系 140
5.7.3 高级概念:模板(参数化)类 142
5.7.4 高级概念:可见性 143
5.7.5 高级概念:关联端名称和限定符 144
5.7.6 高级概念:约束 145
5.7.7 高级概念:关联类和注解 148
5.8 序列图 149
5.8.1 基本概念:对象与交互 149
5.8.2 基本概念:生命线与消息 149
5.8.3 高级概念:销毁事件 151
5.8.4 高级概念:执行说明 151
5.8.5 高级概念:交互使用 153
5.8.6 高级概念:控制结构 153
5.9 交互概述图 155
5.9.1 基本概念:框 155
5.9.2 基本概念:控制流元素 155
5.9.3 基本概念:交互图元素 156
5.10 组合结构图 157
5.10.1 基本概念:组合结构的部分 157
5.10.2 基本概念:组合结构的部分与接口 157
5.10.3 基本概念:组合结构连接器 158
5.10.4 高级概念:协作.. 158
5.11 状态机图 159
5.11.1 基本概念:初始状态.最终状态和简单状态 160
5.11.2 基本概念:转换与事件 160
5.11.3 高级概念:状态活动——入口活动.执行活动和出口活动 162
5.11.4 高级概念:控制转换 162
5.11.5 高级概念:复合状态与嵌套状态 163
5.11.6 高级概念:并发与控制 165
5.11.7 高级概念:子状态机状态 168
5.11.8 高级概念:其他状态机图元素 169
5.12 时间图 170
5.12.1 基本概念:更多相同之处 170
5.12.2 基本概念:布局 170
5.12.3 基本概念:事件 171
5.12.4 基本概念:约束 171
5.12.5 高级概念:另一种表示形式 172
5.12.6 高级概念:事件与消息 172
5.13 对象图 173
5.13.1 基本概念:对象 173
5.13.2 基本概念:对象关系 173
5.13.3 高级概念:端点名称和限定符 174
5.14 通信图 175
5.14.1 基本概念:对象.链接和消息 175
5.14.2 基本概念:顺序表达式 176
5.14.3 高级概念:消息与同步 177
5.14.4 高级概念:迭代子句和警戒条件 178
5.15 小结 179
第6章 过程 181
6.1 首要原则 181
6.1.1 成功项目的特征 181
6.1.2 追求理性的开发过程 184
6.2 宏观过程:软件开发生命周期 186
6.2.1 概述 187
6.2.2 宏观过程的内容维:科目 188
6.2.3 宏观过程的时间维:里程碑和阶段 190
6.2.4 宏观过程的时间维:迭代 195
6.2.5 发行计划 196
6.3 微观过程:分析与设计过程 198
6.3.1 概述 198
6.3.2 抽象层次 199
6.3.3 活动 200
6.3.4 产品 201
6.3.5 微观过程与抽象层次 203
6.3.6 识别元素 205
6.3.7 确定元素间的协作 208
6.3.8 确定元素间的关系 211
6.3.9 详细确定元素的语义 213
6.4 小结 216
第7章 实战 217
7.1 管理和计划 217
7.1.1 风险管理 218
7.1.2 任务计划 218
7.1.3 开发评审 219
7.2 人员配备 220
7.2.1 资源配置 220
7.2.2 开发团队角色 221
7.3 发布版本管理 223
7.3.1 配置管理和版本控制 223
7.3.2 集成 224
7.3.3 测试 224
7.4 复用 225
7.4.1 复用的元素 225
7.4.2 建立复用制度 225
7.5 质量保证和度量 226
7.5.1 软件质量 226
7.5.2 面向对象度量 226
7.6 文档化 229
7.6.1 开发遗产 229
7.6.2 文档化的内容 229
7.7 工具 230
7.7.1 工具种类 230
7.7.2 组织上的意义 231
7.8 特殊主题 231
7.8.1 领域特定问题 231
7.8.2 采纳面向对象技术 232
7.9 面向对象开发的好处和风险 233
7.9.1 面向对象开发的好处 233
7.9.2 面向对象开发的风险 233
7.10 小结 235
第3部分 应用
第8章 系统架构——基于卫星的导航 238
8.1 先启 238
8.1.1 卫星导航系统的需求 239
8.1.2 定义问题的边界 240
8.1.3 决定使命用例 243
8.1.4 决定系统用例 245
8.2 精化 248
8.2.1 开发一个好的架构 248
8.2.2 定义架构开发活动 248
8.2.3 验证所建议的系统架构 249
8.2.4 分配非功能需求和阐明接口 255
8.2.5 规定系统架构及其部署 257
8.2.6 分解系统架构 259
8.3 构造 265
8.4 后移交 265
8.4.1 添加新的功能 265
8.4.2 改变目标硬件 266
第9章 控制系统——交通管理 267
9.1 先启 268
9.1.1 列车交通管理系统的需求 268
9.1.2 决定系统用例 270
9.2 精化 273
9.2.1 分析系统功能 274
9.2.2 定义TTMS架构 277
9.2.3 从系统工程到硬件和软件工程 279
9.2.4 关键抽象和机制 281
9.3 构造 282
9.3.1 消息传送 283
9.3.2 列车日程计划 285
9.3.3 显示信息 288
9.3.4 传感器数据采集 289
9.3.5 发布版本管理 289
9.3.6 系统架构 290
9.3.7 子系统规格 291
9.4 后移交 293
第10章 人工智能——密码分析 294
10.1 先启 295
10.1.1 密码分析需求 295
10.1.2 定义问题的边界 296
10.1.3 黑板框架的架构 297
10.1.4 知识源的分析 299
10.2 精化 299
10.2.1 黑板对象 300
10.2.2 依赖和认定 301
10.3 构造 303
10.3.1 设计黑板对象 304
10.3.2 设计知识源 308
10.3.3 设计控制器 313
10.3.4 集成黑板框架 314
10.3.5 添加新的知识源 317
10.4 后移交 318
10.4.1 系统增强 318
10.4.2 改变需求 320
第11章 数据采集——气象监测站 321
11.1 先启 321
11.1.1 气象监测站需求 321
11.1.2 定义问题的边界 322
11.1.3 场景 330
11.2 精化 331
11.2.1 气象监测系统用例 331
11.2.2 架构框架 338
11.3 构造 340
11.3.1 帧机制 340
11.3.2 发布计划 343
11.3.3 传感器机制 344
11.3.4 显示机制 346
11.3.5 用户界面机制 346
11.4 后移交 349
第12章 Web应用——休假跟踪系统 350
12.1 先启 350
12.1.1 需求 350
12.1.2 用例模型 352
12.2 精化 353
12.2.1 部署视图 354
12.2.2 逻辑视图 355
12.2.3 进程视图 357
12.2.4 实现视图 359
12.2.5 用例视图 359
12.3 构造 362
12.3.1 用户体验模型 362
12.3.2 分析和设计模型 364
12.3.3 实体 372
12.3.4 控制器 379
12.3.5 Web页面和用户界面 380
12.4 移交和后移交 384
附录A 面向对象编程语言 386
A.1 语言进化 386
A.2 Smalltalk 389
A.2.1 概述 390
A.2.2 例子 390
A.2.3 参考文献 393
A.3 C++ 393
A.3.1 概述 394
A.3.2 例子 394
A.3.3 参考文献 397
A.4 Java 397
A.4.1 概述 398
A.4.2 例子 399
A.4.3 参考文献 402
附录B 进一步阅读 403
注解 409
术语表 430
分类书目 438
· · · · · · (收起)
原文摘录 · · · · · · ( 全部 )
-
在我们见过的最不正常的一个案例中,业务机构的人认为与开发人员沟通是一件丢人的事情,有可能对他们的事业产生不好的影响。 (查看原文) —— 引自第168页 -
需求→分析与设计→实现→测试→我一 项目管理。 配置和变更管理, 环境, 宏观过程时间谁:里程碑和阶段。 需求来自宏观过程). 详细元素语义, 识别溸 19 设计现 __> 50 =>格话咋 确定元 确定元素关系 素协作 识别元素. 产品步骤、里程碑和评判标准 识别元素,㖵不可重要职责的分析类、@几组代表应该一起维护信息的分析类 加组协作提供某个行为需求或相关和需求的分析类,@相同职责的分析类, 确定元素→分析行为,分配两职责、@在难中提取模式, 协作。 详细确定语义》列出角色和职责,@更详细描述职责,考虑继承 dapteri 实战。 Bsg,软件开发经理的职责是管理非技术风险而管理技术风险则 通常是软件架构师的职责, Bsg,在在任何大中型项目中,召开每周一次的团队会议来讨论已完成 和即将进行的工作都是合适的、 要想免受乐观的计划之苦,关键是校准开发团队及其工具, 脚,开发团队角色,核心项目架构师、组件主管、应用工程师、 脚,一个30~40个人的团队一年开发九十万行高质量的代码是可能的。 配置管理和版本控制。用例物格说明,可永砒模型和文档, 测试, 复用、建立复用制度。 P. 304,必须形成文档, 基本文档:描述高层系统架构的文档。 描述系统关键抽象和机制的文档。 描述系统关键方面的相关行为的场景文档 阿。6.工具,三种重要工具。支持0从语法的建模工具, e. 软件配置和版本控制工具, 3类库工具。 139.人员培𠺫:01以.0013分析和设计流程,工具、语言和库. chap-9,控制系统一交通管理。 主要功能,确定列车线经和监控列车系统, 相关功能:交通计划、故障预测、位置跟踪状况监控冲突避免和日志 8个用例:确定洛线、规划交通监控系统、预测失败, 跟踪位置、监控交通避免冲突,䏯 非功能,占4:安全、 bokmlsoh.tn 他界与系统排织互持长 9999%可用。... (查看原文) —— 引自第1页
> 全部原文摘录
喜欢读"面向对象分析与设计"的人也喜欢的电子书 · · · · · ·
喜欢读"面向对象分析与设计"的人也喜欢 · · · · · ·
面向对象分析与设计的书评 · · · · · · ( 全部 12 条 )

两获jolt award 的好书

我不知道适合什么样的读者
> 更多书评 12篇
论坛 · · · · · ·
亚马逊上说翻译很烂。。。 | 来自有机体 | 1 回应 | 2015-02-17 09:38:58 |
这本书的其他版本 · · · · · · ( 全部6 )
-
电子工业出版社 (2012)9.0分 53人读过
-
中国电力出版社 (2003)8.7分 26人读过
-
Addison-Wesley (2007)8.2分 21人读过
-
人民邮电出版社 (2008)暂无评分 8人读过
在哪儿借这本书 · · · · · ·
以下书单推荐 · · · · · · ( 全部 )
- 书单-编程-前端 (LZX)
- 图书类Jolt大奖和生产力大奖 (zpp)
- 从码熊到码雄之路 (不在服务区)
- UML (杨贵福)
- 软件工艺 (咖啡屋的鼠标)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于面向对象分析与设计的评论:
feed: rss 2.0
0 有用 陌羽蕲moyuqi 2012-02-13 21:44:53
挺不错的一本书,没看完,有空在看一下。
0 有用 qlsc 2013-06-05 01:00:44
书中思想是不错,不过有些翻译读起来有点别扭
0 有用 Bingchean 2012-09-17 18:47:46
求二手,尼玛太贵。。。。
1 有用 催眠 2011-01-28 00:51:02
特别的Booch,特别的书。前四章就很超值了,对于OO,远不止封装、继承和多态,还澄清了很多流行的误解;第五章那么多篇幅的UML,也许还不如《UML精粹》实用;再加上后面几章的实战分析,强烈推荐!
2 有用 C55x 2012-10-03 12:25:37
UML图最大的作用就是忽悠外行。
0 有用 行摄故乡 2022-08-15 11:16:28
系统性地整理了面向对象的思路
0 有用 无糖咖啡果冻 2022-07-08 16:36:48
主要看了uml部分 感觉很有帮助
0 有用 阿里阿里巴巴 2021-11-06 22:18:11
没看懂
0 有用 Chris 2021-07-07 23:01:12
前面的部分讲述类和对象讲的很好,但后面的部分讲述开发流程和UML略显的枯燥。可以读一读前面的部分,后面的部分略过。
0 有用 Chaos 2019-09-18 15:06:56
废话多。