《软件工程 实践者之路 第6版》PDF下载

  • 购买积分:23 如何计算积分?
  • 作  者:(美)普雷斯曼(Pressman,R.S.)著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2006
  • ISBN:7302128367
  • 页数:889 页
图书介绍:本书全面系统介绍软件工程有关的概念、原则和工具,还适当介绍了新技术。

第1章 软件工程介绍 1

1.1 软件角色的演化 2

1.2 软件 4

1.3 软件特性的变化 8

1.4 遗产软件 10

1.4.1 遗产软件的质量 11

1.4.2 软件演化 11

1.5 软件神话 13

1.6 这一切是如何开始的? 15

1.7 小结 16

参考文献 17

习题与思考题 17

推荐读物与阅读信息 18

第一部分 软件过程 20

第2章 过程综述 20

2.1 软件工程:一种层次化技术 21

2.2 过程框架 22

2.3 能力成熟度模型集成CMMI 27

2.4 过程模式 31

2.5 过程评估 34

2.6 个人过程模型和团队过程模型 36

2.6.1 个人软件过程 36

2.6.2 团队软件过程 38

2.7 过程技术 39

2.8 产品与过程 40

2.9 总结 41

参考文献 42

习题与思考题 43

推荐读物与阅读信息 43

第3章 过程模型 45

3.1 惯例过程模型 46

3.2 瀑布模型 47

3.3 增量过程模型 48

3.4 演化过程模型 51

3.4.1 原型开发 51

3.4.2 螺旋模型 54

3.4.3 并行开发模型 56

3.4.4 演化模型的最终评述 57

3.5 专用过程模型 59

3.5.1 基于构件的开发 59

3.5.2 形式化方法模型 60

3.5.3 面向方面的软件开发 61

3.6 统一过程 62

3.6.1 简史 63

3.6.2 统一过程的阶段 64

3.6.3 统一过程工作产品 66

3.7 小结 67

参考文献 68

习题与思考题 69

推荐读物与阅读信息 70

第4章 敏捷视角下的过程 71

4.1 敏捷是什么? 73

4.2 敏捷过程是什么? 74

4.2.1 敏捷开发的动机 75

4.2.2 人的因素 76

4.3 敏捷过程模型 77

4.3.1 极限编程(eXtreme Programming,XP) 78

4.3.2 自适应软件开发(Adaptive Software Development,ASD) 82

4.3.3 动态系统开发方法(Dynamic System Development Method,DSDM) 84

4.3.4 Scrum 85

4.3.5 Crystal 87

4.3.6 特征驱动开发(Feature Driven Development,FDD) 88

4.3.7 敏捷建模(Agile Modeling,AM) 89

4.4 小结 91

参考文献 92

习题与思考题 93

推荐读物与阅读信息 94

第二部分 软件工程实践 96

第5章 软件工程实践 96

5.1 软件工程实践 97

5.1.1 实践的精髓 97

5.1.2 核心原则 99

5.2 沟通实践 101

5.3 策划实践 104

5.4 建模实践 107

5.4.1 分析建模原则 108

5.4.2 设计建模原则 109

5.5 构造实践 112

5.5.1 编码原则和概念 113

5.5.2 测试原则 114

5.6 部署 116

5.7 小结 118

参考文献 119

习题与思考题 120

推荐读物与阅读信息 120

第6章 系统工程 122

6.1 基于计算机的系统 123

6.2 系统工程层次结构 125

6.2.1 系统建模 126

6.2.2 系统仿真 128

6.3 业务过程工程概述 129

6.4 产品工程概述 130

6.5 系统建模 132

6.5.1 Hatley-Pirbhai建模 133

6.5.2 UML系统建模 135

6.6 小结 139

参考文献 140

习题与思考题 140

推荐读物与阅读信息 141

第7章 需求工程 142

7.1 连接设计和构造的桥梁 143

7.2 需求工程任务 144

7.2.1 起始 144

7.2.2 导出 145

7.2.3 精化 145

7.2.4 协商 146

7.2.5 规格说明 147

7.2.6 确认 147

7.2.7 需求管理 148

7.3 启动需求工程过程 149

7.3.1 确认共同利益者 150

7.3.2 识别多种观点 150

7.3.3 协同合作 151

7.3.4 首次提问 151

7.4 导出需求 152

7.4.1 协同收集需求 153

7.4.2 质量功能部署 156

7.4.3 用户场景 157

7.4.4 导出工作产品 158

7.5 开发用例 159

7.6 构建分析模型 164

7.6.1 分析模型的元素 164

7.6.2 分析模式 168

7.7 协商需求 169

7.8 确认需求 171

7.9 小结 172

参考文献 172

习题与思考题 173

推荐读物与阅读信息 174

第8章 构建分析模型 175

8.1 需求分析 176

8.1.1 整体目标和原理 177

8.1.2 分析的经验规则 178

8.1.3 域分析 178

8.2 分析建模的方法 179

8.3 数据建模概念 181

8.3.1 数据对象 181

8.3.2 数据属性 182

8.3.3 关系 182

8.3.4 基数和形态 183

8.4 面向对象的分析 185

8.5 基于场景建模 186

8.5.1 编写用例 186

8.5.2 开发活动图 191

8.5.3 泳道图 192

8.6 面向流的建模 194

8.6.1 创建数据流模型 194

8.6.2 创建控制流模型 197

8.6.3 控制规格说明 198

8.6.4 处理规格说明 200

8.7 基于类的建模 201

8.7.1 识别分析类 201

8.7.2 描述属性 204

8.7.3 定义操作 205

8.7.4 类—责任—协作者(CRC)建模 208

8.7.5 关联和依赖 214

8.7.6 分析包 215

8.8 生成行为模型 216

8.8.1 识别用例事件 217

8.8.2 状态表现 218

8.9 小结 221

参考文献 222

习题与思考题 223

推荐读物与阅读信息 224

第9章 设计工程 226

9.1 软件工程中的设计 227

9.2 设计过程和设计质量 229

9.3 设计概念 233

9.3.1 抽象 233

9.3.2 架构 233

9.3.3 模式 234

9.3.4 模块化 235

9.3.5 信息隐藏 236

9.3.6 功能独立 236

9.3.7 精化 237

9.3.8 重构 238

9.3.9 设计类 239

9.4 设计模型 242

9.4.1 数据设计元素 243

9.4.2 架构设计元素 243

9.4.3 接口设计元素 244

9.4.4 构件级设计元素 246

9.4.5 部署级设计元素 247

9.5 基于模式的软件设计 248

9.5.1 描述设计模式 248

9.5.2 在设计中使用模式 249

9.5.3 框架 249

9.6 小结 250

参考文献 251

习题与思考题 251

推荐读物与阅读信息 252

第10章 创建体系结构设计 254

10.1 软件体系结构 255

10.1.1 什么是体系结构 255

10.1.2 为什么体系结构如此重要 256

10.2 数据设计 257

10.2.1 体系结构级的数据设计 257

10.2.2 构件级的数据设计 258

10.3 体系结构风格和模式 259

10.3.1 体系结构风格的简单分类 260

10.3.2 体系结构模式 264

10.3.3 组织和精化 265

10.4 体系结构设计 266

10.4.1 系统的环境表示 266

10.4.2 定义原始模型 268

10.4.3 将体系结构精化为构件 269

10.4.4 描述系统实例 271

10.5 评估可选的体系结构设计 272

10.5.1 体系结构权衡分析方法 272

10.5.2 体系结构复杂性 274

10.5.3 体系结构描述语言 274

10.6 映射数据流到软件体系结构 275

10.6.1 变换流 276

10.6.2 事务流 276

10.6.3 变换映射 277

10.6.4 事务映射 284

10.6.5 精化体系结构设计 288

10.7 小结 288

参考文献 289

习题与思考题 290

推荐读物与阅读信息 291

第11章 构件级设计建模 292

11.1 什么是构件 293

11.1.1 面向对象的观点 294

11.1.2 传统观点 295

11.1.3 过程相关的观点 298

11.2 设计基于类的构件 298

11.2.1 基本设计原则 299

11.2.2 构件级设计指导方针 302

11.2.3 内聚性 303

11.2.4 耦合性 305

11.3 实施构件级设计 307

11.4 对象约束语言 313

11.5 设计传统构件 315

11.5.1 图形设计表示 316

11.5.2 表格设计表示 317

11.5.3 程序设计语言 318

11.5.4 设计表示方法的比较 320

11.6 小结 321

参考文献 322

习题与思考题 322

推荐读物与阅读信息 323

第12章 完成用户界面设计 324

12.1 黄金规则 325

12.1.1 置用户于控制之下 325

12.1.2 减轻用户的记忆负担 327

12.1.3 保持界面一致 328

12.2 用户界面的分析与设计 329

12.2.1 界面分析和设计模型 330

12.2.2 界面分析和设计过程 331

12.3 界面分析 333

12.3.1 用户分析 333

12.3.2 任务分析和建模 335

12.3.3 显示内容分析 340

12.3.4 工作环境分析 341

12.4 界面设计步骤 341

12.4.1 应用界面设计步骤 342

12.4.2 用户界面设计模式 343

12.4.3 设计问题 345

12.5 设计评估 349

12.6 小结 351

参考文献 351

习题与思考题 352

推荐读物与阅读信息 353

第13章 软件测试策略 354

13.1 软件测试的策略性方法 355

13.1.1 验证与确认 356

13.1.2 软件测试的组织 356

13.1.3 常规软件体系结构的测试策略 358

13.1.4 面向对象软件体系结构的测试策略 359

13.1.5 测试完成的标准 360

13.2 策略问题 361

13.3 传统软件的测试策略 362

13.3.1 单元测试 362

13.3.2 集成测试 365

13.4 面向对象软件的测试策略 372

13.4.1 面向对象语境中的单元测试 372

13.4.2 面向对象语境中的集成测试 373

13.5 确认测试 374

13.5.1 确认测试准则 374

13.5.2 配置评审 374

13.5.3 α测试与β测试 374

13.6 系统测试 376

13.6.1 恢复测试 377

13.6.2 安全测试 377

13.6.3 压力测试 377

13.6.4 性能测试 378

13.7 调试艺术 379

13.7.1 调试过程 379

13.7.2 心理因素 381

13.7.3 调试策略 382

13.7.4 错误改正 384

13.8 小结 384

参考文献 385

习题与思考题 385

推荐读物与阅读信息 386

第14章 测试战术 388

14.1 软件测试基础 389

14.2 黑盒测试与白盒测试 391

14.3 白盒测试 392

14.4 基本路径测试 393

14.4.1 流图表示 393

14.4.2 独立程序路径 394

14.4.3 测试用例的设计 396

14.4.4 图矩阵 399

14.5 控制结构测试 400

14.5.1 条件测试 400

14.5.2 数据流测试 400

14.5.3 循环测试 401

14.6 黑盒测试 402

14.6.1 基于图的测试方法 403

14.6.2 等价划分 405

14.6.3 边界值分析 406

14.6.4 正交数组测试 407

14.7 面向对象测试方法 410

14.7.1 OO概念的测试用例设计的含义 410

14.7.2 传统测试用例设计方法的可应用性 411

14.7.3 基于故障的测试 411

14.7.4 测试用例与类层次 412

14.7.5 基于场景的测试 412

14.7.6 表层结构和深层结构的测试 414

14.8 类层次可应用的测试方法 415

14.8.1 面向对象的随机测试 415

14.8.2 类层次的分割测试 416

14.9 类间测试用例设计 417

14.9.1 多个类测试 417

14.9.2 从行为模型中生成的测试 418

14.10 针对特定环境、体系结构和应用的测试 420

14.10.1 用户界面测试 420

14.10.2 客户/服务器体系结构 420

14.10.3 测试文档和帮助设施 421

14.10.4 实时系统的测试 422

14.11 测试模式 424

14.12 小结 425

参考文献 426

习题与思考题 427

推荐读物与阅读信息 428

第15章 产品度量 429

15.1 软件质量 430

15.1.1 McCall的质量因素 431

15.1.2 ISO 9126质量因素 432

15.1.3 向量化视图的变迁 433

15.2 产品度量框架 434

15.2.1 测度、度量和指标 434

15.2.2 产品度量的挑战 434

15.2.3 测量原则 435

15.2.4 面向目标的软件测量 436

15.2.5 有效软件度量的属性 437

15.2.6 产品度量风景 438

15.3 分析模型的度量 440

15.3.1 基于功能的度量 440

15.3.2 规格说明质量的度量 444

15.4 设计模型的度量 445

15.4.1 体系结构设计度量 445

15.4.2 面向对象设计的度量 448

15.4.3 面向类的度量——CK度量套 449

15.4.4 面向类的度量——MOOD度量套 452

15.4.5 Lorenz与Kidd提出的面向对象度量 453

15.4.6 构件级设计度量 454

15.4.7 面向操作的度量 456

15.4.8 用户界面设计度量 457

15.5 源代码的度量 458

15.6 测试的度量 459

15.6.1 应用于测试的Halstead度量 459

15.6.2 面向对象测试的度量 459

15.7 维护的度量 460

15.8 小结 461

参考文献 462

习题与思考题 464

推荐读物与阅读信息 465

第三部分 应用Web工程 468

第16章 Web工程 468

16.1 基于Web的系统及应用的特点 469

16.2 WebApp工程的层次 472

16.2.1 过程 472

16.2.2 方法 473

16.2.3 工具与技术 474

16.3 Web工程过程 474

16.3.1 定义框架 475

16.3.2 精化框架 477

16.4 Web工程的最佳实践 478

16.5 小结 479

参考文献 480

习题与思考题 480

推荐读物与阅读信息 481

第17章 开始一个WebApp项目 482

17.1 表达基于Web的系统 483

17.1.1 表达问题 483

17.1.2 WebApp的需求收集 485

17.1.3 分析模型的过渡 489

17.2 策划Web工程项目 490

17.3 Web工程团队 491

17.3.1 人员 491

17.3.2 组建团队 492

17.4 Web工程的项目管理问题 493

17.4.1 WebApp策划——外包 494

17.4.2 WebApp策划——内部Web工程 498

17.5 Web工程与WebApp的度量 500

17.5.1 Web工程工作的度量 501

17.5.2 评估商业价值的度量 502

17.6 WebApp项目的“最坏实践” 502

17.7 小结 504

参考文献 504

习题与思考题 505

推荐读物与阅读信息 506

第18章 WebApp分析 507

18.1 WebApp的需求分析 508

18.1.1 用户层次 509

18.1.2 开发用例 510

18.1.3 精化用例模型 512

18.2 WebApp的分析模型 513

18.3 内容模型 513

18.3.1 定义内容对象 514

18.3.2 内容关系与层次 514

18.3.3 WebApp的分析类 515

18.4 交互模型 516

18.5 功能模型 519

18.6 配置模型 521

18.7 关系导航分析 521

18.7.1 关系分析——关键问题 522

18.7.2 导航分析 523

18.8 小结 524

参考文献 525

习题与思考题 525

推荐读物与阅读信息 526

第19章 设计WebApp 527

19.1 Web工程的设计问题 528

19.1.1 设计与WebApp质量 528

19.1.2 设计目标 531

19.2 WebE设计金字塔 532

19.3 WebApp界面设计 533

19.3.1 界面设计原则与指导方针 534

19.3.2 界面控制机制 539

19.3.3 界面设计工作流 539

19.4 美学设计 541

19.4.1 布局问题 542

19.4.2 美术设计问题 542

19.5 内容设计 543

19.5.1 内容对象 543

19.5.2 内容设计问题 544

19.6 体系结构设计 545

19.6.1 内容体系结构 545

19.6.2 WebApp体系结构 547

19.7 导航设计 549

19.7.1 导航语义 549

19.7.2 导航语法 551

19.8 构件级设计 552

19.9 超媒体设计模式 552

19.10 面向对象的超媒体设计方法(OOHDM) 554

19.10.1 OOHDM的概念设计 554

19.10.2 OOHDM的导航设计 555

19.10.3 抽象界面设计与实现 556

19.11 WebApp的设计度量 556

19.12 小结 557

参考文献 558

习题与思考题 560

推荐读物与阅读信息 561

第20章 WebApp测试 562

20.1 WebApp的测试概念 563

20.1.1 质量维度 563

20.1.2 WebApp环境中的错误 564

20.1.3 测试策略 565

20.1.4 测试计划 566

20.2 测试过程——概述 566

20.3 内容测试 569

20.3.1 内容测试的目标 569

20.3.2 数据库测试 571

20.4 用户界面测试 573

20.4.1 界面测试策略 573

20.4.2 测试界面机制 574

20.4.3 测试界面语义 576

20.4.4 可用性测试 576

20.4.5 兼容性测试 578

20.5 构件级测试 579

20.6 导航测试 581

20.6.1 测试导航语法 581

20.6.2 测试导航语义 582

20.7 配置测试 583

20.7.1 服务器端问题 584

20.7.2 客户端问题 584

20.8 安全性测试 585

20.9 性能测试 587

20.9.1 性能测试的目标 587

20.9.2 负载测试 588

20.9.3 压力测试 588

20.10 小结 590

参考文献 591

习题与思考题 592

推荐读物与阅读信息 593

第四部分 管理软件项目 596

第21章 项目管理 596

21.1 管理涉及的范围 597

21.1.1 人员 597

21.1.2 产品 598

21.1.3 过程 598

21.1.4 项目 598

21.2 人员 599

21.2.1 共同利益者 599

21.2.2 团队负责人 600

21.2.3 软件团队 601

21.2.4 敏捷团队 604

21.2.5 协调和通信问题 605

21.3 产品 606

21.3.1 软件范围 606

21.3.2 问题分解 607

21.4 过程 608

21.4.1 合并产品和过程 608

21.4.2 过程分解 609

21.5 项目 610

21.6 W5HH原则 612

21.7 关键实践 612

21.8 小结 613

参考文献 614

习题与思考题 614

推荐读物与阅读信息 615

第22章 过程和项目度量 617

22.1 过程和项目领域中的度量 618

22.1.1 过程度量和软件过程改进 618

22.1.2 项目度量 621

22.2 软件测量 622

22.2.1 面向规模的度量 623

22.2.2 面向功能的度量 624

22.2.3 调和代码行和功能点的度量方法 624

22.2.4 面向对象的度量 626

22.2.5 面向用例的度量 627

22.2.6 Web工程项目度量 627

22.3 软件质量度量 629

22.3.1 测量质量 630

22.3.2 缺陷排除效率 631

22.4 在软件工程过程中集成度量 632

22.4.1 支持软件度量的论点 633

22.4.2 建立基线 633

22.4.3 度量收集、计算和评估 634

22.5 小型组织的度量 634

22.6 制定软件度量大纲 636

22.7 小结 638

参考文献 638

习题与思考题 639

推荐读物与阅读信息 640

第23章 估算 642

23.1 对估算的观察 643

23.2 项目计划过程 644

23.3 软件范围和可行性 645

23.4 资源 645

23.4.1 人力资源 646

23.4.2 可复用软件资源 646

23.4.3 环境资源 647

23.5 软件项目估算 648

23.6 分解技术 649

23.6.1 软件规模估算 649

23.6.2 基于问题的估算 650

23.6.3 基于LOC估算的实例 651

23.6.4 基于FP估算的实例 653

23.6.5 基于过程的估算 654

23.6.6 基于过程估算的实例 655

23.6.7 基于用例的估算 656

23.6.8 基于用例的估算实例 657

23.6.9 调和不同的估算方法 658

23.7 经验估算模型 659

23.7.1 估算模型的结构 660

23.7.2 COCOMOⅡ模型 660

23.7.3 软件方程式 662

23.8 面向对象项目的估算 663

23.9 特殊的估算技术 664

23.9.1 敏捷开发的估算 664

23.9.2 Web工程项目的估算 665

23.10 自行开发或购买的决策 666

23.10.1 创建决策树 667

23.10.2 外包 668

23.11 小结 669

参考文献 670

习题与思考题 671

推荐读物与阅读信息 671

第24章 项目进度安排 673

24.1 基本概念 674

24.2 项目进度安排 676

24.2.1 基本原则 677

24.2.2 人员与工作量之间的关系 678

24.2.3 工作量分配 680

24.3 为软件项目定义任务集合 681

24.3.1 一个任务集合的例子 682

24.3.2 主要任务的求精 682

24.4 定义任务网络 683

24.5 进度安排 684

24.5.1 时序图 685

24.5.2 跟踪进度 686

24.5.3 跟踪OO项目的进展 688

24.6 获得值分析 690

24.7 小结 691

参考文献 691

习题与思考题 692

推荐读物与阅读信息 693

第25章 风险管理 694

25.1 被动和主动的风险策略 695

25.2 软件风险 696

25.3 风险识别 697

25.3.1 评估整体项目风险 698

25.3.2 风险因素和驱动因子 699

25.4 风险预测 700

25.4.1 建立风险表 701

25.4.2 评估风险影响 703

25.5 风险求精 705

25.6 风险缓解、监测和管理 705

25.7 RMMM计划 708

25.8 小结 709

参考文献 710

习题与思考题 710

推荐读物与阅读信息 711

第26章 质量管理 712

26.1 质量概念 713

26.1.1 质量 714

26.1.2 质量控制 714

26.1.3 质量保证 715

26.1.4 质量成本 715

26.2 软件质量保证 716

26.2.1 背景 717

26.2.2 SQA活动 717

26.3 软件评审 719

26.3.1 软件缺陷对成本的影响 720

26.3.2 缺陷放大和消除 720

26.4 正式的技术评审 722

26.4.1 评审会议 722

26.4.2 评审报告和记录保存 723

26.4.3 评审指导原则 724

26.4.4 样本驱动评审 725

26.5 SQA的形式化方法 727

26.6 基于统计的软件质量保证 727

26.6.1 一个普通的例子 728

26.6.2 软件工程中的六西格玛 729

26.7 软件可靠性 730

26.7.1 可靠性和可用性的测量 731

26.7.2 软件安全 731

26.8 ISO 9000质量标准 733

26.9 SQA计划 734

26.10 小结 735

参考文献 736

习题与思考题 737

推荐读物与阅读信息 737

第27章 变更管理 739

27.1 软件配置管理 740

27.1.1 SCM场景 741

27.1.2 配置管理系统元素 742

27.1.3 基线 743

27.1.4 软件配置项 743

27.2 SCM中心存储库 745

27.2.1 中心存储库的作用 745

27.2.2 一般特征和内容 746

27.2.3 SCM特征 747

27.3 SCM过程 748

27.3.1 软件配置中对象的标识 749

27.3.2 版本控制 750

27.3.3 变更控制 752

27.3.4 配置审核 755

27.3.5 状态报告 756

27.4 Web工程的配置管理 756

27.4.1 WebApp的配置管理问题 757

27.4.2 WebApp的配置对象 758

27.4.3 内容管理 758

27.4.4 变更管理 761

27.4.5 版本控制 763

27.4.6 审核和报告 764

27.5 小结 765

参考文献 766

习题与思考题 767

推荐读物与阅读信息 768

第五部分 软件工程高级课题 770

第28章 形式化方法 770

28.1 基本概念 771

28.1.1 非形式化方法的缺陷 772

28.1.2 软件开发中的数学 773

28.1.3 形式化方法概念 773

28.2 数学预备知识 776

28.2.1 集合与构造性规格说明 776

28.2.2 集合运算符 778

28.2.3 逻辑运算符 780

28.2.4 序列 780

28.3 应用数学表示法描述形式化规格说明 781

28.4 形式规格说明语言 783

28.5 对象约束语言(OCL) 784

28.5.1 OCL语法及语义概述 784

28.5.2 使用OCL举例 786

28.6 Z规格说明语言 788

28.6.1 Z语法及语义概述 788

28.6.2 使用Z举例 788

28.7 形式化方法的十条戒律 791

28.8 形式化方法——未来之路 792

28.9 小结 793

参考文献 793

习题与思考题 794

推荐读物与阅读信息 795

第29章 净室软件工程 796

29.1 净室方法 797

29.1.1 净室策略 798

29.1.2 净室方法的特异之处 800

29.2 功能规格说明 801

29.2.1 黑盒规格说明 802

29.2.2 状态盒规格说明 803

29.2.3 清晰盒规格说明 803

29.3 净室设计 804

29.3.1 设计求精与验证 804

29.3.2 设计验证的优点 808

29.4 净室测试 809

29.4.1 统计使用测试 810

29.4.2 认证 811

29.5 小结 812

参考文献 812

习题与思考题 813

推荐读物与阅读信息 814

第30章 基于构件的开发 815

30.1 基于构件系统的工程 816

30.2 CBSE过程 818

30.3 领域工程 819

30.3.1 领域分析过程 819

30.3.2 特征化函数 820

30.3.3 结构化建模与结构点 821

30.4 基于构件的开发 822

30.4.1 构件合格性检验、适应性修改与组装 822

30.4.2 构件工程 825

30.4.3 复用的分析与设计 826

30.5 构件分类与检索 827

30.5.1 描述可复用构件 827

30.5.2 复用环境 829

30.6 CBSE经济学 830

30.6.1 对质量、生产率及成本的影响 830

30.6.2 运用结构点的成本分析 831

30.7 小结 832

参考文献 833

习题与思考题 834

推荐读物与阅读信息 835

第31章 再工程 837

31.1 业务过程再工程 838

31.1.1 务过程 839

31.1.2 BPR模型 839

31.2 软件再工程 841

31.2.1 软件维护 841

31.2.2 软件再工程过程模型 842

31.3 逆向工程 846

31.3.1 理解数据的逆向工程 848

31.3.2 理解处理的逆向工程 848

31.3.3 用户界面的逆向工程 849

31.4 重构 850

31.4.1 代码重构 850

31.4.2 数据重构 851

31.5 正向工程 852

31.5.1 客户/服务器体系结构(C/S)的正向工程 853

31.5.2 面向对象体系结构的正向工程 854

31.5.3 用户界面的正向工程 855

31.6 再工程经济学 855

31.7 小结 856

参考文献 857

习题与思考题 858

推荐读物与阅读信息 859

第32章 未来之路 860

32.1 软件的重要性——再论 861

32.2 变化的范围 861

32.3 人及其构造系统的方式 863

32.4 “新”的软件工程过程 864

32.5 表示信息的新模式 865

36.6 技术作为推动力 867

32.7 软件工程师的责任 868

32.8 结束语 870

参考文献 871

习题与思考题 871

推荐读物与阅读信息 871

索引 873