注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计程序设计综合面向对象分析与设计(第3版)

面向对象分析与设计(第3版)

面向对象分析与设计(第3版)

定 价:¥99.00

作 者: (美) 布奇(Booch,G.) 等著,王海鹏,潘加宇 译
出版社: 电子工业出版社
丛编项:
标 签: 计算机理论

ISBN: 9787121173899 出版时间: 2012-07-01 包装: 平装
开本: 16开 页数: 608 字数:  

内容简介

  《面向对象分析与设计(第3版)》是UML创始人Grady Booch的代表作之一。全书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOAD)的概念和方法。应用部分连续列出了5个不同类型、不同领域的应用,描述如何从初始阶段到交付阶段,将OOAD理论和方法应用到项目中。应用部分所涉及的领域包括系统架构、数据获取、密码分析、控制系统和Web开发,还给出了一些关于重要问题的有效建议,包括分类、实现策略和高性价比的项目管理。《面向对象分析与设计(第3版)》介绍的概念都基于牢固的理论基础。同时,作者十分注重实效,基于其丰富的经验,面向软件工程实践者的实际需要,提出了改进的对象开发方法,用于解决系统和软件开发者面临的复杂问题;运用大量例子说明了基本概念,解释了方法,并展示了在不同领域的成功应用。书中的表示法采用最新的UML 2.0,因此本书是学习UML 2.0不可多得的参考书。本书非常适合实际系统和软件的开发者、系统分析师或架构师、项目经理阅读,也可以作为高等院校软件工程和高级编程课程的教材使用。

作者简介

  Grady Booch,在软件架构、软件工程和建模领域的创新工作是世界知名的。从1981年Rational公司创建开始,他就一直担任该公司的首席科学家。Grady于2003年3月成为了IBM院士(IBM Fellow)。Grady是统一建模语言(UML)最早的开发者之一,也是几个Rational产品的最早开发者之一。Grady曾担任世界各地一些复杂的软件密集型项目的架构师和架构指导者。Grady是6本畅销书的作者,包括UML Users Guide和Object-Oriented Analysis with Applications。Grady发表了几百篇有关软件工程的技术文章,其中包括在20世纪80年代早期发表的文章,这些文章最先提出了面向对象设计的术语和实践。他曾在世界各地演讲和咨询。Grady是美国计算机协会(ACM)、美国电气电子工程师学会(IEEE)、美国科学促进会(AAAS)、有社会责任的计算机专家协会(CPSR)的成员。他是IBM院士、ACM院士、世界技术网络院士,也是软件开发论坛梦想家。Grady是敏捷联盟、Hillside集团和软件架构师世界学院的创始委员会成员,也是Northface大学的顾问委员会成员。Grady于1977年从美国空军学院获得学士学位,于1979年从加州大学圣巴巴拉分校获得电子工程科学硕士学位。Grady与他的妻子和他的猫生活在科罗拉多。他的兴趣包括阅读、旅行、唱歌和弹奏竖琴。Robert A. Maksimchuk,是Unisys Chief Technology Office的一名研究主管。他关注新出现的建模技术,目的是提升Unisys 3D可视企业建模框架的战略方向。Bob为这项任务带来了不同行业的大量系统工程、建模、面向对象分析与设计的专业知识。他是UML for Mere Mortals和UML for Database Design的合著者,也写了许多文章。他曾经周游世界各地,在各种技术论坛上作为重要演讲者发言,举办关于UML和面向对象开发的研讨会和培训。Bob是电气电子工程师学会(IEEE)和国际系统工程学会(INCOSE)的成员。Michael W. Engle,是洛克希德马丁公司的首席工程师。他有超过26年的技术和管理经验:从项目启动到运营支持,涵盖了完整的系统开发生命周期。利用系统工程师、软件工程师和系统架构师的背景,Mike运用了面向对象技术,为复杂的系统开发提供创新的开发方式。Bobbi J. Young, Ph.D.,是Unisys Chief Technology Office的一名研究主管。她有着多年的IT行业从业经验,与商业公司和国防部合同供应商一同工作。Young博士是一名咨询师,她在项目管理、企业架构、系统工程和面向对象分析与设计方面提供现场指导。在她的职业生涯中,她关注于系统生命周期过程和方法学,同时也关注企业架构。Young博士拥有生物学、计算机科学和人工智能学位,她获得了管理信息系统的博士学位,也曾是美国海军预备役的一名指挥官(已退伍)。Jim Conallen,是IBM Rational的模型驱动开发战略小组的一名软件工程师。在这个小组中,他积极参与,将对象管理集团(OMG)的模型驱动架构(MDA)计划应用于IBM Rational的模型工具中。Jim在基于资产的开发和可复用资产规范(RAS)领域也很活跃。Jim经常在会议上演讲,也经常写文章。他的专业领域是Web应用开发。他开发了UML的Web应用扩展(WAE)。这是对UML的一种扩展,让开发者能够利用UML在合适的抽象和细节层面上对Web应用的架构进行建模。这项工作是IBM Rational Rose和Rational XDE Web Modeling功能的基础。Jim与人合著了两个版本的Building Web Applications with UML,第一个版本采用微软公司的ASP技术,后一个版本采用J2EE技术。Jim的经验也来自于加入Rational之前的工作,那时他曾是独立的咨询师、Peace Corps的志愿者和大学讲师。他还是3个孩子的父亲。Jim从Widener大学获得了计算机和软件工程的学士学位和硕士学位。Kelli Houston是IBM Rational的IT咨询专家。她是IBM内部方法的方法架构师,负责编写方法并集成IBM的方法。除了方法架构师的角色,Kelli还在IBM内部领导Rational Method Composer(RMC)特别兴趣小组(SIG)工作,为客户和IBM内部咨询师提供有效使用RMC方面的咨询和现场指导服务。

图书目录

第1篇  概    念
第1章  复杂性 2
1.1  复杂系统的结构 3
1.1.1  个人计算机的结构 3
1.1.2  植物和动物的结构 4
1.1.3  物质的结构 5
1.1.4  社会机构的结构 5
1.2  软件固有的复杂性 6
1.2.1  定义软件复杂性 6
1.2.2  为什么软件在本质上是复杂的 7
1.3  复杂系统的5个属性 11
1.3.1  层次结构 11
1.3.2  相对本原 12
1.3.3  分离关注 12
1.3.4  共同模式 12
1.3.5  稳定的中间形式 13
1.4  有组织和无组织的复杂性 13
1.4.1  复杂系统的规范形式 13
1.4.2  人在处理复杂性时的能力局限 16
1.5  从混沌到有序 17
1.5.1  分解的作用 17
1.5.2  抽象的作用 21
1.5.3  层次结构的作用 22
1.6  复杂系统的设计 23
1.6.1  作为科学和艺术的工程 23
1.6.2  设计的含义 23
1.7  小结 26
第2章  对象模型 27
2.1  对象模型的演进 27
2.1.1  程序设计语言的换代 28
2.1.2  第一代和第二代早期程序设计语言的拓扑结构 30
2.1.3  第二代后期和第三代早期程序设计语言的结构 31
2.1.4  第三代后期程序设计语言的结构 32
2.1.5  基于对象和面向对象的程序设计语言的结构 33
2.2  对象模型基础 35
2.2.1  面向对象编程 38
2.2.2  面向对象设计 39
2.2.3  面向对象分析 40
2.3  对象模型要素 40
2.3.1  抽象的意义 42
2.3.2  封装的意义 48
2.3.3  模块化的意义 51
2.3.4  层次结构的意义 55
2.3.5  类型的意义 61
2.3.6  并发的意义 64
2.3.7  持久的意义 66
2.4  应用对象模型 68
2.4.1  对象模型的好处 69
2.4.2  开放式问题 70
2.5  小结 70
第3章  类与对象 71
3.1  对象的本质 71
3.1.1  什么是对象,什么不是对象 72
3.1.2  状态 74
3.1.3  行为 77
3.1.4  标识符 81
3.2  对象之间的关系 83
3.2.1  链接 84
3.2.2  聚合 87
3.3  类的本质 88
3.3.1  什么是类,什么不是类 88
3.3.2  接口和实现 90
3.3.3  类的生命周期 91
3.4  类之间的关系 92
3.4.1  关联 92
3.4.2  继承 94
3.4.3  聚合 105
3.4.4  依赖关系 106
3.5  类与对象的互动 106
3.5.1  类与对象的关系 107
3.5.2  类与对象在分析和设计中的角色 107
3.6  创建高品质的类与对象 107
3.6.1  评判一种抽象的品质 108
3.6.2  选择操作 109
3.6.3  选择关系 111
3.6.4  选择实现 113
3.7  小结 114第4章  分类 115
4.1  正确分类的重要性 115
4.1.1  分类的困难 116
4.1.2  分类的增量和迭代本质 118
4.2  确定类和对象 120
4.2.1  经典方法和现代方法 120
4.2.2  面向对象分析 124
4.3  关键抽象与机制 132
4.3.1  确定关键抽象 132
4.3.2  识别机制 134
4.4  小结 137
第2篇  方    法
第5章  表示法 140
5.1  统一建模语言 140
5.1.1  简单历史回顾 141
5.1.2  模型与多重视图 141
5.1.3  图分类 142
5.1.4  在实践中使用图 144
5.1.5  概念模型、逻辑模型和物理模型 145
5.1.6  工具的角色 145
5.1.7  面向对象开发的产品 146
5.1.8  规模上的伸缩 147
5.1.9  UML的语法和语义 147
5.1.10  UML 2.0信息资源 148
5.2  包图 148
5.2.1  基本概念:包表示法 149
5.2.2  基本概念:元素的可见性 150
5.2.3  基本概念:依赖关系 151
5.2.4  基本概念:包图 152
5.2.5  高级概念:导入和访问 154
5.3  组件图 156
5.3.1  基本概念:组件表示法 157
5.3.2  基本概念:组件图 158
5.3.3  基本概念:组件接口 160
5.3.4  基本概念:组件实现 161
5.3.5  高级概念:组件的内部结构 163
5.4  部署图 164
5.4.1  基本概念:工件表示法 165
5.4.2  基本概念:节点表示法 165
5.4.3  基本概念:部署图 166
5.5  用例图 168
5.5.1  基本概念:执行者 169
5.5.2  基本概念:用例 169
5.5.3  基本概念:用例图 169
5.5.4  高级概念:?include?和?extend?关系 172
5.5.5  高级概念:泛化 176
5.6  活动图 177
5.6.1  基本概念:动作 177
5.6.2  基本概念:开始和停止 178
5.6.3  基本概念:判断节点和合并节点 178
5.6.4  基本概念:分区 179
5.6.5  高级概念:分叉、结合和并发 179
5.6.6  高级概念:对象流 181
5.6.7  高级概念:其他元素 181
5.7  类图 181
5.7.1  基本概念:类表示法 183
5.7.2  基本概念:类关系 185
5.7.3  高级概念:模板(参数化)类 188
5.7.4  高级概念:可见性 189
5.7.5  高级概念:关联端名称和限定符 190
5.7.6  高级概念:约束 191
5.7.7  高级概念:关联类和注解 195
5.8  序列图 196
5.8.1  基本概念:对象与交互 196
5.8.2  基本概念:生命线与消息 196
5.8.3  高级概念:销毁事件 198
5.8.4  高级概念:执行说明 199
5.8.5  高级概念:交互使用 200
5.8.6  高级概念:控制结构 200
5.9  交互概述图 203
5.9.1  基本概念:框 203
5.9.2  基本概念:控制流元素 203
5.9.3  基本概念:交互图元素 205
5.10  组合结构图 205
5.10.1  基本概念:组合结构的部分 205
5.10.2  基本概念:组合结构的部分与接口 206
5.10.3  基本概念:组合结构连接器 207
5.10.4  高级概念:协作 207
5.11  状态机图 208
5.11.1  基本概念:初始状态、最终状态和简单状态 209
5.11.2  基本概念:转换与事件 210
5.11.3  高级概念:状态活动——入口活动、
执行活动和出口活动 212
5.11.4  高级概念:控制转换 212
5.11.5  高级概念:复合状态与嵌套状态 214
5.11.6  高级概念:并发与控制 215
5.11.7  高级概念:子状态机状态 220
5.11.8  高级概念:其他状态机图元素 221
5.12  时间图 221
5.12.1  基本概念:更多相同之处 221
5.12.2  基本概念:布局 222
5.12.3  基本概念:事件 223
5.12.4  基本概念:约束 223
5.12.5  高级概念:另一种表示形式 224
5.12.6  高级概念:事件与消息 224
5.13  对象图 225
5.13.1  基本概念:对象 226
5.13.2  基本概念:对象关系 226
5.13.3  高级概念:端点名称和限定符 227
5.14  通信图 228
5.14.1  基本概念:对象、链接和消息 229
5.14.2  基本概念:顺序表达式 229
5.14.3  高级概念:消息与同步 231
5.14.4  高级概念:迭代子句和警戒条件 232
5.15  小结 233
第6章  过程 235
6.1  首要原则 235
6.1.1  成功项目的特征 235
6.1.2  追求理性的开发过程 239
6.2  宏观过程:软件开发生命周期 243
6.2.1  概述 243
6.2.2  宏观过程的内容维:科目 245
6.2.3  宏观过程的时间维:里程碑和阶段 248
6.2.4  宏观过程的时间维:迭代 254
6.2.5  发行计划 256
6.3  微观过程:分析与设计过程 259
6.3.1  概述 259
6.3.2  抽象层次 260
6.3.3  活动 261
6.3.4  产品 262
6.3.5  微观过程与抽象层次 266
6.3.6  识别元素 269
6.3.7  确定元素间的协作 273
6.3.8  确定元素间的关系 277
6.3.9  详细确定元素的语义 280
6.4  小结 285
第7章  实战 287
7.1  管理和计划 288
7.1.1  风险管理 288
7.1.2  任务计划 289
7.1.3  开发复查 290
7.2  人员配备 292
7.2.1  资源配置 292
7.2.2  开发团队角色 293
7.3  发布版本管理 296
7.3.1  配置管理和版本控制 296
7.3.2  集成 297
7.3.3  测试 298
7.4  复用 298
7.4.1  复用的元素 298
7.4.2  建立复用制度 299
7.5  质量保证和测量指标 299
7.5.1  软件质量 300
7.5.2  面向对象测量指标 301
7.6  文档化 304
7.6.1  开发遗产 304
7.6.2  文档化的内容 305
7.7  工具 306
7.7.1  工具种类 306
7.7.2  组织上的意义 307
7.8  特殊主题 308
7.8.1  领域特定问题 308
7.8.2  采纳面向对象技术 309
7.9  面向对象开发的好处和风险 310
7.9.1  面向对象开发的好处 310
7.9.2  面向对象开发的风险 311
7.10  小结 313
第3篇  应    用
第8章  系统架构——基于卫星的导航 316
8.1  初始 317
8.1.1  卫星导航系统的需求 318
8.1.2  定义问题的边界 319
8.1.3  确定任务用例 322
8.1.4  确定系统用例 325
8.2  细化 329
8.2.1  开发一个好的架构 329
8.2.2  定义架构开发活动 330
8.2.3  验证所建议的系统架构 331
8.2.4  分配非功能需求和确定接口 339
8.2.5  规定系统架构及其部署 341
8.2.6  分解系统架构 344
8.3  构造 350
8.4  交付之后 350
8.4.1  添加新的功能 351
8.4.2  改变目标硬件 352
第9章  控制系统——交通管理 353
9.1  初始 354
9.1.1  列车交通管理系统的需求 354
9.1.2  决定系统用例 357
9.2  细化 362
9.2.1  分析系统功能 362
9.2.2  定义TTMS架构 366
9.2.3  从系统工程到硬件和软件工程 368
9.2.4  关键抽象和机制 371
9.3  构造 373
9.3.1  消息传送 374
9.3.2  列车时刻表计划 377
9.3.3  显示信息 381
9.3.4  传感器数据采集 382
9.3.5  发布版本管理 383
9.3.6  系统架构 384
9.3.7  子系统规格说明 385
9.4  交付之后 387
第10章  人工智能——密码分析 389
10.1  初始 390
10.1.1  密码分析需求 390
10.1.2  定义问题的边界 391
10.1.3  黑板框架的架构 394
10.1.4  知识源的分析 396
10.2  细化 397
10.2.1  黑板对象 397
10.2.2  依赖和认定 399
10.3  构造 401
10.3.1  设计黑板对象 402
10.3.2  设计知识源 407
10.3.3  设计控制器 414
10.3.4  集成黑板框架 416
10.3.5  添加新的知识源 419
10.4  交付之后 421
10.4.1  系统增强 421
10.4.2  改变需求 423
第11章  数据采集——气象监测站 424
11.1  初始 424
11.1.1  气象监测站需求 425
11.1.2  定义问题的边界 425
11.1.3  场景 437
11.2  细化 438
11.2.1  气象监测系统用例 438
11.2.2  架构框架 448
11.3  构造 450
11.3.1  帧机制 450
11.3.2  发布计划 454
11.3.3  传感器机制 455
11.3.4  显示机制 457
11.3.5  用户界面机制 458
11.4  交付之后 461
第12章  Web应用——休假跟踪系统 463
12.1  初始 464
12.1.1  需求 464
12.1.2  用例模型 466
12.2  细化 467
12.2.1  部署视图 468
12.2.2  逻辑视图 470
12.2.3  进程视图 472
12.2.4  实现视图 475
12.2.5  用例视图 475
12.3  构造 480
12.3.1  用户体验模型 480
12.3.2  分析和设计模型 482
12.3.3  实体 493
12.3.4  控制器 502
12.3.5  Web页面和用户界面 503
12.4  交付和交付之后 508
附录A  面向对象编程语言 510
附录B  进一步阅读 530
注解 539
术语表 566
分类书目 576 

本目录推荐