图书介绍

面向对象与传统软件工程 统一过程的理论与实践 原书第6版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

面向对象与传统软件工程 统一过程的理论与实践 原书第6版
  • (美)Stephen R.Schach著;韩松,邓迎春译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111179633
  • 出版时间:2006
  • 标注页数:427页
  • 文件大小:60MB
  • 文件页数:447页
  • 主题词:软件工程

PDF下载


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

下载说明

面向对象与传统软件工程 统一过程的理论与实践 原书第6版PDF格式电子书版下载

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

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

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

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

图书目录

第一部分 软件工程概述3

第1章 软件工程的范畴3

1.1 历史方面4

1.2 经济方面5

1.3 维护性方面6

1.3.1 维护的传统和现代观点8

1.3.2 交付后维护的重要性9

1.4 需求、分析和设计方面11

1.5 小组编程方面13

1.6 为什么没有计划阶段13

1.7 为什么没有测试阶段14

1.8 为什么没有文档阶段14

1.9 面向对象范型15

1.10 正确看待面向对象范型19

1.11 术语19

1.12 道德问题22

本章回顾23

进一步阅读23

习题24

参考文献25

第2章 软件生命周期模型28

2.1 理论上的软件开发28

2.2 Winburg小型实例研究28

2.3 Winburg小型实例研究心得31

2.4 野鸭拖拉机公司小型实例研究31

2.5 迭代和递增32

2.6 修订的Winburg小型实例研究34

2.7 迭代和递增的风险和其他方面35

2.8迭 代和递增的控制37

2.9 其他生命周期模型37

2.9.1 编码-修补生命周期模型37

2.9.2 瀑布生命周期模型38

2.9.3 快速原型开发生命周期模型39

2.9.4 极限编程40

2.9.5 同步-稳定生命周期模型42

2.9.6 螺旋生命周期模型42

2.10 生命周期模型的比较45

进一步阅读46

本章回顾46

习题47

参考文献48

第3章 软件过程50

3.1 统一过程51

3.2 面向对象范型内的迭代和递增52

3.3 需求流53

3.4 分析流54

3.5 设计流56

3.6 实现流57

3.7 测试流58

3.7.1 需求制品58

3.7.2 分析制品58

3.7.3 设计制品58

3.7.4 实现制品59

3.8 交付后维护60

3.9 退役61

3.10 统一过程的各阶段61

3.10.1 开始阶段62

3.10.2 细化阶段63

3.10.3 构建阶段64

3.10.4 转换阶段64

3.11 一维与二维生命周期模型65

3.12 改进软件过程66

3.13 能力成熟度模型66

3.14 软件过程改进方面的其他努力69

3.15 软件过程改进的代价和收益70

本章回顾71

进一步阅读72

习题72

参考文献73

第4章 软件小组76

4.1 小组组织76

4.2 民主小组方法77

4.3 传统的主程序员小组方法78

4.3.1 纽约时报项目80

4.3.2 传统的主程序员小组方法的不实用性80

4.4 主程序员小组和民主小组之外的编程小组81

4.5 同步-稳定小组82

4.6 极限编程小组83

4.8 选择合适的小组组织84

4.7 人员能力成熟度模型84

本章回顾85

进一步阅读85

习题85

参考文献86

第5章 软件工程工具88

5.1 逐步求精法88

5.2 成本-效益分析法92

5.3 软件度量94

5.4 CASE95

5.5 CASE的分类95

5.6 CASE的范围97

5.7.2 变种版100

5.7.1 修订版100

5.7 软件版本100

5.8 配置控制101

5.8.1 交付后维护期间的配置控制102

5.8.2 基准103

5.8.3 产品开发过程中的配置控制103

5.9 建造工具104

5.10 使用CASE技术提高生产力104

本章回顾105

进一步阅读105

习题106

参考文献107

第6章 测试109

6.1.1 软件质量保证110

6.1 质量问题110

6.1.2 管理独立111

6.2 非执行测试111

6.2.1 走查111

6.2.2 管理走查112

6.2.3 审查113

6.2.4 审查与走查的对比114

6.2.5 评审的优缺点115

6.2.6 审查的度量115

6.3 执行测试115

6.4 应该测试什么115

6.4.1 实用性116

6.4.4 性能117

6.4.3 健壮性117

6.4.2 可靠性117

6.4.5 正确性118

6.5 测试与正确性证明119

6.5.1 正确性证明的例子119

6.5.2 正确性证明小型实例研究121

6.5.3 正确性证明和软件工程122

6.6 谁应当完成执行测试124

6.7 测试什么时候停止125

本章回顾126

进一步阅读126

习题126

参考文献128

7.1 什么是模块130

第7章 从模块到对象130

7.2 内聚133

7.2.1 偶然性内聚133

7.2.2 逻辑性内聚133

7.2.3 时间性内聚134

7.2.4 过程性内聚135

7.2.5 通信性内聚135

7.2.6 功能性内聚135

7.2.7 信息性内聚136

7.2.8 内聚示例136

7.3 耦合137

7.3.1 内容耦合137

7.3.2 共用耦合138

7.3.3 控制耦合139

7.3.4 印记耦合140

7.3.5 数据耦合141

7.3.6 耦合示例141

7.3.7 耦合的重要性142

7.4 数据封装143

7.4.1 数据封装和产品开发144

7.4.2 数据封装和产品维护146

7.5 抽象数据类型150

7.6 信息隐藏152

7.7 对象154

7.8 继承、多态和动态绑定156

7.9 面向对象范型158

进一步阅读161

习题161

本章回顾161

参考文献162

第8章 可重用性和可移植性165

8.1 重用的概念165

8.2 重用的障碍167

8.3 重用实例研究168

8.3.1 Raytheon导弹系统部168

8.3.2 欧洲航天局169

8.5 设计和实现期间的重用170

8.5.1 设计重用170

8.4 对象和重用170

8.5.2 应用框架171

8.5.3 设计模式172

8.5.4 软件体系结构175

8.5.5 基于组件的软件工程176

8.6 重用和交付后维护176

8.7 可移植性177

8.7.1 硬件的不兼容性177

8.7.2 操作系统的不兼容性178

8.7.3 数值计算软件的不兼容性178

8.7.4 编译器的不兼容性180

8.8 为什么需要可移植性182

8.9.2 可移植的应用软件183

8.9.1 可移植的系统软件183

8.9 实现可移植性的技术183

8.9.3 可移植的数据184

本章回顾185

进一步阅读185

习题186

参考文献188

第9章 计划和估算192

9.1 计划和软件过程192

9.2 周期和成本估算193

9.2.1 产品规模的度量194

9.2.2 成本估算技术197

9.2.3 中间COCOMO199

9.2.5 跟踪周期和成本估算202

9.2.4 COCOMOⅡ202

9.3 软件项目管理计划的组成203

9.4 软件项目管理计划框架204

9.5 IEEE软件项目管理计划205

9.6 计划测试207

9.7 计划面向对象的项目208

9.8 培训需求208

9.9 文档标准209

9.10 用于计划和估算的CASE工具209

9.11 测试软件项目管理计划210

本章回顾210

进一步阅读210

习题211

参考文献212

第二部分 软件生命周期的各个阶段第10章 需求216

10.1 确定客户需要什么216

10.2 需求阶段概述217

10.3 理解应用域217

10.4 商业模型218

10.4.1 访谈218

10.4.2 其他技术219

10.4.3 用例219

10.5 初始需求221

10.6 对应用领域的初始理解:Osbert Oglesby实例研究221

10.7 初始商业模型:Osbert Oglesby实例研究222

10.8 初始需求:Osbert Oglesby实例研究224

10.9 继续需求阶段:Osbert Oglesby实例研究225

10.10 测试阶段:Osbert Oglesby实例研究230

10.11 传统的需求阶段231

10.12 快速原型开发231

10.13 人的因素233

10.14 重用快速原型234

10.15 需求流的CASE工具235

10.16 需求阶段的度量235

10.17 需求阶段面临的挑战235

本章回顾237

进一步阅读237

习题237

参考文献238

11.1 规格说明文档240

第11章 传统的分析240

11.2 非形式化规格说明241

11.3 结构化系统分析243

11.4 结构化系统分析:Osbert Oglesby实例研究248

11.5 其他半形式化技术249

11.6 建造实体-关系模型250

11.7 有穷状态机251

11.8 Petri网257

11.9 Z260

11.9.1 Z:电梯问题实例研究261

11.9.2 Z的分析262

11.10 其他的形式化技术263

11.11 传统分析技术的比较264

11.13 传统分析阶段的CASE工具265

11.12 在传统分析阶段测试265

11.14 传统分析阶段的度量266

11.15 软件项目管理计划:Osbert Oglesby实例研究266

11.16 传统分析阶段面临的挑战267

本章回顾267

进一步阅读267

习题268

参考文献270

第12章 面向对象分析274

12.1 分析流275

12.2 抽象实体类275

12.3 面向对象分析:电梯问题实例研究275

12.4 功能建模:电梯问题实例研究276

12.5 实体类建模:电梯问题实例研究277

12.5.1 名词抽象278

12.5.2 CRC卡片279

12.6 动态建模:电梯问题实例研究280

12.7 测试流:面向对象分析282

12.8 抽象边界类和控制类285

12.9 初始功能模型:Osbert Oglesby实例研究285

12.10 初始类图:Osbert Oglesby实例研究287

12.11 初始动态模型:Osbert Oglesby实例研究292

12.12 抽象边界类:Osbert Oglesby实例研究293

12.13 抽象控制类:Osbert Oglesby实例研究294

12.14 求精用例:Osbert Oglesby实例研究294

12.15.1 Buy a Masterpiece用例296

12.15 用例实现:Osbert Oglesby实例研究296

12.15.2 Buy a Masterwork用例300

12.15.3 Buy Other Painting用例301

12.15.4 其余5个用例302

12.16 类图递增:Osbert Oglesby实例研究304

12.17 测试流:Osbert Oglesby实例研究305

12.18 统一过程中的规格说明文档305

12.19 关于动作者和用例更详细的内容306

12.20 用于面向对象分析阶段的CASE工具307

12.21 面向对象分析阶段所面临的问题307

本章回顾308

进一步阅读308

习题309

参考文献310

第13章 设计312

13.1 设计和抽象312

13.2 面向操作设计313

13.3 数据流分析313

13.3.1 小型实例研究:字数统计314

13.3.2 数据流分析扩展318

13.4 事务分析319

13.5 面向数据设计320

13.6 面向对象设计321

13.7 面向对象设计:电梯问题实例研究322

13.8 面向对象设计:Osbert Oglesby实例研究324

13.9 设计流328

13.10 测试流:设计329

13.11 测试流:Osbert Oglesby实例研究329

13.12 详细设计的形式化技术329

13.13 实时设计技术330

13.14 设计阶段的CASE工具331

13.15 设计阶段的度量331

13.16 设计阶段面临的挑战332

本章回顾333

进一步阅读333

习题334

参考文献334

第14章 实现337

14.1 编程语言的选择337

14.2 第四代语言339

14.3.1 使用一致和有意义的变量名341

14.3 良好的编程实践341

14.3.2 自文档代码的问题342

14.3.3 使用参数344

14.3.4 为增加可读性的代码编排344

14.3.5 嵌套的if语句344

14.4 编码标准345

14.5 代码重用346

14.6 集成346

14.6.1 自顶向下的集成347

14.6.2 自底向上的集成348

14.6.3 三明治集成349

14.6.5 集成的管理350

14.6.4 面向对象产品的集成350

14.7 实现阶段351

14.8 实现阶段:Osbert Oglesby实例研究351

14.9 测试阶段:实现351

14.10 测试用例选择351

14.10.1 规格说明测试与代码测试352

14.10.2 规格说明测试的可行性352

14.10.3 代码测试的可行性352

14.11 黑盒单元测试技术354

14.11.1 等价测试和边界值测试355

14.11.2 功能测试356

14.12 黑盒测试用例:Osbert Oglesby实例研究357

14.13.1 结构测试:语句、分支和路径覆盖360

14.13 玻璃盒单元测试技术360

14.13.2 复杂性度量361

14.14 代码走查和审查362

14.15 单元测试技术的比较362

14.16 净室362

14.17 测试对象时潜在的问题363

14.18 单元测试的管理方面365

14.19 何时该重写而不是调试一个代码模块366

14.20 集成测试367

14.21 产品测试367

14.22 验收测试368

14.23 测试流:Osbert Oglesby实例研究368

14.24.2 集成化开发环境369

14.24 实现的CASE工具369

14.24.1 软件开发全过程的CASE工具369

14.24.3 商业应用软件开发环境370

14.24.4 公共工具基础结构370

14.24.5 开发环境的潜在问题371

14.25 实现流的度量371

14.26 实现流面临的挑战372

本章回顾372

进一步阅读373

习题374

参考文献376

15.1 为什么交付后维护是必要的379

15.2 对交付后维护程序员的要求是什么379

第15章 交付后维护379

15.3 交付后维护小型实例研究381

15.4 交付后维护的管理382

15.4.1 缺陷报告382

15.4.2 批准对产品的修改383

15.4.3 确保可维护性384

15.4.4 反复维护造成的问题384

15.5 面向对象软件的维护384

15.6 交付后维护技能与开发技能387

15.7 逆向工程387

15.8 交付后维护阶段的测试388

15.9 交付后维护的CASE工具388

15.12 交付后维护阶段面临的挑战389

本章小结389

15.10 交付后维护的度量389

15.11 交付后维护:Osbert Oglesby实例研究389

进一步阅读390

习题390

参考文献391

第16章 UML的进一步讨论393

16.1 UML不是一种方法393

16.2 类图394

16.2.1 聚合395

16.2.2 多态395

16.2.3 组合396

16.2.5 关联397

16.2.4 泛化397

16.3 注解398

16.4 用例图398

16.5 模板398

16.6 交互图399

16.7 状态图401

16.8 活动图403

16.9 包404

16.10 组件图404

16.11 配置图404

16.12 UML图回顾404

习题405

进一步阅读405

本章回顾405

16.13 UML和迭代405

参考文献406

附录407

附录A 学期项目:Amlet沙漠中Ophelia的Oasis407

附录B 软件工程资源409

附录C 需求流:Osbert Oglesby实例研究411

附录D 结构化系统分析:Osbert Oglesby实例研究412

附录E 分析流:Osbert Oglesby实例研究415

附录F 软件项目管理计划:Osbert Oglesby实例研究416

附录G 设计流:Osbert Oglesby实例研究419

附录H 实现流:Osbert Oglesby实例研究(C++版本)425

附录I 实现流:Osbert Oglesby实例研究(Java版本)426

附录J 测试流:Osbert Oglesby实例研究427

热门推荐