航天型号软件工程方法与技术

航天型号软件工程方法与技术

王忠贵, 刘姝, 编著

出版社:中国宇航出版社

年代:2015

定价:98.0

书籍简介:

本书分析了国内外航天软件工程实施情况,介绍了航天型号软件研制过程和管理内容,并深入阐述了软件研制各阶段、软件项目管理与计划、软件配置管理和软件质量保证等涉及的理论、方法和相关技术,详细分析了模型驱动软件开发方法和形式化开发方法在我国航天软件工程中的应用前景,能够系统地指导航天型号软件工程实施。本书可供航天型号软件的设计人员、开发人员、测试人员、管理人员,以及相关专业人员阅读参考

书籍目录:

第1章 概 述 1

1.1 软件工程的概念 1

1.1.1 软件工程定义 1

1.1.2 软件工程的基本约束 2

1.1.3 软件工程的研究内容 5

1.2 航天实施软件工程的必要性 9

1.2.1 软件质量问题影响型号任务成败 9

1.2.2 航天型号软件研制面临挑战 14

第2章 航天型号软件工程化的要素和方法 16

2.1 航天型号软件的分类 16

2.2 航天型号软件工程的核心要素 17

2.2.1 软件开发过程 18

2.2.2 软件开发方法 26

2.2.3 软件工程工具 29

2.3 航天型号软件工程的管理内容 33

2.3.1 策划管理 33

2.3.2 需求管理 33

2.3.3 过程追踪与监控 33

2.3.4 配置管理 33

2.3.5 过程与产品质量保证 33

2.3.6 外协管理 34

2.3.7 评审管理 34

2.3.8 文档管理 34

2.3.9 开发工具的使用管理 34

第3章 国外航天型号的软件工程化情况 35

3.1 软件过程改进标准和方法 35

3.1.1 ISO 9000 35

3.1.2 CMM和CMMI 35

3.2 NASA软件工程化实践 39

3.2.1 NASA软件研制的管理体系 40

3.2.2 NASA标准规范与流程 40

3.3 ESA软件工程化实践 48

3.3.1 ESA软件研制的管理体系 49

3.3.2 ESA标准规范与流程 51

第4章 国内航天型号软件工程化情况 57

4.1 航天型号软件工程化概述 57

4.2 载人航天工程软件工程化发展历程 58

4.2.1 启动探索期 58

4.2.2 全面实施期 59

4.2.3 巩固发展期 59

4.2.4 软件工程化成绩 60

4.3 载人航天工程软件工程化标准体系 61

4.3.1 管理规定 62

4.3.2 技术标准 63

第5章 航天型号软件研制过程 66

5.1 技术流程分类 66

5.1.1 新研软件技术流程 67

5.1.2 沿用软件技术流程 67

5.1.3 参数修改软件技术流程 68

5.1.4 适应性修改软件技术流程 69

5.2 系统级分析与设计 70

5.2.1 系统分析与设计 71

5.2.2 分系统分析与设计 74

5.3 软件需求分析 77

5.3.1 输入与输出 77

5.3.2 工作内容 78

5.3.3 出口准则 79

5.4 软件设计 80

5.4.1 概要设计 80

5.4.2 详细设计 82

5.5 软件实现 84

5.5.1 输入与输出 84

5.5.2 工作内容 85

5.5.3 出口准则 86

5.6 软件测试 86

5.6.1 软件集成测试 86

5.6.2 软件配置项测试 88

5.7 系统测试 89

5.7.1 软件系统测试 89

5.7.2 系统试验验证 91

5.8 验收交付 93

5.9 运行维护 93

5.9.1 输入与输出 93

5.9.2 工作内容 93

5.9.3 出口准则 94

第6章 系统级分析与设计 95

6.1 概述 95

6.2 系统分解方法 96

6.2.1 产品分解结构 96

6.2.2 功能流框图 97

6.2.3 软件结构HIPO图 98

6.3 软硬件协同设计 99

6.3.1 软硬件协同设计定义 100

6.3.2 软硬件协同设计与仿真验证 101

6.3.3 软硬件协同设计平台 102

6.4 软件复用与外购 104

6.4.1 已有软件复用过程 104

6.4.2 软件复用技术 105

第7章 软件需求分析 110

7.1 概述 110

7.1.1 需求的定义 110

7.1.2 需求的类型 112

7.1.3 需求分析原则 113

7.2 结构化需求分析方法 114

7.2.1 数据流图 115

7.2.2 数据字典 117

7.2.3 加工规格说明 118

7.2.4 实体-关系图 118

7.2.5 数据对象描述 119

7.2.6 状态迁移图 119

7.3 面向对象的需求分析方法 119

7.3.1 面向对象分析方法概述 120

7.3.2 识别分析类和对象 122

7.3.3 定义类之间的关系 123

7.3.4 标识类的属性和服务 124

7.4 软件需求管理 126

7.4.1 内容与要求 126

7.4.2 需求追踪方法 127

7.4.3 需求管理工具 128

第8章 软件设计 131

8.1 概述 131

8.2 软件设计的原则 132

8.2.1 模块化 132

8.2.2 抽象 135

8.2.3 逐步求精 135

8.2.4 信息隐藏 135

8.3 结构化软件设计方法 135

8.3.1 面向数据流的设计方法 135

8.3.2 面向数据结构的设计方法 140

8.3.3 结构化程序设计图形工具 143

8.4 面向对象软件设计方法 147

8.4.1 系统设计与对象设计 148

8.4.2 面向对象程序设计 148

8.4.3 面向对象设计工具 150

8.5 数据库结构设计 151

第9章 软件实现 153

9.1 概述 153

9.1.1 编程语言分类 153

9.1.2 编程语言的选择 155

9.2 编程风格与编码规范 156

9.2.1 程序设计风格 156

9.2.2 C语言编码规范 161

9.3 高安全可靠的软件编码环境 167

9.3.1 编译器对软件安全可靠性的影响 167

9.3.2 安全可信编译器 167

第10章 软件测试 170

10.1 概述 170

10.1.1 测试策划 170

10.1.2 测试设计与实现 170

10.1.3 测试执行 171

10.1.4 测试总结 171

10.2 测试方法 172

10.2.1 静态测试 172

10.2.2 动态测试 172

10.3 软件单元测试 179

10.3.1 单元测试的内容 180

10.3.2 单元测试的方法 182

10.4 软件集成测试 187

10.4.1 集成测试的内容 188

10.4.2 集成测试的方法 188

10.5 软件配置项测试 190

10.5.1 功能测试 190

10.5.2 性能测试 190

10.5.3 接口测试 191

10.5.4 人机交互界面测试 191

10.5.5 强度测试 191

10.5.6 余量测试 192

10.5.7 恢复性测试 192

10.5.8 安装性测试 193

10.5.9 边界测试 193

10.5.10 安全性测试 193

10.5.11 互操作性测试 194

10.5.12 敏感性测试 194

10.5.13 数据处理测试 194

10.5.14 容量测试 195

10.6 系统测试 195

10.6.1 软件系统测试 195

10.6.2 系统试验验证 195

10.7 回归测试 196

10.8 第三方测评 196

10.9 软件测试工具 197

10.9.1 静态分析工具 197

10.9.2 单元测试工具 199

10.9.3 嵌入式软件白盒测试工具 200

10.9.4 测试管理工具 201

第11章 软件运行维护 202

11.1 概述 202

11.1.1 软件维护的定义 202

11.1.2 影响维护工作量的因素 203

11.1.3 软件可维护性 204

11.2 软件维护的实施 207

11.2.1 维护机构 207

11.2.2 维护的流程 207

11.3 遗留系统的再工程 209

11.3.1 遗留系统的演化 209

11.3.2 软件再工程和逆向工程 210

第12章 软件安全可靠性 214

12.1 概述 214

12.1.1 安全关键软件定义 215

12.1.2 安全关键软件开发难点和挑战 216

12.2 安全关键软件开发过程 217

12.2.1 软件安全计划 219

12.2.2 系统/分系统设计与分析 220

12.2.3 软件安全性需求开发 232

12.2.4 软件安全性设计 246

12.2.5 软件安全性实现 250

12.2.6 软件安全性测试 250

12.2.7 软件运行维护 250

12.2.8 软件安全性追踪分析及软件变更安全性分析 251

12.3 软件可靠性设计和测试验证 252

12.3.1 软件可靠性分配与预计 252

12.3.2 软件可靠性设计 255

12.3.3 软件可靠性分析 256

12.3.4 软件可靠性测试 258

12.3.5 软件可靠性评估 259

第13章 软件项目管理与计划 262

13.1 概述 262

13.2 软件项目管理过程 262

13.2.1 启动软件项目 263

13.2.2 成本估算 263

13.2.3 风险分析 263

13.2.4 进度安排 264

13.2.5 追踪和控制 264

13.3 软件开发计划的实现过程 264

13.3.1 计划初始阶段 264

13.3.2 制订软件开发计划 265

13.3.3 对软件开发计划进行审查和批准 265

13.3.4 实施软件开发计划 265

13.3.5 软件开发过程的度量和评价 265

13.3.6 修改软件开发计划 265

13.4 软件开发成本估算 266

13.4.1 基于参数化模型的软件成本估算 266

13.4.2 非参数化的软件成本估算 271

(13-6) 272

13.5 进度安排 272

13.5.1 制订开发进度计划 273

13.5.2 进度安排的图形方法 273

13.5.3 追踪与控制 274

13.6 风险管理 274

13.6.1 风险识别 274

13.6.2 风险估算 275

13.6.3 风险评价 275

13.6.4 风险监控与应对 275

第14章 配置管理 277

14.1 概述 277

14.1.1 术语和定义 278

14.1.2 配置管理库 280

14.1.3 配置管理的组织和职责 281

14.2 配置管理流程 282

14.2.1 制订配置管理计划 283

14.2.2 建立配置管理系统 286

14.2.3 创建和发布基线 287

14.2.4 跟踪与控制变更 288

14.2.5 配置记录和报告 291

14.2.6 配置审核 292

14.3 技术状态控制 293

14.3.1 系统级分析与设计 293

14.3.2 软件需求分析 293

14.3.3 软件设计 294

14.3.4 软件实现 294

14.3.5 软件测试 294

14.3.6 验收交付 295

14.3.7 运行维护 295

14.4 配置管理工具 296

14.4.1 常用配置管理工具 296

14.4.2 选型与使用注意事项 297

第15章 软件质量保证 299

15.1 概述 299

15.2 质量保障组织机构 299

15.3 质量保证流程 300

15.3.1 制订软件质量保证计划 302

15.3.2 实施软件质量保证活动 303

15.3.3 不符合项处理 306

15.3.4 质量保证维护 307

15.4 软件评审 307

15.4.1 评审的分类 307

15.4.2 评审原则 309

15.4.3 评审计划 309

15.4.4 评审流程 309

第16章 模型驱动软件开发方法 311

16.1 概述 311

16.2 模型驱动架构 315

16.3 体系结构描述语言 318

16.3.1 UML 318

16.3.2 SysML 319

16.3.3 AADL 320

16.3.4 MARTE 323

16.3.5 比较分析 324

16.4 模型驱动开发方法的关键技术 325

16.4.1 需求分析 325

16.4.2 面向领域的建模语言语义扩展 326

16.4.3 模型转换 329

16.4.4 代码生成 329

16.4.5 基于模型的验证技术 330

16.4.6 部署与重构 330

16.5 工具支持 331

16.5.1 商业工具 331

16.5.2 开源工具 332

16.5.3 领域模型驱动开发环境研制 336

16.6 小结 337

第17章 形式化软件开发方法 339

17.1 概述 339

17.2 形式化方法的选用原则 341

17.2.1 形式化程度 341

17.2.2 形式化方法的使用范围 342

17.2.3 合理的预期 343

17.3 形式化软件开发过程 343

17.3.1 软件系统刻画阶段 343

17.3.2 建模阶段 344

17.3.3 规约阶段 344

17.3.4 分析阶段 345

17.3.5 归档阶段 345

17.3.6 维护阶段 345

17.4 需求描述及形式化 346

17.4.1 需求捕捉的层次 346

17.4.2 需求陈述的明确性 346

17.4.3 需求追踪性 347

17.4.4 底层原理和直观描述的可用性 347

17.5 形式化建模 347

17.5.1 数学模型 348

17.5.2 离散和连续域的数学模型 349

17.6 形式化规格说明 353

17.6.1 形式化规范语言 353

17.6.2 形式化规范语言风格 355

17.6.3 形式化规范和生命周期的关系 355

17.6.4 检测形式化规格说明中的错误 356

17.6.5 形式化规格说明的效用 358

17.7 形式化分析 360

17.7.1 自动演绎 360

17.7.2 有限状态方法 363

17.8 工具支持 364

17.8.1 模型验证工具 364

17.8.2 定理证明工具 365

17.9 小结 365

17.9.1 应用类型 366

17.9.2 规模和结构 366

17.9.3 类型选择 366

17.9.4 形式化级别 366

17.9.5 使用范围 366

17.9.6 工具支持 366

参考文献

内容摘要:

《航天型号软件工程方法与技术》在分析国内外航天软件工程实施情况的基础上,全面介绍了航天型号软件研制过程和管理内容,并深入阐述了软件研制各阶段、软件项目管理与计划、软件配置管理和软件质量保证等涉及的理论、方法和相关技术,详细分析了模型驱动软件开发方法和形式化开发方法在我国航天软件工程中的应用前景,不仅能够系统、全面地指导航天型号软件工程的实施,还对航天型号软件工程的发展进行了探讨。
  航天型号软件研制引入软件工程思想是任务顺利实施的重要保障。航天软件工程标准体系建设、技术和方法研究、软件研制和管理队伍培养等方面取得了显著成果。但是,软件工程化标准实施过程缺乏系统化的指南。本书结合作者多年从事载人航天工程软件工程工作的实践,在分析国内外航天软件工程实施情况的基础上,系统地总结和介绍了航天型号软件工程研制的过程、技术与管理方法;具有较高的学术水平与实践指导意义。

编辑推荐:

《航天型号软件工程方法与技术》主要面向的读者是航天型号软件的设计人员、开发人员、测试人员以及管理人员,也可以作为相关专业人员了解和掌握航天型号软件工程的参考书。

书籍规格:

书籍详细信息
书名航天型号软件工程方法与技术站内查询相似图书
9787515908953
如需购买下载《航天型号软件工程方法与技术》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位中国宇航出版社
版次1版印次1
定价(元)98.0语种简体中文
尺寸21 × 15装帧精装
页数印数

书籍信息归属:

航天型号软件工程方法与技术是中国宇航出版社于2015.3出版的中图分类号为 V4-39 的主题关于 航天-应用软件工程 的书籍。