
《UML 2.2面向对象分析与设计》是清华大学出版社出版的图书,作者是(英)班尼特(Bennett, S. ) / (英)麦克罗布(McRobb, S. ) / (英)法默果步生观(Farmer, R. )。
- 作者 (英)班尼特(Bennett,S.)/(英)麦克罗布(McRobb,S.)/(英)法默(Farmer,R.)
- 译者 李杨
- 出版社 清华大学出版社
- 出版时间 2013年1月
- 页数 548 页
内容介绍
本书对前继血吃也以具业调深品一版进行了修订,反映了信息系统开发中最前沿的方法。Bennett、McRobb和Farmer撰写的这本书是面向对我识践灯象分析与设计领域的经典图书,元念领由是本科生和研究生"系统分析和设计"课程重要的教受尔例团级丰任年学用书。
本书为使用来自UML 2.2中的主要技术进行面向对象分析与设计给出360百科了清晰实用的结构,遵循迭代球短烧子和增量型方法(它们基于业银内标准的统一过程),将系统限英分析和设计置于整个系统生命周期的背景中。本书分为决4部分:第1部分为信息系统的分析和设计以及面向对象提供了背景;第2部分关注需求获取和系统分析活动以及UM临管问生L的基本标记法;第3部分涉及系统架构和设计活动,以及对象设计的UML标记言愿须取价儿法;第4部分介绍系统的实现,如何组织系统生命周期,以及如何开发可重用
作者介绍
作者介绍:
本书促失执路员都耐算参的作者,Simon Benn脚还明会ett、Steve McRobb和Ray Farmer自从1999年本书第1版付梓的时候就一起工作。他们的合作汇集了各自在信息系统学科丰富的教学研什易乎创宣协机差学究经验。他们丰富的业界经验也查看田保证了在实际组织中UML知识激通围矿乡合则实践应用的正确性。
Simon Benne护望通既局担城职tt是De Montfort大学技术学院的培训顾问,他在这里提供UML、分析和设计,以及系统架构方面的培训。他是计算机智能中心的准会员。之前作为企业架构师供职于Celesio AG,作为ICT主管供职于Leicester议序演和育担会的复兴和文化事务部,并且罪自实经责息员叫容道在1999年之前作为首席讲师任教于De Montfort大学。Simon是Schaum's Outline of UML(2nd edition)一书的合著者,该书也由McGraw-Hill出版。
Steve McRobb是De Montfort大学信息学院的首席讲师。他教授面向对象系统分析与设计课程十几年,目前是"计算、信息技术和信息系统管理"研究生课程的课程负责人。他最近的研究范围主要集中在在线隐私以及ICT对权利关系的影响方面。Steve是Yorkshire Dales国家公园的前任首席行政主任。
Ray Farmer是Coventry大学工程和计算学院的副院长。他的研究兴趣包括信息系统分析与设计、面向服务架构以及工程和计算教育方面的教学研究。他定期作为英国和国际上面向对象分析与设计方面的咨询师。Ray之前在De Montfort大学的信息系统学院担任不同的职位。
作品目录
案例A1 Agate公司案例研究--
简介 1
A1.1 Agate公司介绍 1
A1.2 现有计算机系统 2
A1.3 使来自用当前系统的业务活动 2
A1.4 需求总结 3
案例B1 FoodCo公司案例研究--
简介 5
B1.1 FoodCo公司介绍 5
B1.2 现如今的FoodCo公司 8
B1.3 建议 11
第清同消终飞劳杀1章 信息系统 13
1.1 介绍 13
1.2 信息系统的历史 14
白艺展检你那械农观参笑1.3 信息系统现状 16
360百科 1.4 何为系统 17
1.4.1 系统思考 18
1.4.2 系统思考的益处 21
1.4.3 信息系统发展过程中
的系统 26
1.5 信息与信息系统 27
1.5.1 信息 27
1布名案.5.2 组织中信息系统的工作 27
1.5.3 信息技术 29
1.6 成功战略 30
1.6.1 确认商业战略 30
1.6.2 信息系统的贡献 31
1.6.3 信息系统和信息即亲护点整总技术战略 31
1.7 本章小结 33
问题回顾 33
案例研究、练习和项目 33
形相换后帮改 拓展阅读 34
察吃花值先到初律看雨第2章 信息系统开发面临的挑战 35
2.1 介绍 35
2.2 挑战 36
晶走田作连苏冲利政 2.2.1 终端用户的视角 37
2.2.2 客户的视角 39
2.2.3 开盐读表发者的视角 41
2.3 出错的原因 42
2.3.1 质量问题 43
2.3.2 生产率问题 45
2.4 道德层面 46
2.4.1 项目内的道德问题 47
2.4.2 更为广泛的道德问题 48
2.5 失败的代易算绍服价 49
2.6 本章小结 50
啊希 问题回顾 50
案例研究、练习和项目 50
拓展阅读 5笔1
第3章 面对挑战 52
3.1 介绍 52
3.2 问题响应 54
不福础女军歌行3.2.1 质量问题 54
3.2.2 安装和运行问题 55
3.2.3 生产率问题 56
3.3 项目的生命周期 57
3.3.1 瀑布型生命周期模型 58
3.3.2 原型 60
3.3.3 迭代和增量型开发 62
3.被如省务换自4 方法论 62
3.4.1 统一软件开发过程 63
3.4.2 敏捷方法 64
3.5 信息系统木开发管理 65
3.6 用户参与 67
3.7 软件开发工具 68
3.7.1 模型和技术支持 68
3.7.2 软广矿年院件构建 70
3.7.3 使用者所令复软件开发工具的益处
和困难 71
3.8 本章小结 71
问题回顾 71
案例研究、练习和项目 72
拓展阅读 72
第4章 面向对象 73
4.1 介绍 73
4.2 基本概念 73
4.2.1 对象 74
4.2.2 类和对象 75
4.2.3 类成员 76
4.2.4 一般化和特殊化 78
4.2.5 封装、信息试名手业火配行混端治隐藏和消息
传递 含树赵82
4.2.6 多态 84
4.2.7 对象状态 85
4.3 面向对象的起源 86
4.4 当前的面向对象语言 88
4.5 本章小结 89
问题回顾 90
案例研究、练习和项目 90
拓展阅读 91
第5章 建模的概念 92
5.1 介绍 92
5.2 模型和图 92
5.2.1 模型的含义 93
5.2.2 图 94
5.2.3 模型和图的区别 96
5.2.4 UML中的模型 97
5.2.5 开发模型 98
5.3 绘制活动图 99
5.3.1 活动图的目的 99
5.3.2 活动图的标记法 100
5.4 开发过程 103
5.4.1 基本原则 104
5.4.2 主要活动 105
5.5 本章小结 109
问题回顾 109
案例研究、练习和项目 110
拓展阅读 110
第6章 需求获取 111
6.1 介绍 111
6.2 用户需求 111
6.2.1 当前系统 112
6.2.2 新的需求 113
6.3 事实发现技术 114
6.3.1 背景阅读 114
6.3.2 访谈 115
6.3.3 观察 117
6.3.4 文档抽样 118
6.3.5 调查问卷 119
6.3.6 记住上述技术 121
6.3.7 其他技术 122
6.4 用户参与 122
6.5 文档需求 123
6.6 用例 125
6.6.1 目的 125
6.6.2 标记法 126
6.6.3 使用原型支持用例 130
6.6.4 CASE工具支持 131
6.6.5 使用用例图的业务
模型 131
6.6.6 测试和用例 132
6.7 需求获取和建模 132
6.8 本章小结 133
问题回顾 135
案例研究、练习和项目 135
拓展阅读 136
案例A2 Agate公司案例研究--
需求模型 138
A2.1 介绍 138
A2.2 需求列表 138
A2.3 执行者和用例 139
A2.4 术语表 144
A2.5 最初架构 144
A2.6 需求建模活动 145
第7章 需求分析 147
7.1 介绍 147
7.2 分析模型 148
7.2.1 分析模型和其他模型
的区别 148
7.2.2 好的分析 149
7.3 分析类图:概念和标记法 150
7.3.1 类和对象 150
7.3.2 特性 151
7.3.3 特性和状态 152
7.3.4 实例之间的链接 153
7.3.5 类之间的关联 154
7.3.6 关联和状态 154
7.3.7 多重性 155
7.3.8 操作 156
7.3.9 操作和状态 158
7.3.10 分析类图的稳定性 158
7.4 用例实现 159
7.5 绘制类图 161
7.5.1 健壮性分析 161
7.5.2 分析类stereotype 161
7.5.3 确认类 164
7.5.4 从通信图到类图 168
7.5.5 查找对象和类的其他
方法 169
7.5.6 添加和定位特性 173
7.5.7 添加关联 175
7.5.8 确定多重性 175
7.5.9 寻找操作 175
7.5.10 初始操作分配 175
7.6 CRC卡 176
7.7 整合分析类图 178
7.8 本章小结 179
问题回顾 179
案例研究、练习和项目 180
拓展阅读 183
案例A3 Agate公司案例研究--
需求分析 184
A3.1 介绍 184
A3.2 用例实现 184
A3.3 整合分析类图 189
A3.4 需求分析活动 189
第8章 完善需求模型 191
8.1 介绍 191
8.2 软件和规范重用 192
8.2.1 为何重用 192
8.2.2 难以重用的原因 192
8.2.3 面向对象对重用的贡献 193
8.3 进一步向结构中添加内容 195
8.3.1 寻找和建模一般化 195
8.3.2 寻找和建模组合 199
8.3.3 组合或聚集与一般化
的合并 200
8.3.4 组织分析模型--包
和依赖关系 201
8.4 重用软件组件 202
8.4.1 组件的UML标记法 203
8.4.2 基于组件的开发 204
8.4.3 组件建模实例 205
8.5 软件开发模式 207
8.5.1 模式的起源 207
8.5.2 什么是软件模式 208
8.5.3 分析模式 209
8.6 本章小结 211
问题回顾 211
案例研究、练习和项目 211
拓展阅读 212
第9章 对象交互 213
9.1 介绍 213
9.2 对象交互和协作 214
9.3 交互顺序图 215
9.3.1 基本概念和标记法 216
9.3.2 管理顺序图 223
9.3.3 分支 226
9.3.4 延续 227
9.3.5 异步消息 227
9.3.6 时间约束 228
9.3.7 实时系统和并发的建模 229
9.3.8 准备顺序图的指导原则 230
9.4 通信图 230
9.4.1 基本概念和标记法 231
9.4.2 通信图中的信息标签 232
9.5 交互概览图 234
9.6 时序图 236
9.7 模型一致性 237
9.8 本章小结 238
问题回顾 238
案例研究、练习和项目 238
拓展阅读 239
第10章 规范对象操作 240
10.1 介绍 240
10.2 操作规范的角色 241
10.3 合同 242
10.4 描述操作逻辑 243
10.4.1 非算法型方法 243
10.4.2 算法型方法 246
10.5 对象约束语言 251
10.6 创建操作规范 253
10.7 本章小结 255
问题回顾 255
案例研究、练习和项目 256
拓展阅读 256
第11章 规范控制 257
11.1 介绍 257
11.2 状态和事件 258
11.3 基本标记法 259
11.4 深度标记法 264
11.4.1 组合状态 264
11.4.2 并发状态 265
11.4.3 进入和退出伪状态 267
11.4.4 交叉和选择伪状态 268
11.4.5 历史伪状态 268
11.4.6 状态机的特殊化 269
11.5 准备状态机 269
11.5.1 行为型方法 270
11.5.2 生命周期方法 273
11.6 协议型和行为型状态机 273
11.7 一致性检查 274
11.8 质量准则 274
11.9 本章小结 275
问题回顾 275
案例研究、练习和项目 276
拓展阅读 276
案例A4 Agate公司案例研究--
深入分析 277
A4.1 介绍 277
A4.2 顺序图 277
A4.3 状态机 278
A4.4 操作规范 280
A4.5 对类图的进一步修订 281
A4.6 需求分析的深入活动 283
第12章 设计 285
12.1 介绍 285
12.2 设计和分析有何不同 285
12.2.1 设计 286
12.2.2 迭代型生命周期中
的设计 287
12.3 逻辑设计和物理设计 287
12.4 系统设计和详细设计 289
12.4.1 系统设计 290
12.4.2 详细设计 290
12.5 设计的质量和目标 290
12.5.1 目标和约束 291
12.5.2 设计折中 294
12.5.3 设计中的可衡量目标 295
12.6 本章小结 296
问题回顾 296
案例研究、练习和项目 297
拓展阅读 297
第13章 系统架构 298
13.1 介绍 298
13.2 架构的含义 299
13.3 生成架构模型的原因 301
13.4 对系统架构的影响 302
13.4.1 现有系统 303
13.4.2 企业级架构 304
13.4.3 技术参考架构 305
13.5 架构风格 305
13.5.1 子系统 306
13.5.2 分层和分区 307
13.5.3 MVC架构 311
13.5.4 分布式系统架构 314
13.5.5 架构和开发的组织
结构 316
13.6 并发 317
13.7 处理器分配 318
13.8 系统设计标准 319
13.8.1 数据库设计 319
13.8.2 用户界面设计标准 319
13.8.3 构建准则 319
13.9 Agate软件架构 320
13.10 本章小结 321
问题回顾 322
案例研究、练习和项目 322
拓展阅读 322
第14章 详细设计 324
14.1 介绍 324
14.2 在面向对象的详细设计中
添加的内容 325
14.3 特性和操作规范 325
14.3.1 特性的数据类型 325
14.3.2 派生特性 326
14.3.3 主操作 327
14.3.4 操作签名 328
14.3.5 可见性 329
14.4 将特性和操作归入类中 331
14.4.1 分配职责 331
14.4.2 接口 332
14.4.3 耦合和内聚 333
14.4.4 Liskov替换原则 336
14.5 设计关联 336
14.5.1 一对一关联 337
14.5.2 一对多关联 338
14.5.3 多对多关联 340
14.5.4 保持类最小 341
14.6 完整性约束 342
14.6.1 引用完整性 342
14.6.2 依赖约束 343
14.6.3 域完整性 344
14.7 设计操作算法 344
14.8 本章小结 345
问题回顾 345
案例研究、练习和项目 346
拓展阅读 346
第15章 设计模式 347
15.1 介绍 347
15.2 软件开发模式 348
15.2.1 框架 348
15.2.2 模式目录和语言 348
15.2.3 软件开发原则和模式 348
15.2.4 模式和非功能性需求 349
15.3 文档模式--模式模板 349
15.3.1 模板内容 349
15.3.2 模板的其他方面 350
15.4 设计模式 350
15.4.1 设计模式的类型 350
15.4.2 创建型模式 351
15.4.3 结构型模式 355
15.4.4 行为型模式 359
15.5 如何使用设计模式 363
15.6 使用模式的优缺点 364
15.7 本章小结 365
问题回顾 365
案例研究、练习和项目 365
拓展阅读 365
第16章 人机交互 367
16.1 介绍 367
16.2 用户界面 368
16.2.1 什么是用户界面 368
16.2.2 对话隐喻 368
16.2.3 直接操纵隐喻 370
16.2.4 良好对话的特征 372
16.2.5 风格指导 374
16.3 用户界面设计方法 375
16.3.1 非正式方法和正式
方法 375
16.3.2 实现可使用性 381
16.4 标准和合法需求 382
16.5 本章小结 383
问题回顾 384
案例研究、练习和项目 384
拓展阅读 384
第17章 设计边界类 386
17.1 介绍 386
17.2 表示层结构 387
17.3 为用户界面建立原型 388
17.4 设计类 390
17.5 使用顺序图设计交互 393
17.6 类图回顾 399
17.7 用户界面设计模式 400
17.8 使用状态机建模界面 402
17.9 本章小结 408
问题回顾 409
案例研究、练习和项目 409
拓展阅读 409
第18章 数据管理设计 411
18.1 介绍 411
18.2 持久性 412
18.2.1 持久性需求 412
18.2.2 存储机制概述 412
18.2.3 持久性架构 413
18.3 文件系统 415
18.3.1 文件和记录结构 415
18.3.2 文件的组织方式 416
18.3.3 文件访问 416
18.3.4 文件类型 419
18.3.5 文件使用示例 420
18.4 数据库管理系统 421
18.4.1 文件和数据库 421
18.4.2 数据库的类型 423
18.5 设计关系型数据库管理
系统 425
18.5.1 关系型数据库 425
18.5.2 数据建模和规范化 426
18.5.3 将类映射为表 430
18.6 设计对象数据库管理系统 432
18.7 分布式数据库 436
18.8 数据管理类设计 438
18.8.1 分层结构 438
18.8.2 PersistentObject超类 439
18.8.3 数据库代管者框架 441
18.8.4 使用数据管理产品
或框架 445
18.9 本章小结 447
问题回顾 447
案例研究、练习和项目 447
拓展阅读 448
案例A5 Agate公司案例--简介 449
A5.1 介绍 449
A5.2 架构 449
A5.3 用例示例 450
A5.4 类图 451
A5.5 顺序图 455
A5.6 数据库设计 458
A5.7 状态机 459
A5.8 设计活动 460
第19章 实现 461
19.1 介绍 461
19.2 软件实现 462
19.2.1 软件工具 462
19.2.2 编程和文档标准 464
19.3 组件图 465
19.4 部署图 467
19.5 软件测试 469
19.5.1 由谁执行测试 469
19.5.2 测试内容 470
19.5.3 测试文档 472
19.6 数据转换 473
19.7 用户文档和培训 474
19.7.1 用户手册 474
19.7.2 用户培训 474
19.8 实现策略 475
19.9 评审和维护 476
19.9.1 下一步骤 476
19.9.2 评审过程和评估报告 477
19.9.3 维护活动 478
19.10 本章小结 480
问题回顾 480
案例研究、练习和项目 481
拓展阅读 481
第20章 软件重用 482
20.1 介绍 482
20.2 为什么要进行重用 482
20.2.1 项目的选择 484
20.2.2 组织的结构 485
20.2.3 重用合适的单元 486
20.2.4 组件标准 487
20.3 为重用规划策略 489
20.3.1 选择视角法 489
20.3.2 RSEB 490
20.4 商用组件 491
20.5 案例研究示例 493
20.6 Web服务 499
20.7 本章小结 501
问题回顾 501
案例研究、练习和项目 501
拓展阅读 502
第21章 软件开发过程 503
21.1 介绍 503
21.2 过程、方法和方法论 504
21.2.1 方法论 504
21.2.2 为何使用方法论 506
21.3 统一软件开发过程 506
21.4 动态系统开发方法 510
21.4.1 Atern生命周期 511
21.4.2 DSDM Atern技术 513
21.4.3 DSDM中的项目选择 514
21.5 Scrum 514
21.6 极限编程 516
21.7 选择方法论时的考虑 517
21.8 硬性与软性方法论 519
21.9 本章小结 521
问题回顾 521
案例研究、练习和项目 522
拓展阅读 522
附录A 标记法汇总 523
附录B 部分解决方案和答案指导 531
术语表 540
评论留言