当前位置:首页 > 工业技术
新一代软件工程体系与实践:基于现代系统科学与复杂性科学的非线性整体软件工程体系及其应用
新一代软件工程体系与实践:基于现代系统科学与复杂性科学的非线性整体软件工程体系及其应用

新一代软件工程体系与实践:基于现代系统科学与复杂性科学的非线性整体软件工程体系及其应用PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:熊继光编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:9787302180081
  • 页数:418 页
图书介绍:本书从分析软件界长期以来一直存在的效率低、成本高、质量差和风险大问题入手,指出以线性思维方式和简单性科学方法来处理复杂的软件系统和软件工程体系是造成这些问题的根源。
《新一代软件工程体系与实践:基于现代系统科学与复杂性科学的非线性整体软件工程体系及其应用》目录

彩图 1

序言 1

前言 3

第1章 引论 1

1.1 软件工程概述 1

1.2 传统软件工程体系是线性思维产物 3

1.3 传统软件工程体系的缺点 4

1.4 NSE体系的产生 5

1.5 NSE体系及其支撑平台 5

第2章 传统软件工程体系的过程模型 9

2.1 软件工程过程模型的概念 9

2.2 瀑布模型 9

2.3 增量迭代模型 11

2.4 演化模型 11

2.5 过程模型 13

2.5.1 Rational统一过程 13

2.5.2 规范开发 14

2.5.3 敏捷开发 17

2.6 平衡敏捷与规范 19

2.7 提倡超越敏捷与规范及其平衡 19

2.7.1 部分专家的评论 20

2.7.2 软件工程存在更本质的问题 26

2.7.3 期待“破冰之旅” 26

第3章 传统软件工程体系存在的主要问题及其根源 28

3.1 颠倒了人与过程的主次关系 28

3.2 放任软件缺陷的引入 29

3.3 放任软件缺陷的传播 30

3.4 盲目进行软件的修改维护 31

3.5 分不清主要矛盾与次要矛盾 32

3.6 应用效果 33

3.7 根源—基于线性思维和简单性科学 34

第4章 NSE体系的理论基础与创立工作框架 35

4.1 基本概念 35

4.2 非线性思维与现代系统科学 42

4.2.1 非线性现象的发现 42

4.2.2 系统科学及其应用所要遵从的基本原则 42

4.2.3 实现从线性思维到非线性系统思维的转变 43

4.3 复杂系统与复杂性科学 44

4.3.1 复杂系统 44

4.3.2 复杂性科学 44

4.4 五维结构综合法 51

4.4.1 预言:新一轮更深刻、更广泛的产业革命的来临 52

4.4.2 五维结构综合法的创立背景 52

4.4.3 五维结构综合法的创立目的 53

4.4.4 五维结构综合法的内涵 54

4.4.5 五维结构综合法的特点 59

4.4.6 五维结构综合法的应用实例 60

第5章 非线性整体软件工程体系概述 66

5.1 NSE体系的概念 66

5.2 NSE体系的创立目的 66

5.3 NSE体系的技术路线 67

5.4 NSE体系的构成 69

5.5 NSE体系的主要特点 73

第6章 非线性整体软件工程体系的过程模型 75

6.1 专家对线性模型的评论和对非线性模型的期待 75

6.2 NSE模型的图形化描述 76

6.3 NSE模型的预处理过程步骤 79

6.4 NSE模型的主过程处理步骤 87

6.5 NSE模型的特点 94

6.6 非线性系统思维原则和复杂性科学原则的体现 101

6.6.1 非线性系统思维原则在NSE模型中的具体体现 101

6.6.2 扩展原则在NSE模型及NSE体系中的体现 107

第7章 双向多级自动追溯机制 110

7.1 白盒结构测试覆盖率分析的实现原理 110

7.2 一个小程序的白盒结构测试分析 111

7.3 时间标签的自动设置与使用 117

7.4 正向自动追溯 118

7.5 逆向自动追溯 120

7.6 软件开发各阶段所有相关制品间的双向自动追溯 122

7.7 方案特点 124

第8章 非线性整体软件工程体系的开发方法 126

8.1 概述 126

8.2 非线性系统思维与复杂性科学原则的体现 129

8.3 企业级多项目并行开发支撑 132

8.4 在软件开发与维护各阶段的应用要点 132

8.5 NSE软件开发方法的特点 141

第9章 非线性整体软件工程体系的支撑图式 142

9.1 3J图式的概念 142

9.2 3J图式的特点 142

9.3 J-Cha 143

9.4 J-Diagram 150

9.5 J-Flow 156

第10章 软件测试的基础知识 162

10.1 软件测试的目的 162

10.2 量化软件测评 165

10.3 黑盒功能测试方法 165

10.4 白盒结构测试方法 167

10.5 性能测试 169

10.6 其他非功能性测试 170

10.7 单元测试、集成测试与系统测试 170

10.8 回归测试 172

10.9 验收测试 172

10.10 软件测试脚本 172

10.11 面向对象的软件测试 172

10.12 Web应用软件测试 174

10.13 测试计划与测试文档 175

10.14 使用专业软件测试工具的必要性 175

第11章 软件测试用例设计 177

11.1 软件测试用例设计基础 177

11.2 最小等效测试用例集的自动生成 182

11.3 高效率测试用例的半自动设计 183

第12章 深度与广度软件测试 186

12.1 集成化单元测试 186

12.2 功能测试过程操作的自动捕获与选择性回放 196

12.3 MC/DC测试覆盖率分析 198

12.4 性能测试分析 208

12.5 内存泄漏与违规使用分析 212

12.6 动态运行错误分类与定位和执行路径追溯 212

12.7 面向对象程序的头文件与类的测试覆盖率分析 214

12.8 嵌入式软件测试支撑 218

第13章 透明盒测试法及其应用 231

13.1 传统的软件测试方法所存在的主要问题 231

13.2 新的解决方案—透明盒测试法 232

13.3 透明盒测试法的测试用例描述 234

13.4 实例 235

13.5 透明盒测试法在软件开发全生命周期中的应用 240

13.6 透明盒测试法与黑盒测试法的主要区别 251

第14章 非线性整体软件工程的质量保证体系 252

14.1 软件缺陷产生的主动预防 255

14.1.1 需求开发阶段的缺陷预防 255

14.1.2 软件设计阶段的缺陷预防 256

14.1.3 软件编码阶段的缺陷预防 256

14.1.4 软件维护阶段的缺陷预防 257

14.2 软件缺陷传播的主动预防 259

14.2.1 独立于编程风格的图形化源码阅读查错 259

14.2.2 基于逻辑图与控制流程图的逻辑查错 261

14.2.3 半自动软件评审与走查支撑 263

14.3 基于复杂性分析和性能分析的软件模块重构 266

14.4 深度与广度软件测试 270

14.5 软件质量的量化度量 270

14.6 NSE质量保证体系的综合应用效果估算 275

14.6.1 定性分析 275

14.6.2 定量分析 276

第15章 非线性整体软件工程的系统化与量化软件维护体系 284

15.1 非线性整体软件工程体系的维护过程模型 285

15.2 非线性系统科学和复杂性科学原则的体现 286

15.3 系统化软件维护 288

15.3.1 系统化的定义 288

15.3.2 系统化软件维护的实现 288

15.4 量化软件维护 289

15.4.1 “量化”的定义 289

15.4.2 量化软件维护的实现 289

15.5 基于NSE模型的规范化软件维护 291

15.5.1 “规范”的定义 291

15.5.2 规范化软件维护的实现 292

15.6 软件维护的未来—从源头做起 292

第16章 非线性整体软件工程的“活文档”体系 294

16.1 “活文档”的定义 294

16.2 “活文档”的制作与处理 295

16.3 “活文档”数据库的建立、特点与增量式更新 295

16.4 NSE“活文档”的综合特性 296

16.4.1 海量 296

16.4.2 准确 300

16.4.3 精确 302

16.4.4 可相互链接、追溯、转换 302

16.4.5 隐式 302

16.4.6 动态超高速显示 302

16.4.7 交互操作 302

16.4.8 以网页形式输出 303

16.4.9 实现文档组织的结构化 303

16.5 应用 303

16.5.1 一般应用 303

16.5.2 在软件外包项目的全方位全自动验收中的应用 303

第17章 非线性整体软件工程体系的支撑技术 307

17.1 具有唯一性的软件工程自动化技术 307

17.2 其他技术 310

17.3 特点 312

第18章 非线性整体软件工程的项目计划与管理 313

18.1 传统软件工程体系的项目计划与管理概述 313

18.2 传统的项目计划与管理所存在的主要问题 317

18.2.1 颠倒了人与过程的主次关系 317

18.2.2 没有抓住软件工程的主要矛盾 317

18.2.3 虽然具有理论指导意义但缺乏实施基础 317

18.2.4 基于预设性而脱离客观现实 317

18.2.5 缺乏必要的模型与工具的支持 318

18.2.6 实际应用效果—项目成功率:35%左右 318

18.2.7 根源:基于线性思维与简单性科学 318

18.3 非线性软件工程体系的项目计划与管理支撑 318

18.3.1 以人为本 318

18.3.2 将项目计划与管理和软件开发过程融为一体 319

18.3.3 支持适应性动态项目计划与管理 319

18.3.4 紧紧抓住软件产品开发的主要矛盾—软件维护 320

18.3.5 一系列的自动化工具支持 321

18.3.6 基础:非线性系统思维与复杂性科学 321

18.4 对企业级多项目并行开发的支撑 321

第19章 非线性整体软件工程体系的支撑工具与支撑平台 322

19.1 非线性整体软件工程体系的支撑工具 322

19.2 非线性整体软件工程体系的支撑平台 329

19.2.1 Panorama++/艾赛银弹的发展历史 330

19.2.2 Panorama++/艾赛银弹的基本操作 334

19.2.3 Panorama++和艾赛银弹的主要特点 338

第20章 非线性整体软件工程体系的应用 340

20.1 在新软件项目开发的应用 340

20.2 在正在开发的软件项目中应用 341

20.3 剖析CMMI、支持CMMI、超越CMMI 342

20.3.1 剖析CMMI 342

20.3.2 支持CMMI 343

20.3.3 超越CMMI 345

20.4 非线性整体软件工程体系与敏捷方法的可能结合 346

20.5 非线性整体软件工程体系与RUP的可能结合 348

20.6 非线性整体软件工程体系与软件复用之路 350

20.6.1 一个与“软件工程”同龄的软件开发方法 350

20.6.2 CBSE与系统科学和复杂性科学的基本原则 351

20.6.3 软件复用所面临的主要技术瓶颈 351

20.6.4 NSE与CBSE的未来 352

第21章 两颗不同类型的候选“银弹” 353

21.1 准确适度而令人十分佩服的大师预言 353

21.2 《人月神话》所基于的是线性软件工程体系 354

21.2.1 《人月神话》的1975年版本 354

21.2.2 《人月神话》的1995年版本 354

21.3 一颗候选银弹:双向多级自动可追溯性技术 355

21.4 另一颗候选银弹:非线性整体软件工程体系 356

21.4.1 我们需要另一类“银弹” 356

21.4.2 对软件开发进度与预算的控制 357

21.4.3 数量级地提高所开发的软件质量 359

21.4.4 Brooks论断与非线性整体软件工程体系 359

21.4.5 有效地解决软件系统的复杂性问题 363

21.4.6 有效地解决软件的一致性问题 368

21.4.7 有效地解决软件的可变性问题 369

21.4.8 有效地解决软件开发过程的不可见性问题 370

21.5 NSE非线性整体软件工程体系的特点 376

21.6 综合比较 383

21.7 应用NSE体系及其支撑平台的几点建议 387

21.8 共同推动21世纪的软件工程革命 388

附录A 需求规格说明书模板源码 390

附录B 在增量式单元测试中自动设置被调用的单元的返回值方法 399

附录C 实现100%MC/DC(修改条件/判断覆盖)测试覆盖率分析实例 403

参考文献 416

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