《可信嵌入式软件开发方法与实践》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:韩炜编著
  • 出 版 社:北京:航空工业出版社
  • 出版年份:2017
  • ISBN:9787516513231
  • 页数:529 页
图书介绍:本书比较详细的介绍了嵌入式软件的特点、可信嵌入式软件开发的方法、可信嵌入式软件的特点以及可信嵌入式软件在工程实际中的应用。用天脉操作系统的研发作为例证,从而详细的进行了佐证。该书主要读者群体为大专院校师生、从事嵌入式软 件研究与开发的工程技术人员。

第1部分 概论 3

第1章 嵌入式软件概述 3

1.1 引言 3

1.1.1 嵌入式系统 3

1.1.2 嵌入式软件 7

1.2 可信软件 8

1.2.1 处理模型及其假设 10

1.2.2 可信性软件的研究内容 11

1.3 软件属性及软件可信性属性 12

1.3.1 软件可用性 15

1.3.2 软件可靠性 16

1.3.3 软件安全性 16

1.3.4 软件信息安全性 18

1.3.5 软件维修性 20

第2章 软件困惑 23

2.1 软件的特点 23

2.1.1 可塑性 23

2.1.2 变态性 24

2.1.3 开发过程 24

2.2 软件不可信因素 26

2.2.1 定义 26

2.2.2 错误 26

2.2.3 故障 28

2.2.4 失效 28

2.3 错误、故障、失效的关系 29

2.4 软件的困扰 31

第3章 软件工程概念 36

3.1 软件工程概念的提出 36

3.2 软件工程基本概念 39

3.2.1 狭义的软件工程化 39

3.2.2 广义的软件工程化 39

3.3 软件工程的基本原则 42

3.4 软件工程的研究内容 45

3.4.1 软件工程过程 45

3.4.2 软件工程方法研究 47

3.4.3 计算机辅助软件工程工具研究 56

第2部分 软件工程概念 61

第4章 软件全生命周期模型 61

4.1 瀑布模型 65

4.2 增量迭代模型 70

4.3 快速原型模型 73

4.4 螺旋模型 76

4.5 敏捷模型 79

4.5.1 极限编程 82

4.5.2 Scrum模式 86

第5章 开发计划与策划 89

5.1 软件策划与软件计划概述 91

5.1.1 软件策划过程是高质量软件的保证 91

5.1.2 软件策划的依据与参考 92

5.2 软件策划过程的目标 92

5.3 软件计划 92

5.3.1 软件开发计划 93

5.3.2 软件验证计划 93

5.3.3 软件配置管理计划 94

5.3.4 软件质量保证计划 95

5.4 软件开发标准 96

5.4.1 软件需求标准 96

5.4.2 软件设计标准 96

5.4.3 软件编码标准 96

5.5 软件计划和软件开发标准的配置管理 97

5.6 软件策划过程的评审和质量保证 97

第6章 需求开发及管理 98

6.1 需求标准 106

6.1.1 需求的正确性 107

6.1.2 需求完整性 108

6.1.3 需求的可验证性 110

6.1.4 非功能需求 112

6.1.5 需求的鲁棒性 117

6.2 需求开发技术 119

6.2.1 需求开发流程 120

6.2.2 需求获取 122

6.2.3 需求分析 127

6.2.4 需求验证 152

6.3 需求管理 154

6.3.1 需求基线管理 155

6.3.2 需求的变更控制 156

6.3.3 需求追溯 160

6.3.4 需求过程的风险 160

第7章 软件架构设计技术 163

7.1 软件架构设计 163

7.1.1 软件架构的定义 164

7.1.2 软件架构的运行基础 167

7.1.3 软件架构设计原则 167

7.1.4 软件架构设计方法 168

7.1.5 软件架构的层次化设计方法 171

7.1.6 机载软件的软件架构设计 173

7.1.7 软件架构设计常见的问题 178

7.2 架构设计与高可信性软件 179

7.2.1 保证软件的正确性:避错 179

7.2.2 使用容错的方法:避错 180

7.2.3 保证软件的安全性 183

7.2.4 保证软件信息安全性 184

7.2.5 可信性的实现与矛盾 184

第8章 机载软件的设计 186

8.1 机载软件设计要求 186

8.1.1 机载软件设计环境要求 186

8.1.2 机载软件特性设计要求 187

8.1.3 理论、算法和模型相关设计要求 188

8.2 机载软件的设计概念 198

8.2.1 并发处理 198

8.2.2 信息隐藏 199

8.2.3 有限状态机 200

8.3 机载软件的设计方法 201

8.3.1 设计策略的选取 201

8.3.2 结构化设计方法 202

8.3.3 面向对象设计方法 204

8.3.4 基于模型设计方法 204

8.4 机载软件的特性设计技术 205

8.4.1 软件特性概述 205

8.4.2 特性设计技术 206

8.5 机载软件的设计约束 209

8.5.1 接口设计约束 209

8.5.2 中断设计约束 210

8.5.3 模块设计约束 210

8.5.4 异常设计约束 210

8.5.5 数据安全设计约束 210

8.5.6 余量设计约束 211

8.5.7 其他设计约束 211

第9章 软件测试技术 213

9.1 软件测试概述 213

9.1.1 软件测试的定义 213

9.1.2 软件测试的重要性 215

9.1.3 软件测试与软件开发的关系 216

9.2 软件测试的工程应用 217

9.2.1 航空嵌入式软件测试 217

9.2.2 民机机载软件验证过程 222

9.2.3 GJB 5000A—2008的软件验证与确认过程 225

9.3 软件测试的研究内容 227

9.3.1 航空电子系统与软件测试技术 227

9.3.2 综合模块化航空电子系统软件测试 227

9.3.3 模型软件测试技术 231

第10章 软件质量保证 234

10.1 软件质量定义 235

10.1.1 软件质量概述 236

10.1.2 软件质量指标体系 237

10.1.3 软件质量模型 240

10.2 软件质量保证 248

10.3 软件开发质量保证 251

10.4 NASA定义的软件保证 254

第11章 软件可信性评估 261

11.1 软件可信性评估 263

11.1.1 基于软件开发过程的可信性评估 263

11.1.2 基于提交软件产品的可信性评估 266

11.1.3 基于软件产品应用阶段的可信性评估 267

11.2 评估方法 268

11.2.1 认知预演 268

11.2.2 启发式评估 268

11.2.3 用户测试法 269

11.3 NASA的软件评估 269

11.4 软件技术成熟度及其评估 270

11.4.1 技术成熟度的概念 274

11.4.2 软件技术成熟度(STRL)的定义 281

11.4.3 基于开发和使用维度的软件成熟度定义 288

11.4.4 软件成熟度评估(STRA) 294

11.4.5 系统成熟度等级(SRL) 294

第12章 软件可靠性 298

12.1 软件可靠性概念 298

12.1.1 软件可靠性定义 298

12.1.2 软件可靠性的特点 299

12.2 软件可靠性标准 299

12.2.1 IEEE的软件可靠性标准 299

12.2.2 我国软件可靠性标准 300

12.3 软件可靠性度量 301

12.3.1 IEEE可靠性度量参数体系 301

12.3.2 常用软件可靠性度量参数 302

12.4 软件可靠性评估 303

12.4.1 软件可靠性评估的目的 303

12.4.2 软件可靠性评估的时机 303

12.4.3 软件可靠性评估过程 304

12.4.4 软件可靠性评估模型 305

12.4.5 软件可靠性评估方法 306

12.5 软件可靠性分析 307

12.5.1 软件失效模式及影响分析 307

12.5.2 软件故障树分析 308

12.6 软件可靠性保障技术 309

12.6.1 软件避错技术 309

12.6.2 软件容错技术 311

第13章 软件安全性及其评估 313

13.1 机载软件与安全 313

13.2 软件安全性概述 313

13.2.1 软件安全性定义 313

13.2.2 软件安全性与系统安全性 314

13.2.3 软件安全性和硬件安全性 314

13.2.4 影响软件安全性的因素 315

13.2.5 软件安全性设计方法 316

13.3 对软件安全性的讨论 319

13.4 基于系统论的软件安全性分析方法 320

13.5 软件安全性设计工程措施 321

第3部分 机载软件及软件工程 325

第14章 机载嵌入式软件 325

14.1 操作系统 325

14.1.1 操作系统概述 325

14.1.2 嵌入式操作系统的概述 326

14.1.3 嵌入式操作系统的架构概述 328

14.1.4 机载嵌入式实时操作系统 332

14.2 嵌入式数据库 335

14.2.1 机载领域对数据库的要求 335

14.2.2 机载领域典型数据库介绍 337

14.2.3 后续研究的技术趋势 338

14.3 嵌入式文件系统 339

14.3.1 机载领域对文件系统的要求 339

14.3.2 机载领域典型文件系统介绍 339

14.3.3 后续研究的技术趋势 340

第15章 DO-178概要 342

15.1 适航与软件适航 342

15.2 DO-178的背景 344

15.2.1 DO-178 344

15.2.2 DO-178A 344

15.2.3 DO-178B 345

15.2.4 DO-178C 346

15.2.5 DO-178C主要变化 348

15.3 DO-178B/C的本质 351

15.4 机载软件研制和DO-178 352

15.5 面向适航的系统、软件与DO-178 353

15.6 DO-178B概要 357

15.6.1 DO-178B的基本架构 357

15.6.2 计划过程 359

15.6.3 软件开发过程 360

15.6.4 软件验证过程 361

15.6.5 软件配置管理过程 364

15.6.6 软件质量保证过程 365

15.6.7 合格审定联络过程 365

第16章 GJB 5000A—2008概要 366

16.1 GJB 5000A—2008概述 366

16.1.1 GJB 5000A—2008简介 366

16.1.2 GJB 5000A—2008与CMM的区别 366

16.1.3 发达国家CMM现状 367

16.2 实施GJB 5000A—2008的必要性 369

16.2.1 推进GJB 5000A—2008的必要性 369

16.2.2 GJB 5000A—2008推进的紧迫性 370

16.3 GJB 5000A—2008模型的结构及评价 372

16.3.1 GJB 5000A—2008各级别与过程域 372

16.3.2 过程域部件组成 374

16.3.3 GJB 5000A—2008过程域示例 376

16.4 GJB 5000A—2008推进的重点 378

16.4.1 GJB 5000A—2008推进的基本要求 378

16.4.2 实效推进的思路 379

第17章 知识管理 382

17.1 知识管理的必要性 382

17.2 知识管理的基本概念 383

17.2.1 什么是知识 383

17.2.2 什么是知识管理 384

17.2.3 知识管理的主要内容 385

17.2.4 知识管理的作用 386

17.3 实施知识管理的方法 387

17.3.1 知识管理及其关注点 387

17.3.2 知识管理:组织变革 387

17.3.3 知识管理系统及知识库 392

第4部分 一个可信性软件(天脉操作系统)的实践 401

第18章 天脉操作系统的研制策划 401

18.1 操作系统发展思路策划 401

18.1.1 操作系统与应用软件 401

18.1.2 天脉产生的必要性 403

18.1.3 早期原型与天脉操作系统研制 405

18.2 天脉操作系统研制目标 412

第19章 项目立项论证和研制总要求论证 414

19.1 项目立项论证 414

19.1.1 研制原则、目标、思路 414

19.1.2 必要性论证 415

19.1.3 可行性论证 417

19.1.4 工程实施方案论证 417

19.2 研制总要求论证 424

19.2.1 总体论证 425

19.2.2 指标体系论证 427

第20章 软件计划过程 430

20.1 制订计划 431

20.1.1 软件开发计划 431

20.1.2 软件配置管理计划 436

20.1.3 软件验证计划 437

20.1.4 软件质量保证计划 440

20.2 制定标准 441

20.2.1 软件需求标准 441

20.2.2 软件设计标准 444

20.2.3 软件编码标准 446

20.3 软件可靠性、安全性考虑 448

20.3.1 软件可靠性 448

20.3.2 软件安全性 450

第21章 软件开发过程实践 452

21.1 软件需求开发 452

21.1.1 需求开发过程 452

21.1.2 需求的表示 453

21.1.3 需求开发过程产品 456

21.2 软件设计开发 457

21.2.1 软件设计过程 457

21.2.2 关键技术设计 461

21.2.3 确定性的数据配置设计 465

21.3 软件实现 467

21.3.1 软件实现过程 467

21.3.2 代码安全性分析 467

21.3.3 软/硬件集成 468

21.4 软件验证 469

21.4.1 同行评审 469

21.4.2 软件测试 470

21.4.3 鲁棒性设计与测试 473

21.5 可靠性与安全性实践 473

21.5.1 可靠性 473

21.5.2 安全性 479

21.6 开发环境与OSS话题 481

21.6.1 开发环境组成 481

21.6.2 集成开源软件策略 482

21.6.3 开源软件缺陷处理原则 483

21.6.4 编译器验证 484

第22章 天脉操作系统定型阶段 487

22.1 软件定型测评 487

22.2 软件地面综合试验 488

22.3 应用软件空中试飞试验 489

22.4 天脉操作系统定型审查 490

第23章 天脉操作系统项目管理 491

23.1 项目管理策划 491

23.2 目标及范围管理 492

23.2.1 项目目标管理 493

23.2.2 项目范围管理 493

23.3 资源管理 495

23.3.1 项目团队建设 495

23.3.2 项目人力资源管理 500

23.3.3 项目外部资源管理 501

23.4 计划管理 502

23.4.1 项目总体计划制订 502

23.4.2 项目进程和活动控制 505

23.4.3 项目沟通管理 506

23.5 质量保证 507

23.5.1 质量保证组织的建立及其职责 507

23.5.2 质量保证的主要方法 507

23.5.3 质量保证数据 507

23.6 风险管理 508

缩略语 510

参考文献 516