《国外计算机科学经典教材 UML 2.2面向对象分析与设计 第4版》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:班尼特(SimonBennett)著;麦克罗布(SteveMcRobb)著;法默(RayFarmer)著;李杨译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302304241
  • 页数:548 页
图书介绍:全书共分4大部分:第1部分介绍面向对象分析与设计的背景知识;第2部分关注的是需求收集、系统分析以及UML的基础知识,并对面向对象的一些高级概念进行了拓展;第3部分关注点在于系统设计,介绍了各种设计模型及系统结构;第4部分介绍了系统的实现过程,包括系统生命周期各个阶段如何组织、可重用组件如何开发等。全书包括两个实践案例,一个案例用于展示书中的知识点,一个案例作为练习,用于帮助学生进行实战。

案例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

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

拓展阅读 51

第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 DSDMAtern技术 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