当前位置:首页 > 工业技术
面向对象软件工程  使用UML、模式与Java  第3版
面向对象软件工程  使用UML、模式与Java  第3版

面向对象软件工程 使用UML、模式与Java 第3版PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:(美)布吕格,(美)迪图瓦著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302238140
  • 页数:567 页
图书介绍:本书告诉学习者如何成功地处理大型复杂软件系统的构建和维护。
《面向对象软件工程 使用UML、模式与Java 第3版》目录

第1部分 开始 3

第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部分 复杂性处理 91

第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.42标识场景 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概念:UM L部署图 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.47评审系统设计 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.33授权 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部分 变更管理 369

第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-51L发射决定 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.41 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部分 附录 525

附录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

相关图书
作者其它书籍
返回顶部