图书介绍

安全关键软件开发与审定 DO-178C标准实践指南PDF|Epub|txt|kindle电子书版本网盘下载

安全关键软件开发与审定 DO-178C标准实践指南
  • (美)里埃森著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121259920
  • 出版时间:2015
  • 标注页数:342页
  • 文件大小:108MB
  • 文件页数:360页
  • 主题词:安全技术-软件开发-指南

PDF下载


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

下载说明

安全关键软件开发与审定 DO-178C标准实践指南PDF格式电子书版下载

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

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

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

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

图书目录

第一部分 引言2

第1章 引言和概览2

1.1 安全关键软件的定义2

1.2 安全性问题的重要性2

1.3 本书目的和重要提示4

1.4 本书概览5

第二部分 安全关键软件开发的语境8

第2章 系统语境中的软件8

2.1 系统开发概览8

2.2 系统需求10

2.2.1 系统需求的重要性10

2.2.2 系统需求的类型10

2.2.3 良好需求的特性10

2.2.4 系统需求考虑11

2.2.5 需求假设14

2.2.6 分配到软硬件项14

2.3 系统需求确认与验证14

2.3.1 需求确认14

2.3.2 实现验证15

2.3.3 确认与验证建议15

2.4 系统工程师最佳实践16

2.5 软件与系统的关系18

第3章 系统安全性评估语境中的软件20

3.1 航空器与系统安全性评估过程概览20

3.1.1 安全性工作计划20

3.1.2 功能危险评估21

3.1.3 系统功能危险评估22

3.1.4 初步航空器安全性评估22

3.1.5 初步系统安全性评估22

3.1.6 共同原因分析23

3.1.7 航空器安全性评估和系统安全性评估23

3.2 开发保证24

3.2.1 开发保证级别25

3.3 软件如何置入安全性过程25

3.3.1 软件的独特性25

3.3.2 软件开发保证26

3.3.3 其他视点27

3.3.4 在系统安全性过程关注软件的建议28

第三部分 使用DO-178C开发安全关键软件31

第4章 DO-178C及支持文件概览31

4.1 DO-178历史31

4.2 DO-178C和DO-278A核心文件33

4.2.1 DO-278A与DO-178C的不同37

4.2.2 DO-178C附件A目标表概览38

4.3 DO-330:软件工具鉴定考虑41

4.4 DO-178C技术补充41

4.4.1 DO-331:基于模型的开发补充42

4.4.2 DO-332:面向对象技术补充42

4.4.3 DO-333:形式化方法补充42

4.5 DO-248C:支持材料43

第5章 软件策划44

5.1 引言44

5.2 一般策划建议44

5.3 5个软件计划46

5.3.1 软件合格审定计划46

5.3.2 软件开发计划48

5.3.3 软件验证计划49

5.3.4 软件配置管理计划51

5.3.5 软件质量保证计划53

5.4 3个开发标准54

5.4.1 软件需求标准55

5.4.2 软件设计标准55

5.4.3 软件编码标准56

5.5 工具鉴定计划57

5.6 其他计划57

5.6.1 项目管理计划57

5.6.2 需求管理计划57

5.6.3 测试计划57

第6章 软件需求58

6.1 引言58

6.2 定义需求58

6.3 良好软件需求的重要性59

6.3.1 原因1:需求是软件开发的基础59

6.3.2 原因2:好的需求节省时间和金钱60

6.3.3 原因3:好的需求对安全性至关重要60

6.3.4 原因4:好的需求对满足客户需要是必需的61

6.3.5 原因5:好的需求对测试很重要61

6.4 软件需求工程师61

6.5 软件需求开发概览62

6.6 收集和分析软件需求的输入63

6.6.1 需求收集活动64

6.6.2 需求分析活动64

6.7 编写软件需求65

6.7.1 任务1:确定方法65

6.7.2 任务2:确定软件需求文档版式66

6.7.3 任务3:将软件需求划分为子系统和/或特征66

6.7.4 任务4:确定需求优先级67

6.7.5 一个简单迂回(不是一个任务):要避免的斜坡67

6.7.6 任务5:编档需求68

6.7.7 任务6:提供系统需求的反馈72

6.8 验证(评审)需求73

6.8.1 同行评审推荐实践74

6.9 管理需求76

6.9.1 需求管理基础76

6.9.2 需求管理工具77

6.10需求原型78

6.11可追踪性79

6.11.1 可追踪性的重要性和好处79

6.11.2 双向可追踪性79

6.11.3 DO-178C和可追踪性80

6.11.4 可追踪性挑战81

第7章 软件设计83

7.1 软件设计概览83

7.1.1 软件体系结构83

7.1.2 软件低层需求83

7.1.3 设计打包85

7.2 设计方法85

7.2.1 基于结构的设计(传统)85

7.2.2 面向对象的设计86

7.3 良好设计的特性86

7.4 设计验证89

第8章 软件实现:编码与集成91

8.1 引言91

8.2 编码91

8.2.1 DO-178C编码指南概览91

8.2.2 安全关键软件中使用的语言92

8.2.3 选择一种语言和编译器94

8.2.4 编程的一般建议95

8.2.5 代码相关的特别话题102

8.3 验证源代码103

8.4 开发集成104

8.4.1 构建过程104

8.4.2 加载过程105

8.5 验证开发集成105

第9章 软件验证106

9.1 引言106

9.2 验证的重要性106

9.3 独立性与验证107

9.4 评审108

9.4.1 软件计划评审108

9.4.2 软件需求、设计和代码评审108

9.4.3 测试资料评审108

9.4.4 其他资料项评审108

9.5 分析109

9.5.1 最坏情况执行时间分析109

9.5.2 内存余量分析110

9.5.3 链接和内存映像分析110

9.5.4 加载分析111

9.5.5 中断分析111

9.5.6 数学分析111

9.5.7 错误和警告分析112

9.5.8 分区分析112

9.6 软件测试112

9.6.1 软件测试的目的112

9.6.2 DO-178C软件测试指南概览114

9.6.3 测试策略综述115

9.6.4 测试策划119

9.6.5 测试开发120

9.6.6 测试执行122

9.6.7 测试报告124

9.6.8 测试可追踪性124

9.6.9 回归测试124

9.6.10 易测试性125

9.6.11 验证过程中的自动化125

9.7 验证的验证126

9.7.1 测试规程评审127

9.7.2 测试结果的评审127

9.7.3 需求覆盖分析127

9.7.4 结构覆盖分析128

9.8 问题报告134

9.9 验证过程建议136

第10章 软件配置管理140

10.1 引言140

10.1.1 什么是软件配置管理140

10.1.2 为何需要软件配置管理140

10.1.3 谁负责实现软件配置管理141

10.1.4 软件配置管理涉及什么142

10.2 SCM活动142

10.2.1 配置标识142

10.2.2 基线143

10.2.3 可追踪性143

10.2.4 问题报告143

10.2.5 变更控制和评审146

10.2.6 配置状态记录147

10.2.7 发布147

10.2.8 归档和提取148

10.2.9 资料控制类148

10.2.10加载控制149

10.2.11软件生命周期环境控制150

10.3 特别SCM技能150

10.4 SCM资料151

10.4.1 SCM计划151

10.4.2 问题报告151

10.4.3 软件生命周期环境配置索引151

10.4.4 软件配置索引151

10.4.5 SCM记录152

10.5 SCM陷阱152

10.6 变更影响分析154

第11章 软件质量保证157

11.1 引言:软件质量和软件质量保证157

11.1.1 定义软件质量157

11.1.2 高质量软件的特性157

11.1.3 软件质量保证158

11.1.4 常见质量过程和产品问题的例子159

11.2 有效和无效SQA的特征159

11.2.1 有效的SQA159

11.2.2 无效的SQA160

11.3 SQA活动161

第12章 合格审定联络164

12.1 什么是合格审定联络164

12.2 与合格审定机构的沟通164

12.2.1 与合格审定机构协调的最佳实践165

12.3 软件完成总结167

12.4 介入阶段审核168

12.4.1 SOI审核概览168

12.4.2 软件作业辅助概览169

12.4.3 使用软件作业辅助171

12.4.4 对审核者的一般建议171

12.4.5 对被审核者的一般建议176

12.4.6 SOI评审细节177

12.5 合格审定飞行测试之前的软件成熟度184

第四部分 工具鉴定和DO-178C补充186

第13章 DO-330和软件工具鉴定186

13.1 引言186

13.2 确定工具鉴定需要和级别(DO-178C的12.2节)187

13.3 鉴定一个工具(DO-330概览)190

13.3.1 DO-330的需要190

13.3.2 DO-330工具鉴定过程190

13.4 工具鉴定特别话题197

13.4.1 FAA规定8110.49197

13.4.2 工具确定性197

13.4.3 额外的工具鉴定考虑198

13.4.4 工具鉴定陷阱199

13.4.5 DO-330和DO-178C补充200

13.4.6 DO-330用于其他领域200

第14章 DO-331和基于模型的开发与验证201

14.1 引言201

14.2 基于模型开发的潜在好处202

14.3 基于模型开发的潜在风险204

14.4 DO-331概览206

14.5 合格审定机构对DO-331的认识210

第15章 DO-332和面向对象技术及相关技术211

15.1 面向对象技术介绍211

15.2 OOT在航空中的使用211

15.3 航空手册中的OOT212

15.4 FAA资助的OOT和结构覆盖研究212

15.5 DO-332概览213

15.5.1 策划213

15.5.2 开发213

15.5.3 验证213

15.5.4 脆弱性214

15.5.5 类型安全214

15.5.6 相关技术214

15.5.7 常见问题214

15.6 OOT建议215

15.7 结论215

第16章 DO-333和形式化方法216

16.1 形式化方法介绍216

16.2 什么是形式化方法217

16.3 形式化方法的潜在好处218

16.4 形式化方法的挑战219

16.5 DO-333概览220

16.5.1 DO-333的目的220

16.5.2 DO-333与DO-178C的比较220

16.6 其他资源222

第五部分 特别专题224

第17章 未覆盖代码(无关、无效和非激活代码)224

17.1 引言224

17.2 无关和无效代码224

17.2.1 避免无关和无效代码的晚发现225

17.2.2 评价无关或无效代码225

17.3 非激活代码227

17.3.1 策划229

17.3.2 开发229

17.3.3 验证230

第18章 现场可加载软件231

18.1 引言231

18.2 什么是现场可加载软件231

18.3 现场可加载软件的好处231

18.4 现场可加载软件的挑战232

18.5 开发和加载现场可加载软件232

18.5.1 开发系统成为现场可加载的232

18.5.2 开发现场可加载软件233

18.5.3 加载现场可加载软件233

18.5.4 修改现场可加载软件234

18.6 总结234

第19章 用户可修改软件235

19.1 引言235

19.2 什么是用户可修改软件235

19.3 UMS例子236

19.4 为UMS设计系统236

19.5 修改和维护UMS238

第20章 实时操作系统240

20.1 引言240

20.2 什么是RTOS240

20.3 为什么使用RTOS241

20.4 RTOS内核及其支持软件241

20.4.1 RTOS内核242

20.4.2 应用编程接口242

20.4.3 主板支持包243

20.4.4 设备驱动243

20.4.5 支持库244

20.5 安全关键系统中使用的RTOS的特性244

20.5.1 确定性244

20.5.2 可靠的性能244

20.5.3 硬件兼容244

20.5.4 环境兼容244

20.5.5 容错244

20.5.6 健康监控245

20.5.7 可审定245

20.5.8 可维护245

20.5.9 可复用246

20.6 安全关键系统中使用的RTOS的特征246

20.6.1 多任务246

20.6.2 有保证和确定性的可调度性246

20.6.3 确定性的任务间通信248

20.6.4 可靠的内存管理248

20.6.5 中断处理248

20.6.6 钩子函数249

20.6.7 健壮性检查249

20.6.8 文件系统249

20.6.9 健壮分区249

20.7 需考虑的RTOS问题250

20.7.1 要考虑的技术问题250

20.7.2 要考虑的合格审定问题252

20.8 其他的RTOS相关话题254

20.8.1 ARINC 653概览254

20.8.2 工具支持256

20.8.3 开源RTOS256

20.8.4 多核处理器、虚拟化和虚拟机管理器257

20.8.5 保密性257

20.8.6 RTOS选择问题257

第21章 软件分区258

21.1 引言258

21.1.1 分区:保护的一个子集258

21.1.2 DO-178C和分区258

21.1.3 健壮分区259

21.2 共享内存(空间分区)260

21.3 共享中央处理器(时间分区)261

21.4 共享输入/输出262

21.5 一些与分区相关的挑战262

21.5.1 直接内存访问262

21.5.2 高速缓存263

21.5.3 中断263

21.5.4 分区之间通信263

21.6 分区的建议264

第22章 配置数据268

22.1 引言268

22.2 术语和例子268

22.3 DO-178C关于参数数据的指南总结269

22.4 建议270

第23章 航空数据274

23.1 引言274

23.2 DO-200A:航空数据处理标准274

23.3 FAA咨询通告AC 20-153A277

23.4 用于处理航空数据的工具278

23.5 与航空数据相关的其他工业文件278

23.5.1 DO-201A:航空信息标准279

23.5.2 DO-236B:航空系统性能最低标准:区域导航要求的导航性能279

23.5.3 DO-272C:机场地图信息的用户需求279

23.5.4 DO-276A:地形和障碍数据的用户需求279

23.5.5 DO-291B:地形、障碍和机场地图数据互换标准279

23.5.6 ARINC 424:导航系统数据库标准279

23.5.7 ARINC 816-1:机场地图数据库的嵌入式互换格式280

第24章 软件复用281

24.1 引言281

24.2 设计可复用构件282

24.3 复用先前开发的软件285

24.3.1 为在民用航空产品中使用而评价PDS285

24.3.2 复用未使用DO-178[ ]开发的PDS289

24.3.3 COTS软件的额外考虑290

24.4 产品服役历史292

24.4.1 产品服役历史的定义292

24.4.2 使用产品服役历史寻求置信度的困难292

24.4.3 使用产品服役历史声明置信度时考虑的因素292

第25章 逆向工程294

25.1 引言294

25.2 什么是逆向工程294

25.3 逆向工程的例子295

25.4 逆向工程时要考虑的问题295

25.5 逆向工程的建议296

第26章 外包和离岸外包软件生命周期活动301

26.1 引言301

26.2 外包的原因302

26.3 外包的挑战和风险302

26.4 克服挑战和风险的建议305

26.5 总结311

附录A转换准则举例312

附录B 实时操作系统关注点318

附录C为安全关键系统选择实时操作系统时考虑的问题321

附录D软件服役历史问题324

缩略语327

参考文献332

热门推荐