图书介绍

软件工程化2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

软件工程化
  • 王安生编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302351115
  • 出版时间:2014
  • 标注页数:610页
  • 文件大小:262MB
  • 文件页数:639页
  • 主题词:软件工程-高等教育-教材

PDF下载


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

下载说明

软件工程化PDF格式电子书版下载

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

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

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

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

图书目录

第一部分 软件工程化基础3

第1章 绪论3

1.1软件无处不在3

1.2计算机器的发展3

1.2.1手动计算装置3

1.2.2自动计算装置4

1.2.3图灵理论计算机5

1.2.4 电子计算机的大规模生产和应用5

1.3软件艺术、工程与产业6

1.3.1从程序到软件6

1.3.2程序设计艺术7

1.3.3软件工程侧面7

1.3.4软件产业化9

1.4软件工程历程10

1.5本书的组织11

参考文献12

第2章 基于计算机的系统13

2.1基于计算机的系统组成和特征13

2.1.1系统的组成13

2.1.2系统故障14

2.1.3硬件的连续性15

2.1.4软件的离散性16

2.1.5人的特征与管理16

2.1.6固件与嵌入式系统17

2.2硬件特征和系统建造理念18

2.2.1硬件的故障特征18

2.2.2硬件系统的全生命周期设计18

2.2.3硬件生产质量的统计学控制19

2.3软件故障和建造理念20

2.3.1软件故障表现和分类20

2.3.2程序正确性证明21

2.3.3测试的充分性问题21

2.3.4代码复用22

2.3.5部件组装22

2.4使用者的错误与避免24

2.4.1操作员的错误24

2.4.2入的信息处理模型24

2.4.3操作错误的避免25

2.5本章小结26

参考文献26

第3章 软件开发过程28

3.1程序开发基本过程28

3.1.1一个简单的程序开发例子28

3.1.2程序开发库和复用29

3.2从程序开发到软件工程化过程30

3.2.1软件开发的活动30

3.2.2大型软件开发的管理31

3.3中间产品驱动的过程34

3.3.1中间产品驱动的过程34

3.3.2中间产品的意义35

3.4瀑布式还是迭代式35

3.4.1增量式模型36

3.4.2渐进式模型37

3.4.3螺旋式模型38

3.5软件产品的开发过程41

3.5.1策略和原则的建立41

3.5.2定义产品和开发过程42

3.5.3开发产品与装箱43

3.5.4与黑客方法的差别44

3.5.5方法的优点44

3.6计算机辅助与模型驱动的软件工程45

3.6.1计算机辅助软件工程与工具45

3.6.2模型驱动的软件工程46

3.7本章小结47

参考文献48

第4章 软件质量49

4.1软件质量定义49

4.1.1程序的类型划分49

4.1.2质量定义51

4.2质量观点51

4.2.1 Garvin的质量分类51

4.2.2 Braa的质量侧面观点53

4.2.3项目经理们的质量看法55

4.3软件质量模型的归纳55

4.4 ISO) 9126的质量定义56

4.4.1软件产品质量模型56

4.4.2产品质量属性分解57

4.4.3部件和服务项的质量评价61

4.5软件过程质量61

4.6本章小结61

参考文献62

第5章 系统可信赖性63

5.1可信赖性概念63

5.1.1可信赖性的起因63

5.1.2可信赖性的定义64

5.1.3可信赖性的属性64

5.2可信赖性方法和技术65

5.2.1开发可信赖系统的基本方法65

5.2.2可信赖性的属性讨论66

5.3可靠性和可用性67

5.4安全性原则68

5.4.1 ALARP安全原则68

5.4.2软件安全证据考虑70

5.4.3基于开发过程的证据70

5.5密安性原则70

5.5.1软件密安性的威胁70

5.5.2密安性的误区71

5.5.3密安性的公开原则72

5.5.4系统密安性的模型72

5.5.5产品的密安性需求与认证75

5.6生存性76

5.7本章小结77

参考文献77

第6章 软件销售与采购79

6.1软件类型79

6.1.1现货软件79

6.1.2可复用软件80

6.1.3按合同开发的软件80

6.1.4开源软件80

6.1.5软件类型与质量80

6.2软件产品销售模式81

6.2.1软件产品销售行为81

6.2.2最终用户协议82

6.2.3点击同意协议82

6.2.4二次开发的皇税协议83

6.2.5开源协议84

6.2.6 GNU、BSD、MIT协议84

6.2.7免许可证软件85

6.2.8国际间的软件版权85

6.3软件项目采购模式86

6.3.1软件采购和外包形式86

6.3.2软件采购过程87

6.3.3软件采购的主要问题90

6.4 OTS的采购和使用91

6.4.1一般问题91

6.4.2安全性考虑92

6.4.3密安性考虑93

6.5本章小结94

参考文献94

第7章 软件运维与服务过程96

7.1引言96

7.2软件移交与验收过程97

7.3软件支持过程98

7.3.1软件维护与传统产品维护98

7.3.2 Lehman定律99

7.3.3维护成本100

7.4软件支持过程与活动100

7.4.1软件修改过程100

7.4.2软件支持活动102

7.5软件支持方式与能力103

7.5.1软件支持方式与基本要求103

7.5.2针对软件可使用性的支持104

7.5.3针对运行能力的支持105

7.6独立的软件支持105

7.6.1软件支持的原则106

7.6.2系统部署前后的支持工作106

7.6.3采购对支持工作的要求106

7.7本章小结108

参考文献108

第二部分 各阶段的工程化113

第8章 需求工程113

8.1引言113

8.2需求类型114

8.2.1需求分类114

8.2.2需求分析目标和维度115

8.2.3需求内涵117

8.3需求分析过程117

8.4需求文档的编写119

8.4.1需求文档的结构化119

8.4.2需求描述的语言123

8.4.3需求进一步量化124

8.5需求文档的质量度量125

8.6需求管理131

8.6.1需求管理的起因131

8.6.2需求的跟踪132

8.6.3需求变更管理133

8.7本章小结134

参考文献135

第9章 建模与图示化表达136

9.1图示化与自然语言136

9.1.1图的作用136

9.1.2自然语言和文字的构造原则136

9.2传统的图示化建模137

9.2.1系统周境图示化表达137

9.2.2数据流图表达138

9.2.3功能结构图表达139

9.2.4实体-关系图表达139

9.2.5事务定义与性能分析142

9.3用户角色表达144

9.3.1用例图144

9.3.2泳道图145

9.4静态图模型145

9.4.1部署图145

9.4.2对象和类图146

9.4.3类之间的关联147

9.5活动的建模149

9.5.1活动的表达149

9.5.2泳道与活动的结合150

9.6交互的图示化模型151

9.6.1消息序列图151

9.6.2通信图153

9.6.3交互概要图153

9.6.4时序图153

9.7状态机模型155

9.7.1 Mealy机155

9.7.2 Moore机155

9.7.3 UML中的状态机图示化表达156

9.8可信赖性分析与建模157

9.8.1可信赖性分析框架和过程157

9.8.2可信赖性需求分析的例子159

9.9本章小结162

参考文献162

第10章 体系结构设计164

10.1从系统分解到体系结构设计164

10.2体系结构的必要性和定义165

10.2.1为何要讨论体系结构165

10.2.2体系结构定义166

10.2.3体系结构的重要性166

10.3体系结构设计过程167

10.3.1体系结构视角167

10.3.2设计过程167

10.4分析体系结构需求169

10.4.1识别体系结构需求169

10.4.2体系结构需求的例子170

10.4.3体系结构需求的排序171

10.5体系结构设计方法171

10.5.1分割法171

10.5.2抽象法172

10.5.3压缩法172

10.5.4规范组合法173

10.5.5复制法173

10.5.6资源共享法173

10.5.7设计方法对质量的影响174

10.6体系结构设计文档174

10.7体系结构的评价175

10.7.1场景描述方法175

10.7.2原型评价法177

10.7.3效用树法178

10.7.4评价过程179

10.8本章小结182

参考文献182

第11章 体系结构模式与应用184

11.1体系结构的分级184

11.1.1概念级体系结构184

11.1.2模块级体系结构185

11.1.3运行级体系结构186

11.1.4代码级体系结构187

11.1.5体系结构之间的关系188

11.2体系结构描述语言189

11.2.1 ADL的基本要求189

11.2.2 AADL190

11.2.3用UML描述各级体系结构190

11.3常见的体系结构模式193

11.3.1分层视角193

11.3.2数据流动视角194

11.3.3数据集中视角196

11.3.4调用视角197

11.3.5消息传递视角199

11.3.6分布式与交互视角201

11.4应用软件框架及使用206

11.4.1软件框架的类型207

11.4.2 Web应用框架——一个广泛应用的例子207

11.4.3采用框架的应用系统开发过程208

11.5生产线的软件体系结构208

11.5.1软件生产线的概念208

11.5.2软件生产线如何工作209

11.5.3为软件生产线建立体系结构210

11.6本章小结210

参考文献211

第12章 代码工程212

12.1代码的运行错误212

12.1.1运行错误分类212

12.1.2高级语言的错误与运行错误212

12.2可执行代码的质量分析213

12.2.1可执行代码的产生过程213

12.2.2代码编辑器与质量214

12.2.3代码版本控制215

12.2.4 Build工具的使用215

12.3代码工程质量216

12.3.1代码质量模型216

12.3.2结构化编程217

12.3.3代码的复杂度度量217

12.3.4面向对象语言的度量221

12.3.5度量元的使用222

12.4可靠安全编程222

12.4.1可靠安全的编程原则222

12.4.2安全编程语言225

12.5密安性编程226

12.5.1密安软件开发规则226

12.5.2 25个顶级危险227

12.6代码移植与复用228

12.6.1系统软件的移植229

12.6.2应用软件的移植229

12.6.3数据的移植229

12.6.4代码的复用230

12.7代码审查231

12.7.1代码审查方式231

12.7.2代码质量检查单231

12.7.3面向对象代码检查单233

12.8本章小结234

参考文献234

第13章 软件测试理论与技术236

13.1测试目的236

13.1.1测试的任务与目标236

13.1.2软件错误类型237

13.2基于控制流的测试237

13.2.1完全路径测试的现实性237

13.2.2语句覆盖准则238

13.2.3分支覆盖准则239

13.2.4简化的路径覆盖准则239

13.2.5圈复杂数覆盖准则240

13.2.6多条件覆盖准则240

13.2.7修改后的条件判断覆盖241

13.2.8 LC SAJ覆盖准则243

13.3基于数据流的测试244

13.4变异测试技术246

13.5测试准则的强弱比较247

13.6基于需求规范的测试248

13.6.1黑箱测试模型248

13.6.2黑箱测试的优缺点250

13.6.3对需求条款的测试覆盖准则250

13.7测试充分性的评判251

13.7.1基于代码的测试评判251

13.7.2非基于代码的测试评判252

13.8本章小结253

参考文献253

第14章 软件测试工程255

14.1测试工程化255

14.1.1测试的生命周期255

14.1.2测试方式与方法256

14.1.3测试工程的原则257

14.1.4测试过程258

14.2各测试阶段的工作259

14.2.1单元测试259

14.2.2集成测试259

14.2.3系统测试261

14.2.4验收测试261

14.2.5试运行262

14.2.6产品发布前的测试262

14.3测试用例设计方法262

14.3.1随机方法263

14.3.2判定表方法263

14.3.3等价类划分264

14.3.4边界值方法265

14.3.5因果图方法266

14.4面向对象程序的测试268

14.4.1面向对象程序测试面临的问题268

14.4.2传统测试方法对面向对象测试的适用性269

14.4.3面向对象程序测试方法269

14.4.4类内的MtSS的方法270

14.4.5对象类之间的MtSS的方法271

14.4.6对象之间的MgSS方法271

14.4.7从交互图获得MtSS和MgSS272

14.4.8面向对象测试的充分性273

14.5不可测试软件的测试274

14.5.1数值求解问题275

14.5.2“四舍五入”问题275

14.5.3规划类问题277

14.6何时停止测试277

14.6.1错误种子法277

14.6.2错误种子测试的信任度278

14.6.3覆盖率与测试信任度279

14.6.4能力基线与测试信任度279

14.7可信赖性测试和评价280

14.7.1可恢复性测试280

14.7.2密安性测试280

14.7.3压力测试281

14.7.4性能测试281

14.7.5可信赖性评价281

14.8本章小结282

参考文献282

第三部分 过程管理与改进287

第15章 软件缺陷预测与预防287

15.1基于代码的缺陷预测287

15.1.1基于代码行和复杂性的预测287

15.1.2模块规模对缺陷的影响288

15.1.3基于复杂度和修改情况的预测288

15.1.4基于功能点的缺陷预测288

15.1.5多变量的预测290

15.2 BBN预测方法290

15.2.1无回路有向图的条件概率计算290

15.2.2建立软件开发活动的有向图291

15.2.3细化子网图292

15.2.4建立各结点的概率表293

15.2.5实际效果294

15.3基于过程能力的缺陷预测294

15.3.1缺陷的产生与消除过程预测294

15.3.2基于CMMI等级的能力的预测296

15.4代码修改历史与缺陷297

15.4.1代码搅动与缺陷预测297

15.4.2突发修改的缺陷预测298

15.5缺陷预防299

15.6本章小结301

参考文献301

第16章质量管理与控制303

16.1软件质量的来源303

16.2软件质量的过程分解304

16.2.1过程质量分解304

16.2.2基于V模型的过程质量分解307

16.2.3过程的标准化308

16.3质量保证体系309

16.3.1质量审查的计划性309

16.3.2建立和运用SQA制度310

16.3.3软件工厂中的SQA311

16.4独立的质量管理312

16.4.1 IV&V机制312

16.4.2再问软件质量和可信法律证据314

16.5质量统计技术314

16.5.1质量成本314

16.5.2缺陷来源和传播316

16.5.3质量统计方法317

16.6质量控制318

16.6.1质量漂移与宽泛现象318

16.6.2质量漂移的控制319

16.6.3质量宽泛的控制320

16.6.4质量控制能力基线及其应用321

16.7本章小结321

参考文献321

第17章 项目组织与管理323

17.1软件生产力323

17.2软件生产率324

17.2.1基本生产率定义324

17.2.2生产率能力基线325

17.2.3软件工程环境与生产率325

17.2.4软件产品特征与生产率326

17.3项目组织方式327

17.3.1程序员与生产率328

17.3.2首席程序员的组织方式329

17.3.3矩阵式的组织方式330

17.3.4基于开源软件的生产330

17.4项目计划的制定331

17.4.1项目策划过程331

17.4.2 WBS分解332

17.5产品规模估算332

17.5.1基于LOC的估算332

17.5.2基于FP的估算332

17.5.3基于用例的估算333

17.5.4经验估计模型336

17.5.5 COCOMO估算方法336

17.5.6简单的进度估算338

17.5.7 Putnam方程338

17.6进度和资源规划339

17.6.1规模、工期、工作量与生产率的关系339

17.6.2资源考虑340

17.6.3任务和资源规划340

17.6.4建立开发计划341

17.7项目执行与跟踪343

17.7.1进度跟踪343

17.7.2进度跟踪的准确性343

17.7.3挣值分析计算344

17.8本章小结345

参考文献345

第18章 敏捷开发方法347

18.1敏捷方法起因347

18.2敏捷方法348

18.2.1 XP方法348

18.2.2 Scrum方法349

18.2.3特征驱动的开发351

18.2.4动力系统开发方法352

18.2.5自适应软件开发353

18.3开发过程的选取——水晶格家族354

18.4 RUP过程356

18.4.1 RUP过程的交替与迭代356

18.4.2 RUP的项目生命周期356

18.4.3 RUP的项目开发过程357

18.4.4 RUP的支持过程358

18.5开发方法的比较358

18.5.1敏捷方法与传统方法对比358

18.5.2对软件生命周期的支持359

18.5.3敏捷方法的过程改进360

18.5.4让敏捷方法融入CMMI361

18.6本章小结363

参考文献363

第19章 软件配置管理365

19.1软件配置管理的目的365

19.2配置管理的内容366

19.2.1项目开发过程中的配置项366

19.2.2配置管理的基本内容367

19.2.3 SCM的流程368

19.2.4配置管理中的角色369

19.3配置管理系统370

19.3.1配置管理系统功能370

19.3.2配置管理工具的发展371

19.4对修改的管理372

19.4.1版本修改的状态372

19.4.2修改请求单372

19.4.3修改的类型373

19.4.4修改的跟踪373

19.5版本管理374

19.5.1版本的概念374

19.5.2版本编号375

19.5.3产品的建造过程375

19.5.4具有外购部件的建造376

19.6配置管理工作的度量377

19.7本章小结378

参考文献378

第20章 过程改进与能力成熟度380

20.1过程及其特征380

20.1.1自然过程与社会过程380

20.1.2过程的特征380

20.2过程控制与改进简史382

20.2.1统计质量控制的起源382

20.2.2 Deming、Juran与日本工业的质量革命383

20.2.3 Juran质量改进三步曲384

20.2.4 Crosby的质量成熟度网格385

20.3软件成熟度模型386

20.3.1软件能力的分级模型386

20.3.2 SW-CMM各等级的关键域388

20.3.3 SW-CMM对过程特征的解释389

20.3.4关键过程域的目标与模型应用390

20.4集成的能力成熟度模型391

20.4.1集成的成熟度模型原因391

20.4.2 CMMI模型的发展历程391

20.4.3 CMMI for Development的关键过程域392

20.4.4过程改进的效果393

20.5采购能力成熟度394

20.5.1采购能力要求394

20.5.2 采购能力成熟度模型395

20.6服务能力成熟度396

20.6.1服务质量396

20.6.2 IT服务质量差距模型397

20.6.3 CMMI-SVC模型398

20.7 成熟度模型的对比400

20.8本章小结402

参考文献402

第四部分 任务与安全关键行业软件工程化407

第21章 国防系统软件开发过程407

21.1总体与质量要求407

21.1.1“爱国者”导弹拦截失败407

21.1.2国防(装备)系统的特征408

21.2 生命周期408

21.3软件开发过程410

21.3.1文档驱动的软件开发410

21.3.2 过程各阶段的要求412

21.4软件缺陷分类与处理413

21.4.1缺陷的严重程度分类413

21.4.2错误类型414

21.5中间产品的质量评价415

21.5.1文档模板及其作用415

21.5.2中间产品质量评价的一般准则415

21.5.3质量评价的附加准则416

21.5.4系统分析和设计阶段的产品质量评价417

21.5.5软件需求分析阶段的产品质量评价418

21.5.6概要设计阶段的质量评价418

21.5.7详细设计阶段的质量评价419

21.5.8编码和单元测试阶段的质量评价420

21.5.9 CSC集成和测试阶段的质量评价420

21.5.10 CSCI集成和测试阶段的质量评价421

21.6独立的工程质量活动421

21.6.1 SQA的一般要求422

21.6.2验收审查、安装和检验422

21.6.3对子承包商的评价和管理422

21.6.4对已有软件项的评价423

21.6.5纠错体系423

21.6.6开发过程的质量证据423

21.6.7缺陷预防体系424

21.7向支持阶段的转移425

21.7.1转移过程426

21.7.2部署使用和维护426

21.8国防软件开发标准的演变427

21.8.1美国国防工业界的标准演变427

21.8.2中国国防工业界的标准情况429

21.8.3德国的V模型及其演变430

21.9本章小结433

参考文献433

第22章 航天空间领域软件过程434

22.1阿丽安娜的教训434

22.1.1阿丽安娜501的软件故障434

22.1.2故障原因435

22.1.3软件过程增强436

22.2航天任务软件质量特征437

22.2.1航天任务的要求437

22.2.2软件质量和可信赖性438

22.3软件与系统安全性439

22.3.1安全关键软件定义439

22.3.2软件用于控制灾难439

22.3.3灾害的风险等级与控制方法439

22.3.4将系统风险转换为软件风险441

22.3.5安全活动的工作量442

22.4欧洲空间局的软件开发过程443

22.4.1软件开发文件族谱443

22.4.2基本阶段、活动和里程碑444

22.4.3软件生命周期445

22.4.4原型的使用和抛弃446

22.4.5需求变更处理447

22.5中国载人航天的软件工程化447

22.5.1载人航天软件特点与工程化要求447

22.5.2软件工程化运动及思想转变448

22.5.3软件开发过程模型449

22.5.4文档编制要求与剪裁450

22.5.5配置管理与质量保证体系建立451

22.5.6独立验证与确认452

22.5.7整体工程能力的提高453

22.6本章小结453

参考文献453

第23章 民用航空领域软件过程455

23.1引言455

23.2总体要求455

23.2.1民用航空的“故障-安全”设计理念455

23.2.2航空系统灾难等级456

23.2.3民用航空中的安全关键软件457

23.2.4认证机制458

23.3机载系统与设备软件的开发459

23.3.1从系统到软件安全评估要求459

23.3.2软件生命周期460

23.3.3软件开发过程461

23.3.4其他过程及各过程的关系464

23.3.5认证的联络过程466

23.3.6商业软件的认证467

23.3.7基于RTOS的应用软件开发468

23.4地面支持系统软件的开发471

23.4.1地面支持系统的风险分析471

23.4.2地面支持系统的安全等级472

23.4.3 DO-278的基本要求472

23.4.4 COTS的使用473

23.5韩航801航班灾难474

23.5.1 MSAW问题分析474

23.5.2应吸取的教训——软件配置管理475

23.5.3事后预防措施476

23.6民航软件的新挑战476

23.7本章小结477

参考文献477

第24章 铁路与机动车软件480

24.1铁路系统的安全要求480

24.1.1总体要求480

24.1.2系统安全完整性等级480

24.2铁路领域软件开发481

24.2.1铁路安全软件原则与措施481

24.2.2高安全应对措施——开发过程的标准化481

24.2.3安全完整性等级划分482

24.2.4软件生命周期与开发过程483

24.2.5人员的职责和要求484

24.3软件开发过程要求485

24.3.1安全等级对文档的要求485

24.3.2开发过程中的技术方法要求486

24.3.3全面评估要求487

24.4对应用数据配置的系统的增强488

24.4.1工作过程与生命周期488

24.4.2工作要求489

24.4.3数据准备的增强489

24.4.4软件开发过程的增强489

24.5 “7.23”铁路重大事故490

24.5.1事故调查490

24.5.2事故性质与原因490

24.5.3软件和硬件设计问题490

24.5.4工程过程管理问题491

24.5.5事故防范和整改措施建议492

24.6机动车领域的软件安全492

24.6.1总体要求492

24.6.2汽车软件的特定需求493

24.6.3软件给研发生产模式带来的改变493

24.7机动车领域的软件开发494

24.7.1软件生命周期与开发过程494

24.7.2驾驶员行为因素分析496

24.7.3安全完整性等级的分析497

24.7.4各安全完整性等级对开发方法的要求498

24.7.5软件质量策划500

24.8机动车对软件工程的挑战500

24.8.1能力与过程改进挑战500

24.8.2软件体系结构创新501

24.8.3开发和维护过程挑战501

24.8.4成本控制挑战502

24.9本章小结502

参考文献503

第五部分 网络、信息、开放、开源与复杂巨系统工程化507

第25章 网络工程与软件工程507

25.1电信网络的软件工程化507

25.1.1电信网络的软件工程特征507

25.1.2软件工程环境508

25.1.3 SDL工程应用509

25.1.4 CHILL语言510

25.2包交换的网络工程511

25.2.1电路交换、消息交换和包交换技术对比511

25.2.2包交换通信的基本方法513

25.2.3包交换网的要素和工程问题514

25.3包结构设计例子——IPv4515

25.3.1包结构的设计515

25.3.2包的“存储-转发”过程517

25.4互联网的工程化518

25.4.1网络互联的需求519

25.4.2网络互联的设计模型519

25.4.3 DoD网络互联协议族设计520

25.4.4工程验证与推广过程521

25.4.5互联网工程中的软件工程522

25.5互联网体系结构及其进化523

25.5.1互联网的问题523

25.5.2体系结构进化525

25.5.3覆盖层模式的定义525

25.5.4覆盖层模式应用526

25.6网络进化等对软件工作者的挑战528

25.6.1网络融合的挑战528

25.6.2互联网的发展与管理权529

25.7本章小结530

参考文献530

第26章 信息系统软件工程化532

26.1信息系统危机532

26.2信息系统质量533

26.2.1信息系统质量分解533

26.2.2信息系统质量模型534

26.3信息系统生命周期与建设过程535

26.3.1信息系统生命周期535

26.3.2信息系统的建设过程536

26.3.3过程中的角色和任务537

26.4信息系统性能模型的建立539

26.4.1影响信息系统性能的因素539

26.4.2测试环境与真实环境差异分析539

26.4.3真实使用场景分析540

26.4.4性能模型的建立542

26.4.5性能模型确认过程542

26.5性能评估的例子543

26.5.1基本功能和性能模型543

26.5.2单个业务追踪——T1544

26.5.3单个业务追踪压力测试——T2545

26.5.4多用户压力测试——T3546

26.5.5确认和问题分析546

26.6性能能力库的建立和使用548

26.6.1性能分析报告549

26.6.2建立和使用性能库551

26.7信息系统失败案例——伦敦救护车服务系统553

26.7.1系统简述553

26.7.2系统失败原因分析553

26.8信息系统安全555

26.8.1不安全的来源555

26.8.2“瑞士奶酪”原理用于信息安全556

26.9本章小结559

参考文献559

第27章 开放与开源工程561

27.1软件价值链561

27.1.1软件产品与服务561

27.1.2价值链条561

27.1.3竞争与合作562

27.2产业联盟563

27.2.1软件联盟的优势563

27.2.2联盟的组织形式563

27.2.3产业联盟的例子564

27.3虚拟组织565

27.4开源工程566

27.4.1闭源、自由与开源566

27.4.2 F/OSS项目组织568

27.4.3 F/OSS过程569

27.4.4 F/OSS的文化570

27.4.5 F/OSS的进化571

27.5 F/OSS的质量保证572

27.5.1与闭源项目的质量管理对比572

27.5.2质量管理573

27.5.3可信性观点574

27.5.4质量控制575

27.6政府与开源576

27.6.1开源与开放的优势576

27.6.2开源与开放的维护策略576

27.6.3政府和产业联盟的作用577

27.7全球化软件工程578

27.7.1 GSE的基本形式——离岸与外包578

27.7.2全球化软件开发过程579

27.7.3 CMMI与全球软件化开发581

27.8本章小结581

参考文献581

第28章 软件复杂巨系统的工程化584

28.1复杂巨系统584

28.1.1系统分类584

28.1.2复杂巨系统定义585

28.1.3简单集成与创新集成585

28.2多系统的系统(SoS)586

28.2.1 SoS定义586

28.2.2 SoS的例子:电信运营系统586

28.2.3 SoS的特征587

28.2.4 SoS的工程模型587

28.2.5增量承诺模型(ICM)590

28.3 SIS与超大规模SIS592

28.3.1 SIS的定义592

28.3.2 SIS的应用场景593

28.3.3 SIS的工程化挑战593

28.3.4超大规模SIS594

28.4软件复杂巨系统的工程化595

28.4.1软件复杂巨系统595

28.4.2一些国家的工程化举措596

28.4.3工程方法的不足597

28.5重新定义软件工程598

28.5.1 IT生态系统598

28.5.2软件工程的内涵随时间而变599

参考文献600

附录A缩略语表603

热门推荐