《航天型号软件工程》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:杨海成主编;乔永强,许胜,石柱副主编
  • 出 版 社:北京:中国宇航出版社
  • 出版年份:2011
  • ISBN:9787802184176
  • 页数:233 页
图书介绍:本书阐述了软件工程的基本概念,介绍了航天型号软件工程各个阶段的工作内容,提供了丰富的工程研制经验。

第1章 航天型号软件与软件工程概述 1

1.1 概述 1

1.1.1 软件概述 1

1.1.2 航天软件及航天型号软件的组成及特点 2

1.1.3 航天型号软件的关键性划分原则 4

1.2 软件工程的基本原则及工作内容 5

1.2.1 软件工程与系统工程 5

1.2.2 软件工程的工作内容 6

1.2.3 软件能力成熟度模型 8

1.3 航天型号软件工程化 12

1.3.1 软件设计与系统设计的关系 12

1.3.2 航天型号软件研制的分阶段过程 12

1.3.3 型号软件研制各阶段的技术工作 14

1.4 型号软件研制的组织与管理 18

1.4.1 型号软件研制的组织与职责 18

1.4.2 型号软件研制的策划 19

1.4.3 型号软件研制各阶段的管理任务 19

1.5 本章小结 23

第2章 软件需求分析 24

2.1 概述 24

2.1.1 软件需求分析阶段的目的和任务 24

2.1.2 软件需求分析的重要性 24

2.2 软件任务书的一般要求 25

2.2.1 系统需求分析与设计阶段与软件任务书有关的任务 25

2.2.2 软件任务书的基本要求 26

2.2.3 软件任务书的格式及内容要求 27

2.3 软件需求分析的工作过程 28

2.3.1 需求信息的获取和记录 29

2.3.2 需求规格说明的编写 30

2.3.3 需求规格说明的检查与确认 31

2.3.4 需求评审 31

2.3.5 需求分析管理 31

2.4 编写“软件需求规格说明”的要求 31

2.4.1 需求规格说明的主要内容 31

2.4.2 “软件需求规格说明”的格式 32

2.4.3 需求规格说明的质量要求 42

2.5 软件需求的编写要点 42

2.5.1 功能需求的编写 42

2.5.2 性能需求的编写 46

2.5.3 可靠性需求和安全性需求的编写 47

2.6 软件需求文档中经常出现的问题 47

2.6.1 一般问题 47

2.6.2 软件功能方面的问题 47

2.6.3 需求中实体方面的问题 47

2.6.4 性能需求方面的问题 47

2.6.5 安全性、可靠性方面的问题 48

2.7 “软件需求规格说明”的检查和验证方法 48

2.7.1 人工检查 48

2.7.2 采用结构化方法检查 50

2.7.3 采用仿真模型检查 51

2.7.4 采用形式化方法检查 51

2.8 本章小结 52

第3章 软件概要设计 53

3.1 概述 53

3.2 结构化设计的概念和原则 54

3.2.1 抽象与细化求精 54

3.2.2 模块化与信息隐蔽 54

3.2.3 有效的模块设计——模块独立性 54

3.2.4 软件的体系结构 57

3.2.5 程序结构 57

3.3 概要设计阶段的工作过程 57

3.3.1 复核并理解软件需求文档 58

3.3.2 建立物理模型 58

3.3.3 编写概要设计说明 59

3.3.4 编写组装测试初步计划 59

3.3.5 概要设计阶段评审 59

3.4 软件的结构化设计的图形工具 60

3.4.1 HIPO图 60

3.4.2 结构图 60

3.4.3 状态转移表 60

3.5 面向数据流的设计方法 61

3.5.1 变换型结构映射 61

3.5.2 事务型结构映射 63

3.5.3 优化程序结构设计 64

3.6 实时嵌入式系统软件的设计 66

3.6.1 实时系统概述 66

3.6.2 任务调度策略 68

3.6.3 实时系统的软件任务结构化设计 71

3.7 概要设计的质量要求 73

3.8 概要设计文档的基本内容 74

3.8.1 GB/T 8567-2006格式的“软件概要设计说明”模板 74

3.8.2 QJ 1912.7-2003格式的“软件概要设计说明”的内容安排 78

3.9 本章小结 80

第4章 软件详细设计与实现 81

4.1 概述 81

4.1.1 详细设计的基本概念 81

4.1.2 详细设计的任务和内容 81

4.1.3 详细设计文档的用途 82

4.1.4 详细设计的质量要求 82

4.2 详细设计工作过程 83

4.2.1 理解概要设计 83

4.2.2 细化软件部件,形成软件单元 83

4.2.3 规定软件单元间接口 84

4.2.4 设计算法和细节 84

4.2.5 进行过程描述 84

4.2.6 进行可靠性、安全性设计 84

4.2.7 编写详细设计说明 84

4.2.8 编写初步单元测试计划 84

4.2.9 建立并填写单元开发卷宗 85

4.2.10 详细设计评审 85

4.3 详细设计方法和技术 85

4.3.1 结构化程序设计(简称SP方法) 85

4.3.2 软件可靠性、安全性设计 86

4.3.3 详细设计工具 86

4.4 详细设计文档格式 91

4.5 软件实现的任务与过程 91

4.5.1 理解“详细设计” 92

4.5.2 编程和编译/汇编 92

4.5.3 代码调试 93

4.5.4 静态分析与单元测试 93

4.5.5 安全性关键单元检查和评审 93

4.6 软件实现的技术和方法 93

4.6.1 结构化编程方法 93

4.6.2 一般软件的编程规则 94

4.6.3 安全性关键软件的编程规则 98

4.6.4 “航天器软件编程约定”简介 98

4.7 编程的质量要求 99

4.8 本章小结 99

第5章 软件测试 100

5.1 概述 100

5.1.1 软件测试的基本概念 100

5.1.2 软件测试的基本原则 100

5.1.3 软件测试的重要性和局限性 101

5.2 各软件研制阶段的测试活动及要求 102

5.2.1 软件测试的基本活动 102

5.2.2 单元测试 105

5.2.3 组装测试 107

5.2.4 确认测试 108

5.2.5 第三方独立确认测试 109

5.2.6 系统联试 110

5.2.7 回归测试 111

5.2.8 其他阶段的测试 113

5.3 主要测试内容 113

5.3.1 功能测试 114

5.3.2 性能测试 115

5.3.3 边界测试和余量测试 116

5.3.4 强度测试 116

5.3.5 可靠性测试和安全性测试 117

5.3.6 其他常见测试类型 117

5.4 软件测试技术及工具 117

5.4.1 静态测试技术 118

5.4.2 测试用例设计技术 119

5.4.3 测试覆盖率分析技术 121

5.4.4 嵌入式测试环境搭建技术 123

5.4.5 软件测试工具与环境 123

5.5 测试质量的控制 125

5.5.1 测试过程的控制要素 125

5.5.2 测试机构的组织管理 126

5.5.3 测试组织的测试能力成熟度模型 126

5.6 本章小结 128

第6章 软件验收、交付与维护 129

6.1 概述 129

6.2 软件产品的验收和交付 129

6.2.1 验收的级别和条件 129

6.2.2 验收和交付过程 129

6.2.3 软件研制报告 132

6.3 软件定型 133

6.3.1 软件定型的级别 133

6.3.2 软件定型程序 133

6.4 软件维护 136

6.4.1 软件维护的相关知识 136

6.4.2 航天型号软件维护的一般要求 138

6.4.3 软件可维护性 139

6.4.4 提高软件可维护性的方法 140

6.4.5 软件维护的过程 142

6.5 星载软件的在轨维护问题 144

6.6 软件维护的其他问题 145

6.6.1 维护工具 145

6.6.2 软件维护与软件重新设计 145

6.7 程序维护手册文档 145

6.8 本章小结 145

第7章 软件可靠性与安全性 146

7.1 概述 146

7.1.1 软件可靠性 146

7.1.2 软件安全性 147

7.1.3 软件可靠性与软件安全性 147

7.1.4 软件的可靠性和安全性与其他产品的可靠性和安全性 148

7.2 软件失效机理与软件可靠性和安全性措施 150

7.2.1 软件失效机理 150

7.2.2 软件可靠性和安全性措施 152

7.3 软件研制各阶段的软件可靠性和安全性要求 154

7.3.1 系统需求分析和设计阶段 154

7.3.2 软件需求分析阶段 155

7.3.3 软件概要设计阶段 156

7.3.4 软件详细设计阶段 157

7.3.5 软件实现阶段 158

7.3.6 软件集成和验收测试阶段 158

7.3.7 软件运行和维护阶段 159

7.4 软件可靠性和安全性方法 159

7.4.1 故障树分析(SFTA) 159

7.4.2 软件故障模式及影响分析(SFMEA) 162

7.4.3 恢复块 166

7.4.4 数据冗余 167

7.4.5 软件可靠性和安全性设计检查单 168

7.4.6 软件可靠性度量 171

7.4.7 软件可靠性评价 178

7.5 本章小结 180

第8章 软件配置管理 181

8.1 概述 181

8.1.1 配置和配置管理 181

8.1.2 配置管理的基本要求 182

8.1.3 基线 182

8.1.4 配置管理库 183

8.1.5 配置管理的组织结构和职责 183

8.1.6 配置管理工具 184

8.2 配置管理活动 184

8.2.1 配置标识 184

8.2.2 配置控制 186

8.2.3 配置记录和状态报告 188

8.2.4 配置审核(审计) 188

8.2.5 产品发放及其他 189

8.3 配置管理计划 189

8.3.1 配置管理计划的必要性 189

8.3.2 配置管理计划格式 189

8.4 本章小结 194

第9章 软件工程环境 198

9.1 概述 198

9.2 软件工程环境的构成 198

9.2.1 软件工程环境的主要组成及其关系 198

9.2.2 软件工程环境主要构成工具介绍 199

9.3 软件工程环境的集成和应用 203

9.3.1 软件工程环境的集成 203

9.3.2 软件工程环境的应用 204

9.4 本章小结 205

第10章 软件产品保证 206

10.1 概述 206

10.2 软件产品保证管理 206

10.2.1 工作体系 206

10.2.2 组织和职责 207

10.2.3 软件产品保证程序 207

10.2.4 软件问题报告系统 209

10.2.5 风险管理和关键项控制 210

10.2.6 外协单位的控制 210

10.2.7 评估和改进过程 210

10.3 软件产品过程保证 211

10.3.1 软件生存周期 211

10.3.2 适用于所有软件工程过程的产品保证 211

10.3.3 适用于单个软件工程过程的产品保证 214

10.3.4 培训 217

10.4 软件产品质量保证 218

10.4.1 产品质量需求 218

10.4.2 产品度量 219

10.4.3 验证和确认 219

10.4.4 评审 220

10.4.5 软件质量与可靠性数据包 223

10.4.6 质量数据收集分析 223

10.5 本章小结 223

第11章 航天型号软件工程发展展望 224

11.1 概述 224

11.2 航天型号软件工程发展动态 224

11.2.1 推进软件产品化 224

11.2.2 全面保证软件可信性与安全性 225

11.2.3 广泛采用工具环境 225

11.2.4 实施基于CMMI的过程改进 225

11.3 用系统工程方法提升航天软件工程化水平 226

11.3.1 开展型号信息系统总体分析与设计 226

11.3.2 加强软件工程的系统管理 226

11.3.3 系统提高软件工程技术水平 227

11.4 本章小结 227

附录 缩略语列表 228

参考文献 230