图书介绍

面向对象的软件工程 使用UML、模式与Java 第2版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

面向对象的软件工程 使用UML、模式与Java 第2版
  • (美)布吕格(Bruegge,B.),(美)迪图瓦(Dutoit,A.H.)著;叶俊民等译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302135541
  • 出版时间:2006
  • 标注页数:581页
  • 文件大小:41MB
  • 文件页数:605页
  • 主题词:面向对象语言,UML-程序设计-教材;JAVA语言-程序设计-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

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

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1部分 开始2

第1章 软件工程导论2

1.1 导言:软件工程的失误2

1.2 什么是软件工程3

1.2.1 建模4

1.2.2 问题解决5

1.2.3 知识获取6

1.2.4 基本原理6

1.3 软件工程概念7

1.3.1 参与者和角色8

1.3.2 系统和模型8

1.3.4 活动、任务和资源9

1.3.3 工作产品9

1.3.5 功能性需求和非功能性需求10

1.3.6 符号、方法和方法学10

1.4 软件工程开发活动11

1.4.1 需求获取11

1.4.2 分析11

1.4.3 系统设计13

1.4.4 对象设计13

1.4.5 实现14

1.4.6 测试14

1.5 管理软件开发14

1.5.1 沟通15

1.5.2 基本原理管理15

1.5.6 总结16

1.5.5 软件生命周期16

1.5.3 软件配置管理16

1.5.4 项目管理16

1.6 竞技场实例分析17

1.7 推荐读物18

1.8 练习18

参考文献19

第2章 使用UML建模21

2.1 导言21

2.2 UML综述22

2.2.1 用例图22

2.2.2 类图23

2.2.4 状态图24

2.2.3 交互图24

2.2.5 活动图25

2.3 建模活动中的概述26

2.3.1 系统、模型和视图26

2.3.2 数据类型、抽象数据类型和实例28

2.3.3 类、抽象类和对象28

2.3.4 事件类、事件和消息30

2.3.5 面向对象建模过程31

2.3.6 伪证和原型构造32

2.4 UML的深入透视33

2.4.1 用例图33

2.4.2 类图39

2.4.3 交互图46

2.4.4 状态图48

2.4.5 活动图50

2.4.6 图的组织52

2.4.7 图的扩展54

2.5 推荐读物55

2.6 练习55

参考文献57

第3章 项目组织和沟通58

3.1 引言:一个关于火箭的例子58

3.2 项目综述59

3.3 项目组织的综述62

3.3.1 项目组织62

3.3.2 角色64

3.3.3 任务和工作产品66

3.3.4 进度表68

3.4 项目沟通综述69

3.4.1 计划内的沟通69

3.4.2 计划外的沟通74

3.4.3 沟通机制76

3.5 组织活动81

3.5.1 加入一个项目组82

3.5.2 加入沟通基层组织82

3.5.3 参加项目组情况通气会议83

3.5.4 组织客户和项目总结85

3.6 推荐读物86

3.7 练习86

参考文献88

第2部分 处理复杂性90

第4章 需求获取90

4.1 导言:可用性实例90

4.2 需求获取综述91

4.3 需求获取概念92

4.3.1 功能性需求93

4.3.2 非功能性需求93

4.3.3 完整性、一致性、清晰性和正确性95

4.3.4 现实性、确认性和可追踪性95

4.3.5 绿地工程、再工程和界面工程96

4.4 需求获取活动96

4.4.1 标识参与者97

4.4.2 标识场景98

4.4.3 标识用例100

4.4.4 求精用例102

4.4.5 标识参与者和用例之间的关系104

4.4.6 标识初始分析对象107

4.4.7 标识非功能性需求108

4.5 需求获取管理110

4.5.1 与客户协商规格说明:联合应用设计110

4.5.2 追踪性维护112

4.5.3 需求获取的文档化112

4.6 竞技场实例分析114

4.6.1 初始问题描述114

4.6.2 标识参与者和场景115

4.6.3 标识用例119

4.6.4 求精用例与标识关系121

4.6.5 标识非功能性需求125

4.6.6 获得的教训126

4.7 推荐读物126

4.8 练习127

参考文献128

第5章 分析130

5.1 导言:光幻影130

5.2 分析概述131

5.3 分析的概念132

5.3.1 分析对象模型和动态模型132

5.3.2 实体、边界和控制对象133

5.3.3 泛化和特化134

5.4.1 标识实体对象135

5.4 分析活动:从用例到对象135

5.4.2 标识边界对象137

5.4.3 标识控制对象139

5.4.4 使用顺序图将用例映射成对象139

5.4.5 使用CRC卡建模的对象之间的交互143

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 分析小结150

5.5.1 将分析文档化151

5.5 分析管理151

5.5.2 分配责任152

5.5.3 对分析的沟通153

5.5.4 分析模型的迭代154

5.5.5 客户发出的结束信息155

5.6 竞技场实例分析156

5.6.1 标识实体对象157

5.6.2 标识边界对象160

5.6.3 标识控制对象161

5.6.4 对象之间交互的建模161

5.6.5 评价和加固分析模型164

5.6.6 获得的教训166

5.7 推荐读物166

5.8 练习167

参考文献168

第6章 系统设计:分解系统170

6.1 导言:一个平面规划的例子170

6.2 系统设计概述172

6.3 系统设计概念172

6.3.1 子系统与类173

6.3.2 服务与子系统接口174

6.3.3 耦合与内聚174

6.3.4 分层与划分177

6.3.5 体系结构风格180

6.4 系统设计活动:从对象到子系统186

6.4.1 出发点:线路规划系统的分析模型186

6.4.2 明确设计目标188

6.4.3 明确子系统190

6.5 推荐读物192

6.6 练习193

参考文献194

第7章 系统设计:贯彻设计目标195

7.1 介绍:一个冗余系统的例子195

7.2 系统设计活动概述196

7.3 概念:UML部署图197

7.4 系统设计活动:贯彻设计目标198

7.4.1 将子系统映射到处理器和构件199

7.4.2 标识并存储持久性数据201

7.4.3 提供访问控制203

7.4.4 设计全局控制流208

7.4.5 标识边界条件210

7.4.6 评审系统设计212

7.5 系统设计管理214

7.5.1 系统设计文档化214

7.5.2 分配责任215

7.5.3 系统设计交流216

7.5.4 系统设计迭代217

7.6 竞技场实例分析218

7.6.1 标识设计目标218

7.6.2 标识子系统219

7.6.3 将子系统映射到处理器和构件221

7.6.4 标识并存储持久性数据222

7.6.5 提供访问控制223

7.6.6 设计全局控制流224

7.6.7 标识边界条件225

7.6.8 课程小结227

7.7 推荐读物227

7.8 练习228

参考文献229

第8章 对象设计:重用模式解决方法230

8.1 导言:挫折230

8.2 对象设计概述232

8.3 重用的概念:解决方案对象、继承和设计模式234

8.3.1 应用对象和解决方案对象235

8.3.2 说明继承和实现继承235

8.3.3 授权237

8.3.4 Liskov替换准则238

8.3.5 设计模式中的授权和继承238

8.4 重用活动:选择设计模式和构件240

8.4.1 使用桥梁模式封装数据存储242

8.4.2 使用适配器模式封装可继承构件243

8.4.3 使用策略模式封装上下文245

8.4.4 使用抽象工厂模式封装平台247

8.4.5 使用命令模式封装控制流249

8.4.6 使用合成设计模式封装层次249

8.4.7 选择设计模式的启发式准则251

8.4.8 标识和调整应用框架252

8.5 管理重用255

8.5.1 对重用进行文档编辑257

8.6 竞技场实例分析258

8.5.2 分配责任258

8.6.1 使用抽象工厂设计模式259

8.6.2 使用命令设计模式260

8.6.3 使用观察者设计模式261

8.6.4 课程回顾262

8.7 推荐读物262

8.8 练习263

参考文献264

第9章 对象设计:接口规格说明266

9.1 导言:一个铁路的例子266

9.2 接口规格说明概述268

9.3.1 类实现者、类扩展者和类使用者269

9.3 接口规格说明概念269

9.3.2 类型、签名和可见性270

9.3.3 契约:不变式、前置条件和后置条件271

9.3.4 对象约束语言273

9.3.5 OCL收集:集合、包和序列276

9.3.6 OCL量词:全称量词forAll和存在量词exists279

9.4 接口规格说明活动280

9.4.1 标识遗漏的属性和操作280

9.4.2 说明类型、签名和可见性282

9.4.3 说明前置条件和后置条件283

9.4.4 说明不变式285

9.4.5 继承契约286

9.5 管理对象设计288

9.5.1 对象设计文档化289

9.5.2 分配责任293

9.5.3 在需求分析中使用契约294

9.6 竞技场实例分析294

9.6.1 标识在联赛方式(TournamentStyle)和回合(Round)中遗漏的操作295

9.6.2 定义说明联赛方式(Tournament-Style)和回合(Round)中的契约296

9.6.3 定义说明淘汰赛方式(KnockOut-Style)和淘汰回合(KnockOut-Round)契约298

9.6.4 课程回顾300

9.7 推荐读物300

9.8 练习301

参考文献302

第10章 将模型映射到代码304

10.1 导言:一个关于书的例子304

10.3 映射的概念306

10.2 映射的概述306

10.3.1 模型转换307

10.3.2 重构308

10.3.3 正向工程309

10.3.4 逆向工程310

10.3.5 转换准则311

10.4 映射活动311

10.4.1 优化对象设计模型312

10.4.2 将关联映射到集合314

10.4.3 将契约映射到异常320

10.4.4 将对象模型映射到持久存储模式323

10.5 管理实现328

10.5.1 编写转换文档328

10.6 竞技场实例分析329

10.5.2 分配责任329

10.6.1 竞技场中的统计类(Statistics)330

10.6.2 将关联映射到集合332

10.6.3 将契约映射到异常333

10.6.4 将对象模型映射到数据库模式335

10.6.5 课程回顾336

10.7 推荐读物336

10.8 练习337

参考文献338

第11章 测试339

11.1 导言:测试航天飞机339

11.2 测试概述341

11.3 测试概念344

11.3.1 故障、错误状态和失败345

11.3.2 测试用例347

11.3.3 测试桩和测试驱动348

11.3.4 更正349

11.4 测试活动350

11.4.1 构件检查350

11.4.2 可用性测试351

11.4.3 单元测试352

11.4.4 集成测试359

11.4.5 系统测试364

11.5 管理测试369

11.5.1 制定测试计划369

11.5.2 编写测试文档370

11.5.3 分配责任372

11.5.4 回归测试373

11.5.5 使测试自动化374

11.6 推荐读物375

11.7 练习375

参考文献377

第3部分 管理更改380

第12章 基本原理管理380

12.1 导言:将火腿切成薄片380

12.2 基本原理概述381

12.3 基本原理概念383

12.3.1 集中式的交通控制384

12.3.2 定义问题:问题385

12.3.3 探索求解空间:提议386

12.3.4 评价求解空间:标准和讨论387

12.3.5 使求解空间崩溃:解决方案389

12.3.6 执行解决方案:活动项390

12.3.7 基于问题的模型和系统实例390

12.4 基本原理的活动:从问题到决策394

12.4.1 CTC系统设计394

12.4.2 在会议中获取基本原理395

12.4.3 异步获取基本原理401

12.4.4 在讨论变化的时候获取基本原理402

12.4.5 重新构造基本原理405

12.5 管理基本原理406

12.5.1 将基本原理文档化407

12.5.2 分配责任408

12.5.4 问题的建模和协商409

12.5.3 关于基本原理交流的启发式规则409

12.5.5 冲突解决策略411

12.6 推荐读物412

12.7 练习412

参考文献413

第13章 配置管理415

13.1 导言:一个飞机的实例415

13.2 配置管理概述417

13.3 配置管理概念418

13.3.1 配置项和CM聚集419

13.3.2 版本和配置419

13.3.3 变化请求420

13.3.6 版本标识方案421

13.3.4 升级和发布421

13.3.5 仓库和工作空间421

13.3.7 变化和变化集423

13.3.8 配置管理工具425

13.4 配置管理活动425

13.4.1 配置项和CM聚集标识427

13.4.2 升级管理429

13.4.3 发布管理430

13.4.4 分支管理432

13.4.5 不同版本管理435

13.4.6 变更管理437

13.5 对配置管理的管理438

13.5.2 分配配置管理任务439

13.5.1 配置管理的文档化439

13.5.3 计划配置管理活动440

13.6 推荐读物440

13.7 练习441

参考文献442

第14章 项目管理443

14.1 介绍:STS-51L发射决定443

14.2 项目管理概述445

14.3 项目管理概念449

14.3.1 任务和活动450

14.3.2 工作产品、工作包和角色451

14.3.3 工作分解结构451

14.3.4 任务模型452

14.3.5 技能矩阵453

14.3.6 组织454

14.3.7 可视组织结构455

14.3.8 组织结构图谱456

14.3.9 软件项目管理计划457

14.4 项目管理活动459

14.4.1 计划项目460

14.4.2 组织项目463

14.4.3 控制项目467

14.4.4 终结项目472

14.5 推荐读物472

14.6 练习473

参考文献474

15.1 导言:玻利尼西亚航行476

第15章 软件生命周期476

15.2 IEEE 1074:开发软件生命周期过程的标准479

15.2.1 过程与活动479

15.2.2 软件生命周期建模481

15.2.3 项目管理481

15.2.4 前期开发482

15.2.5 开发过程482

15.2.6 后期开发483

15.2.7 整体过程(交叉开发过程)483

15.3 评价软件生命周期模型的成熟度484

15.4 生命周期模型486

15.4.1 以顺序活动为中心的模型487

15.4.2 以迭代活动为中心的模型488

15.4.3 以实体为中心的模型492

15.5 推荐读物495

15.6 练习495

参考文献496

第16章 方法学:综合考虑各种因素497

16.1 导言:首次攀登乔戈里峰(K2峰)497

16.2 项目环境500

16.3 方法学问题501

16.3.1 做多少计划502

16.3.2 多大程度上的重用502

16.3.3 构建多少模型503

16.3.4 过程分为几步504

16.3.6 什么时候重定义项目目标505

16.3.5 多大程度上的控制和监控505

16.4 方法学领域506

16.4.1 Royce方法学506

16.4.2 极限编程511

16.5 案例分析514

16.5.1 XP项目:ATRACT515

16.5.2 局部主客户:FRIEND517

16.5.3 分布式项目:JAMES523

16.5.4 案例分析总结528

16.6 推荐读物531

16.7 练习532

参考文献532

A.1 抽象工厂(Abstract Factory):封装平台536

附录A 设计模式536

第4部分 附录536

A.2 适配器(Adapter):对遗留代码的包装537

A.3 桥梁(Bridge):允许选择性实现538

A.4 命令(Command):封装控制流538

A.5 组合(Composite):表示递归的层次结构539

A.6 层面(Facade):层面子系统540

A.7 观察器(Observer):将实体从视图中分离出来541

A.8 代理(Proxy):封装开销大的对象542

A.9 策略(Strategy):封装算法543

A.10 选择设计模式的启发式准则544

参考文献545

附录B 术语表546

参考文献570

热门推荐