《基于重用的软件工程 技术、组织和控制》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:(美)Hafedh Mili等著;韩柯等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2004
  • ISBN:750539228X
  • 页数:655 页
图书介绍:本书主要介绍软件重用的理论研究和实践,及在软件发达国家的历史。实践证明,软件重用是从根本上提高软件生产率,降低成本,提高质量的有效途径;同时也说明基于重用的软件工程实践模型和其他有关的基础问题;全面介绍了基于重用的软件工程的当前状态和水平;比较全面地讨论了重用的关键技术,管理和组织问题;详细论述了这些理论知识在基于组件的软件开发生命周期和产品线工程中的运用问题。

第1部分 引论 3

第1章 软件重用与软件工程 3

1.1 概念与术语 4

1.1.1 软件重用的定义 4

1.1.2 软件重用:潜能与陷阱 6

1.1.3 练习 7

1.2 软件重用产品 8

1.2.1 可重用资产 8

1.2.2 重用库:纵向集与横向集 9

1.2.3 练习 11

1.3.1 组织结构 12

1.3 软件重用过程 12

1.3.2 领域工程 13

1.3.3 应用工程 14

1.3.4 企业监督 15

1.3.5 练习 15

1.4 软件重用范例 17

1.4.1 软件检索范例 17

1.4.2 软件适配范例 18

1.4.3 软件合成范例 19

1.4.4 练习 20

1.5 补充读物 21

2.1.1 最新研究状况 23

2.1 软件重用管理 23

第2章 最新理论研究与实践 23

2.1.2 实践情况 25

2.1.3 前景 27

2.1.4 练习 27

2.2 软件重用技术 28

2.2.1 最新研究状况 28

2.2.2 实践情况 31

2.2.3 前景 33

2.2.4 练习 34

2.3 软件重用活动 34

2.3.1 软件重用库 34

2.3.2 软件重用方法 37

2.3.3 软件重用标准 42

2.3.4 练习 43

2.4 补充读物 43

第3章 软件重用问题 47

3.1 组织问题 47

3.1.1 管理基础设施 47

3.1.2 技术基础设施 47

3.1.3 重用的引入 48

3.1.4 练习 48

3.2 技术问题 49

3.2.1 领域工程问题 49

3.2.3 应用工程问题 50

3.2.2 组件工程问题 50

3.2.4 练习 51

3.3 经济问题 51

3.3.1 软件重用指标 51

3.3.2 软件重用成本估计 51

3.3.3 软件重用投资回报 52

3.4 补充读物 52

第2部分 组织问题 55

第4章 软件重用组织 55

4.1 软件重用团队结构 55

4.1.1 特征特性 55

4.1.2 软件重用团队结构 57

4.1.3 确定因素 63

4.1.4 练习 64

4.2 重用技能 65

4.2.1 重用库管理员 65

4.2.2 重用经理 66

4.2.3 领域工程师 66

4.2.4 应用工程师 67

4.2.5 组件工程师 68

4.2.6 练习 68

4.3 补充读物 68

第5章 支持服务 71

5.1 配置管理 71

5.3 测试 73

5.2 质量保证 73

5.4 检验与确认 74

5.4.1 领域级任务 77

5.4.2 符合性任务 78

5.4.3 沟通结果 79

5.5 风险管理 79

5.6 确认 80

5.7 练习 81

5.8 补充读物 81

第6章 重用制度化 83

6.1 机构就绪状态 83

6.2 重用障碍 88

6.2.1 文化障碍 89

6.2.2 管理障碍 90

6.2.3 技术障碍 90

6.2.4 基础设施障碍 90

6.3 克服重用障碍 91

6.3.1 行政层的支持 91

6.3.2 培训 91

6.3.3 激励 91

6.3.4 渐进方法 92

6.4 练习 94

6.5 补充读物 95

第7章 构建可重用资产:概述 99

7.1 可重用性 99

第3部分 领域工程:针对重用构建 99

7.1.1 可使用性 100

7.1.2 有用性 106

7.2 获取可重用资产 108

7.2.1 构建与购买 109

7.2.2 内部构建可重用资产 110

7.2.3 构建应用系统生成器 112

7.3 领域工程生命周期 115

7.3.1 问题 116

7.3.2 领域工程生命周期的一个样本 119

7.3.3 小结 122

7.4 结论 124

第8章 领域分析 127

8.1 基本概念 128

8.1.1 领域 128

8.1.2 领域分析 129

8.1.3 领域模型 130

8.1.4 练习 131

8.2 领域范围 131

8.2.1 范围评判准则 131

8.2.2 范围过大与过小 132

8.2.3 练习 133

8.3 领域需求与应用需求 133

8.4 领域组件的剖析 135

8.4.1 组件族模型 136

8.4.2 组件族的设计考虑 138

8.4.3 练习 139

8.5 抽象与领域分析 139

8.5.1 抽象与共性分析 139

8.5.2 抽象维 144

8.5.3 练习 148

8.6 领域分析方法 148

8.6.1 面向功能的领域分析(FODA) 148

8.6.2 机构领域建模(ODM) 150

8.6.3 联合面向对象领域分析(JODA) 150

8.6.4 重用库过程模型(RLPM) 151

8.6.5 领域分析与设计过程(DADP) 152

8.6.6 与具体领域有关的软件体系结构(DSSA) 153

8.6.7 SYNTHESIS领域分析方法 153

8.6.8 重用业务方法论 154

8.6.9 比较 155

8.6.10 练习 161

8.7 领域分析工具 161

8.7.1 KAPTUR,一种基于知识的工具 162

8.7.2 GENESIS,一种数据库管理系统构建工具 162

8.7.3 练习 163

8.8 补充读物 163

9.1 可使用性属性 165

9.1.1 可重用性——抽象边界 165

第9章 程序设计范例与可重用性 165

9.1.2 抽象与可合成性 168

9.2 表达与建模范例 173

9.2.1 描述性与过程性表达 173

9.2.2 面向对象的建模 178

9.3 开发范例中的抽象与合成 181

9.3.1 描述性表达:逻辑程序设计案例 181

9.3.2 过程性(函数)程序设计 185

9.3.3 面向对象的开发 190

9.4 向多范例开发发展 198

第10章 面向对象实用介绍 203

第4部分 面向对象的领域工程 203

10.1 引言 204

10.1.1 概述 204

10.1.2 财务领域 205

10.2 面向对象程序设计的准则 206

10.2.1 一段样本程序 206

10.2.2 封装与信息隐藏 208

10.2.3 重载与一般化 213

10.2.4 子类型与类继承 220

10.2.5 方法解析、晚捆绑与多态性 232

10.3 语言大战 238

10.4 讨论 244

第11章 面向对象中的抽象与参数化技术 245

11.1.1 对象的本体 247

11.1 面向对象建模中的抽象手段 247

11.1.2 知识表示中的继承 251

11.1.3 面向对象分析中的继承 253

11.1.4 元建模 255

11.1.5 理解元建模 262

11.1.6 实践做法——小结 266

11.2 面向对象程序设计语言中的抽象手段 272

11.2.1 抽象类 272

11.2.2 一般类 277

11.3 元程序设计 280

11.3.1 构建一种解释器 281

11.3.2 计算反射与元类 284

11.3.3 实现强类型 290

11.4 设计模式 292

11.4.1 结构抽象模式 293

11.4.2 行为抽象模式 297

11.5 小结 300

第12章 面向对象中的合成技术 303

12.1 问题 304

12.1.1 可合成性需求 304

12.1.2 结构与行为合成 305

12.1.3 抽象与粒度 307

12.1.4 捆绑时间 308

12.2 语言方法 309

12.2.1 约束与基于逻辑的程序设计 309

12.2.2 函数合成 312

12.2.3 面向对象与描述混合方法 316

12.3.1 面向特性的程序设计 321

12.3 模块化与打包方法 321

12.3.2 面向主题的程序设计 324

12.3.3 面向视图的程序设计 328

12.3.4 其他方法 332

12.4 基于设计的方法 335

12.4.1 基于事件的合成 335

12.4.2 假反射 340

12.4.3 合成设计模式 347

12.5 小结与讨论 352

第13章 应用框架 355

13.1.1 一种初步定义 356

13.1 框架中有什么内容 356

13.1.2 框架分析 357

13.1.3 框架重用生命周期 362

13.2 完成框架合同 364

13.2.1 组件可替换性 365

13.2.2 合成问题 372

13.3 构建框架 381

13.3.1 框架作为领域工程产品 381

13.3.2 框架作为应用系统开发的有计划的副产品 383

13.4 SWING框架 385

13.4.1 综述 385

13.4.2 事件处理框架 387

13.4.3 可接插外观感觉框架 391

13.5 小结 393

第14章 体系结构框架 395

14.1 什么是体系结构 396

14.1.1 定义 396

14.1.2 体系结构的质量属性 399

14.1.3 体系结构风格与连接器 401

14.2 体系结构与重用 407

14.2.1 软件体系结构的开发生命周期 408

14.2.2 可重用性的方向维 411

14.2.3 体系结构框架中的问题 413

14.3.1 问题 414

14.3 CORBA 414

14.3.2 核心体系结构 417

14.3.3 处理方法调用 421

14.3.4 实现应用系统对象 424

14.4 基于Java的技术 427

14.4.1 Java RMI 428

14.4.2 EJB体系结构 432

14.5 COM族 439

14.6 小结与讨论 446

14.7 补充读物 447

第15章应用工程 451

15.1 应用工程范例 451

第5部分 应用工程 451

15.2 应用工程生命周期 453

15.3 应用工程开发任务与探索 456

第16章 组件存储与检索 461

16.1 软件库介绍 461

16.1.1 存储与检索术语 461

16.1.2 评估准则 464

16.1.3 存储和检索方法的特征描述 467

16.1.4 练习 470

16.2 针对存储和检索分类软件资产 471

16.2.1 软件资产分类的障碍 471

16.2.2 软件存储和检索问题 473

16.2.3 分类软件库 474

16.2.4 练习 475

16.3 补充读物 476

第17章 可重用资产集成 481

17.1 资产实例化范例 482

17.1.1 组件选择 483

17.1.2 组件生成 483

17.1.3 组件规格说明 483

17.2 资产合成范例 484

17.2.1 可合成性情景 485

17.2.2 可合成性媒介 488

17.3.1 组件问题 489

17.3 集成组件问题 489

17.3.2 过程问题 490

17.3.3 质量问题 492

第6部分 软件重用的管理问题 497

第18章 软件重用指标 497

18.1 软件工程指标 497

18.1.1 属性与指标 497

18.1.2 结构指标 498

18.1.3 功能指标 499

18.1.4 练习 501

18.2 组件工程指标 503

18.2.1 概念 503

18.2.2 内容 504

18.2.3 背景 505

18.2.4 练习 506

18.3 应用工程指标 506

18.3.1 项目级功能 507

18.3.2 练习 508

18.4 领域工程指标 509

18.4.1 重用方式:软件库指标 509

18.4.2 练习 509

18.5 机构级指标 510

18.5.1 重用的效果:生产率收益 510

18.5.2 练习 511

18.6 补充读物 512

19.1.1 基本COCOMO 513

19.1 软件工程经济:COCOMO 513

第19章 软件重用成本估计 513

19.1.2 中级COCOMO 515

19.1.3 详细COCOMO 517

19.1.4 练习 518

19.2 组件工程经济 519

19.2.1 针对重用的开发 519

19.2.2 质量收益 522

19.2.3 生产率收益 523

19.2.4 投放市场时间收益 525

19.3 应用工程经济 526

19.3.1 采用重用的开发 526

19.2.5 练习 526

19.3.2 生产率收益 527

19.3.3 质量收益 528

19.3.4 投放市场时间收益 529

19.3.5 练习 529

19.4 补充读物 530

第20章 软件重用投资回报 531

20.1 投资决策建模 532

20.1.1 投资成本要素 532

20.1.2 经济函数 533

20.1.3 练习 535

20.2 软件重用投资决策 535

20.2.1 组件工程投资周期 537

20.2.2 应用工程投资周期 539

20.2.3 领域工程投资周期 540

20.2.4 机构投资周期 541

20.2.5 练习 542

20.3 补充读物 544

第7部分 软件重用技术 549

第21章 基于组件的软件工程(CBSE) 549

21.1 组件 550

21.1.1 组件是什么 550

21.1.2 组件剖析 551

21.1.3 什么是好组件 554

21.2 组件模型 555

21.2.1 什么是组件模型 555

21.2.2 组件模型应该描述的问题 556

21.2.3 示例组件模型 558

21.3 基于组件的系统开发(CBSD) 558

21.3.1 CBSD过程 559

21.3.2 组件粒度 561

21.4 采用组件开发问题 562

21.4.1 技术问题 562

21.4.2 业务问题 564

21.5 补充读物 565

第22章 产品线工程(PLE) 567

22.1 PLE与软件重用 568

22.1.1 练习 569

22.2.1 领域与应用工程问题 570

22.2 PLE生命周期 570

22.2.2 PLE生命周期的属性 571

22.2.3 成功要素 572

22.2.4 练习 573

22.3 产品线体系结构 573

22.3.1 软件体系结构与产品线体系结构 573

22.3.2 PLA中的一致与同步 574

22.3.3 进化体系结构 575

22.3.4 练习 575

22.4 PLE方法 576

22.4.1 SYNTHESIS方法 576

22.4.2 产品线实践 580

22.5 补充读物 585

22.4.3 产品线方法 585

第23章 基于商品化货架产品的开发 587

23.1 商品化货架软件 587

23.1.1 定义与背景 587

23.1.2 COTS与CBSD 588

23.1.3 练习 589

23.2 基于COTS开发的生命周期 590

23.2.1 COTS选择 590

23.2.2 COTS集成 591

23.2.3 基于COTS系统的检验与验证 592

23.2.4 基于COTS系统的维护 593

23.2.5 COTS开发的成本估计 594

23.2.6 练习 595

23.3 开发COTS确认评判准则 596

23.3.1 确认分类 596

23.3.2 COTS确认层次 597

23.3.3 COTS价值 598

23.3.4 领域深入性 602

23.3.5 体系结构符合性 603

23.3.6 应用系统适合性 606

23.4 补充读物 606

附录A 软件重用资源 609

A.1 教科书 609

附录 609

A.2 Web网站 610

A.3 会议 611

A.4 软件重用调查 613

附录B 术语 615

B.1 等待队列仿真 615

B.1.1 领域工程 615

B.1.2 应用工程 616

B.2 图书馆系统 619

B.2.1 领域工程 619

B.2.2 应用工程 621

附录C 字母缩写与符号 625

参考文献 631