您好,欢迎来到聚文网。 登录 免费注册
面向对象软件工程:使用UML.模式与Java(第3版)

面向对象软件工程:使用UML.模式与Java(第3版)

  • 字数: 924000.0
  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 作者: (美)布吕格 等 著 叶俊民 等 译
  • 出版日期: 2011-01-01
  • 商品条码: 9787302238140
  • 版次: 1
  • 开本: 其他
  • 页数: 567
  • 出版年份: 2011
定价:¥69.5 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
《面向对象软件工程:使用UML、模式与Java(第3版)》由B.bruegge和A.H.Dutoit编写的,是卡耐基·梅隆大学(CMU)高年级本科生和研究生的教材。在第3版本中,作者以循序渐进的方式给出一个完整案例,并把它作为贯穿全书的主线,为读者运用各种软件工程工具创造一个现实环境。《面向对象软件工程:使用UML、模式与Java(第3版)》所采用的自底向上方法,有助于学生或专业人员循序渐进地学习。
《面向对象软件工程:使用UML、模式与Java(第3版)》向读者展示了如何成功地处理大型复杂软件系统的构建和维护。作者先介绍了开发人员应用软件工程技术所需的基本技能,接下来关注于使开发人员明确、设计并实现复杂系统的方法和技术,最后展示了如何支持贯穿软件生命周期的系统变化,是“软件工程”课程的理想教材。
目录
译者的话
前言
序言
致谢
第1部分 开始
第1章 软件工程导论 3
1.1 导言:软件工程的失误 3
1.2 什么是软件工程 5
1.2.1 建模 6
1.2.2 问题求解 7
1.2.3 知识获取 8
1.2.4 基本原理 8
1.3 软件工程概念 9
1.3.1 参与者与角色 9
1.3.2 系统与模型 10
1.3.3 工作产品 11
1.3.4 活动、任务与资源 11
1.3.5 功能性需求与非功能性需求 12
1.3.6 记号、方法和方法学 12
1.4 软件工程开发活动 13
1.4.1 需求获取 13
1.4.2 分析 14
1.4.3 系统设计 16
1.4.4 对象设计 16
1.4.5 实现 16
1.4.6 测试 17
1.5 管理软件开发 17
1.5.1 沟通 17
1.5.2 基本原理管理 18
1.5.3 软件配置管理 18
1.5.4 项目管理 18
1.5.5 软件生命周期 19
1.5.6 总结 19
1.6 竞技场实例分析 19
1.7 推荐读物 20
1.8 练习 21

第2章 使用UML进行建模 22
2.1 导言 22
2.2 UML综述 23
2.2.1 用例图 23
2.2.2 类图 24
2.2.3 交互图 25
2.2.4 状态机 25
2.2.5 活动图 26
2.3 建模活动中的概念 27
2.3.1 系统、模型和视点 27
2.3.2 数据类型、抽象数据类型和实例 29
2.3.3 类、抽象类和对象 29
2.3.4 事件类、事件和消息 31
2.3.5 面向对象建模过程 31
2.3.6 约简表达和原型构造 33
2.4 UML的深入透视 34
2.4.1 用例图 34
2.4.2 类图 39
2.4.3 交互图 47
2.4.4 状态机 49
2.4.5 活动图 51
2.4.6 图的组织 53
2.4.7 图的扩展 55
2.5 推荐读物 56
2.6 练习 56

第3章 项目组织和沟通 58
3.1 引言:一个有关火箭的例子 58
3.2 项目综述 59
3.3 项目管理概念 62
3.3.1 项目管理 62
3.3.2 角色 65
3.3.3 任务和工作产品 67
3.3.4 进度表 68
3.4 项目沟通中的概念 69
3.4.1 计划内沟通 69
3.4.2 计划外的沟通 74
3.4.3 沟通机制 77
3.5 有组织的活动 83
3.5.1 加入一个项目团队 83
3.5.2 使用沟通基础设施 84
3.5.3 参加项目团队情况通气会议 84
3.5.4 组织客户和项目总结 86
3.6 推荐读物 87
3.7 练习 87

第2部分 复杂性处理
第4章 需求获取 91
4.1 引言:可用性实例 91
4.2 对需求获取的总的看法 92
4.3 需求获取概念 94
4.3.1 功能需求 94
4.3.2 非功能性需求 94
4.3.3 完全性、一致性、清晰性和正确性 95
4.3.4 现实性、确认和可追踪性 96
4.3.5 绿地工程、再工程和界面工程 97
4.4 需求获取活动 97
4.4.1 标识参与者(Actor) 98
4.4.2 标识场景 99
4.4.3 标识用例 101
4.4.4 求精用例 103
4.4.5 标识参与者和用例之间的关系 105
4.4.6 标识初始的分析对象 108
4.4.7 标识非功能性需求 110
4.5 需求获取管理 111
4.5.1 与客户协商规格说明:联合应用设计 112
4.5.2 追踪性维护 113
4.5.3 需求获取的编档 114
4.6 arena实例研究 115
4.6.1 初始问题陈述 115
4.6.2 标识参与者和场景 117
4.6.3 标识用例 120
4.6.4 求精用例与标识关系 122
4.6.5 标识非功能性需求 126
4.6.6 应接受的教训 126
4.7 推荐读物 127
4.8 练习 128

第5章 分析 130
5.1 导言:光幻影 130
5.2 分析概述 131
5.3 分析的概念 132
5.3.1 对象模型和动态模型分析 132
5.3.2 实体、边界和控制对象 132
5.3.3 泛化和特化 134
5.4 分析活动:从用例到对象 134
5.4.1 标识实体对象 135
5.4.2 标识边界对象 137
5.4.3 标识控制对象 138
5.4.4 使用顺序图将用例映射成对象 139
5.4.5 使用CRC卡建模对象之间的交互 142
5.4.6 标识关联 143
5.4.7 标识聚集 145
5.4.8 标识属性 146
5.4.9 建模单一对象的状态相关的行为 147
5.4.10 建模对象之间的继承关系 148
5.4.11 分析模型评审 148
5.4.12 分析小结 149
5.5 分析管理 150
5.5.1 分析文档化 151
5.5.2 分配责任 151
5.5.3 对分析的沟通 152
5.5.4 分析模型的迭代 153
5.5.5 客户发出的结束信息 154
5.6 arena案例研究 156
5.6.1 标识实体对象 156
5.6.2 标识边界对象 159
5.6.3 标识控制对象 160
5.6.4 建模对象之间的交互 161
5.6.5 评价和加固分析模型 163
5.6.6 应该吸取的教训 165
5.7 推荐读物 166
5.8 练习 166

第6章 系统设计:分解系统 168
6.1 导言:一个地板规划的例子 168
6.2 系统设计概述 170
6.3 系统设计概念 171
6.3.1 子系统与类 171
6.3.2 服务与子系统接口 172
6.3.3 耦合与内聚 173
6.3.4 分层与划分 176
6.3.5 体系结构风格 178
6.4 系统设计活动:从对象到子系统 184
6.4.1 出发点:线路规划系统的分析模型 184
6.4.2 标识设计目标 186
6.4.3 标识子系统 188
6.5 推荐读物 190
6.6 练习 190

第7章 系统设计:选择设计目标 192
7.1 介绍:一个冗余系统的例子 192
7.2 系统设计活动概述 193
7.3 概念:UML部署图 195
7.4 系统设计活动:选择设计目标 196
7.4.1 将子系统映射到处理器和构件上 196
7.4.2 标识并存储持久性数据 197
7.4.3 提供访问控制 200
7.4.4 设计全局控制流 205
7.4.5 标识服务 207
7.4.6 标识边界条件 208
7.4.7 评审系统设计 210
7.5 管理系统设计 212
7.5.1 系统设计编档 212
7.5.2 责任分配 213
7.5.3 系统设计交流 214
7.5.4 系统设计迭代 215
7.6 Arena案例研究 216
7.6.1 标识设计目标 216
7.6.2 标识子系统 217
7.6.3 将子系统映射到处理器和构件 218
7.6.4 标识并存储持久性数据 220
7.6.5 提供访问控制 220
7.6.6 设计全局控制流 221
7.6.7 标识服务 222
7.6.8 标识边界条件 224
7.6.9 课程小结 226
7.7 推荐读物 226
7.8 练习 227

第8章 对象设计:复用模式解决方法 228
8.1 导言:挫折 228
8.2 对象设计总论 230
8.3 复用的概念:解对象、继承和设计模式 232
8.3.1 应用对象和解对象 232
8.3.2 定义继承和实现继承 233
8.3.3 授权 235
8.3.4 Liskov替换准则 235
8.3.5 设计模式中的授权和继承 236
8.4 复用活动:选择设计模式和构件 238
8.4.1 使用bridge模式封装数据存储 239
8.4.2 通过adapter模式封装遗留构件 240
8.4.3 用strategy模式封装上下文 242
8.4.4 使用abstract factory模式封装平台 244
8.4.5 使用command模式封装控制流 245
8.4.6 用composite设计模式封装层次 246
8.4.7 选择设计模式的启发式准则 248
8.4.8 标识和调整应用框架 248
8.5 管理复用 252
8.5.1 文档编辑复用 253
8.5.2 分配责任 254
8.6 arena案例分析 254
8.6.1 使用abstract factory设计模式 255
8.6.2 使用command设计模式 256
8.6.3 使用observer设计模式 257
8.6.4 课程回顾 257
8.7 推荐读物 258
8.8 习题 258

第9章 对象设计:说明接口 260
9.1 导言:一个铁路的例子 260
9.2 接口规格说明概述 261
9.3 接口规格说明概念 262
9.3.1 类实现者、类扩展者和类用户 263
9.3.2 类型、签名和可见性 264
9.3.3 契约:不变式、前置条件和后置条件 265
9.3.4 对象约束语言 266
9.3.5 OCL集合:集合、袋以及序列 269
9.3.6 OCL量词:全称量词Forall和存在量词exists 272
9.4 接口规格说明活动 272
9.4.1 标识遗漏的属性和操作 273
9.4.2 说明类型、签名和可见性 274
9.4.3 说明前置条件和后置条件 275
9.4.4 说明不变式 277
9.4.5 继承契约 278
9.5 对象设计管理 280
9.5.1 对象设计编档 280
9.5.2 分配责任 285
9.5.3 在需求分析中使用契约 285
9.6 arena案例分析 286
9.6.1 标识在系列赛风格Tournamentstyle和回合Round中遗漏的操作 286
9.6.2 定义说明系列赛风格Tournamentstyle和回合Round中的契约 288
9.6.3 定义说明淘汰赛风格Knockoutstyle和淘汰回合Knockoutround契约 290
9.6.4 课程回顾 291
9.7 推荐读物 291
9.8 练习 292

第10章 将模型映射到代码 294
10.1 导言:一个关于书的例子 294
10.2 映射的概述 295
10.3 映射的概念 296
10.3.1 模型转换 296
10.3.2 重构 297
10.3.3 正向工程 299
10.3.4 逆向工程 300
10.3.5 转换原则 300
10.4 映射活动 301
10.4.1 优化对象设计模型 301
10.4.2 将关联映射到集合 304
10.4.3 将契约映射到异常 308
10.4.4 将对象模型映射到持久存储模式 312
10.5 管理实现 317
10.5.1 编档过程转换 317
10.5.2 指派职责 318
10.6 arena案例研究 318
10.6.1 竞技场系统arena中的统计类statistics 319
10.6.2 将关联映射到集合 320
10.6.3 将契约映射到异常 322
10.6.4 将对象模型映射到数据库模式 323
10.6.5 课程回顾 324
10.7 推荐读物 324
10.8 练习 325

第11章 测试 327
11.1 导言:测试航天飞机 327
11.2 测试概述 329
11.3 测试概念 332
11.3.1 故障、错误状态和失效 333
11.3.2 测试用例 335
11.3.3 测试桩和测试驱动 337
11.3.4 更正 337
11.4 测试活动 338
11.4.1 构件检查 338
11.4.2 可用性测试 339
11.4.3 单元测试 340
11.4.4 集成测试 348
11.4.5 系统测试 352
11.5 管理测试 356
11.5.1 制定测试计划 356
11.5.2 编写测试文档 357
11.5.3 分配职责 359
11.5.4 回归测试 360
11.5.5 使测试自动化 361
11.5.6 基于模型的测试 362
11.6 推荐读物 364
11.7 练习 365

第3部分 变更管理
第12章 基本原理管理 369
12.1 引言:将火腿切成薄片 369
12.2 基本原理概述 370
12.3 基本原理概念 372
12.3.1 集中式的交通控制 373
12.3.2 定义问题:问题 374
12.3.3 探索问题空间:提议 375
12.3.4 评价求解空间:标准和讨论 376
12.3.5 使求解空间崩溃:解决方案 377
12.3.6 执行解决方案:活动项 378
12.3.7 基于问题的模型和系统实例 379
12.4 基本原理的活动:从问题到决策 382
12.4.1 CTC系统设计 382
12.4.2 在会议中获取基本原理 383
12.4.3 异步获取基本原理 389
12.4.4 当讨论变更的时获取的基本原理 391
12.4.5 重新构造基本原理 393
12.5 管理基本原理 395
12.5.1 将基本原理文档化 395
12.5.2 分配任务 396
12.5.3 关于基本原理交流的启发式规则 397
12.5.4 问题模型和协商 397
12.5.5 冲突解决策略 399
12.6 推荐读物 400
12.7 练习 400

第13章 配置管理 402
13.1 引言:一个飞机的实例 402
13.2 配置管理的概要 404
13.3 配置管理的概念 405
13.3.1 配置项和cm聚集 406
13.3.2 版本和配置 406
13.3.3 变化请求 407
13.3.4 升级和发布 407
13.3.5 仓库和工作空间 407
13.3.6 版本标识方案 408
13.3.7 变化和变化集 409
13.3.8 配置管理工具 410
13.4 配置管理活动 411
13.4.1 配置项和cm聚集标识 413
13.4.2 升级管理 414
13.4.3 发布版本管理 415
13.4.4 分支管理 417
13.4.5 不同版本管理 419
13.4.6 变更管理 421
13.5 对配置管理的管理 422
13.5.1 配置管理的文档化 422
13.5.2 分配配置管理责任 423
13.5.3 计划配置管理活动 424
13.5.4 持续集成:测试活动和改进管理 424
13.6 推荐读物 426
13.7 练习 426

第14章 项目管理 428
14.1 介绍:STS-511发射决定 428
14.2 项目管理概述 430
14.3 项目管理概念 434
14.3.1 任务和活动 434
14.3.2 工作产品、工作包和角色 435
14.3.3 工作分解结构 436
14.3.4 任务模型 436
14.3.5 技能矩阵 437
14.3.6 组织 438
14.3.7 可视组织结构 440
14.3.8 组织结构图谱 440
14.3.9 软件项目管理计划 441
14.4 项目管理活动 443
14.4.1 计划项目 444
14.4.2 组织项目 448
14.4.3 控制项目 451
14.4.4 终结项目 455
14.5 agile项目管理活动 456
14.5.1 项目计划:创建产品和冲刺后备 457
14.5.2 组织项目 457
14.5.3 控制项目:每一天的冲刺和灭火表(burn down charts) 458
14.5.4 终止项目:对于冲刺的评论 459
14.6 推荐读物 460
14.7 练习 460

第15章 软件生命周期 462
15.1 导言:玻利尼西亚航行 462
15.2 IEEE 1074:开发软件生命周期过程的标准 465
15.2.1 过程与活动 465
15.2.2 软件生命周期建模 467
15.2.3 项目管理 467
15.2.4 前期开发 468
15.2.5 开发过程 468
15.2.6 后期开发 469
15.2.7 整体过程(交叉开发过程) 470
15.3 评价软件生命周期模型的成熟度 471
15.4 生命周期模型 472
15.4.1 以顺序活动为中心的模型 473
15.4.2 以迭代活动为中心的模型 475
15.4.3 以实体为中心的模型 479
15.5 推荐读物 481
15.6 练习 481

第16章 方法学:综合考虑各种因素 483
16.1 导言:首次攀登乔戈里峰(k2峰) 483
16.2 项目环境 486
16.3 方法学问题 488
16.3.1 需要做多少个计划 488
16.3.2 需要在多大程度上考虑复用 489
16.3.3 需要建多少种模型 489
16.3.4 过程包含多少步骤 490
16.3.5 需要多大程度上的控制和监控 491
16.3.6 什么时候重定义项目目标 492
16.4 方法学领域 492
16.4.1 Royce方法学 493
16.4.2 极限编程(XP) 496
16.4.3 rugby方法学 500
16.5 案例学习 505
16.5.1 XP项目:Atract 506
16.5.2 局部主客户:Friend 508
16.5.3 分布式项目:James 513
16.5.4 案例学习总结 518
16.6 推荐读物 521
16.7 练习 521

第4部分 附 录
附录A 设计模式 525
A.1 abstract factory:封装平台 525
A.2 adapter:对遗留代码的包装 526
A.3 bridge:允许选择性实现 527
A.4 command:封装控制流 527
A.5 composite:表示递归的层次结构 528
A.6 facade:封装子系统 529
A.7 observer:将实体从视图中分离出来 529
A.8 proxy:封装开销大的对象 530
A.9 strategy:封装算法 531
A.10 选择设计模式的启发式准则 532
附录B 术语表 533
附录C 参考文献 557

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网