航天型号软件工程方法与技术
《航天型号软件工程方法与技术》,作者:王忠贵,刘姝,出版社: 中国宇航出版社。
书籍是用文字、图画和其他符号,在一定材料上记录各种知识,清楚地表达思想[1],并且制装成卷册的著作物,为传播各种知识和思想,积累人类文化[2]的重要工具。
目录
内容简介
《□□型号软件工程方法与技术》在分析国内外□□软件工程实施情况的基础上,全面介绍了□□型号软件研制过程和管理内容,并深入阐述了软件研制各阶段、软件项目管理与计划、软件配置管理和软件质量保证等涉及的理论、方法和相关技术,详细分析了模型驱动软件开发方法和形式化开发方法在我国□□软件工程中的应用前景,不仅能够系统、全面地指导□□型号软件工程的实施,还对□□型号软件工程的发展进行了探讨。 □□型号软件研制引入软件工程思想是任务顺利实施的重要保障。□□软件工程标准体系建设、技术和方法研究、软件研制和管理队伍培养等方面取得了显著成果。但是,软件工程化标准实施过程缺乏系统化的指南。本书结合作者多年从事载人□□工程软件工程工作的实践,在分析国内外□□软件工程实施情况的基础上,系统地总结和介绍了□□型号软件工程研制的过程、技术与管理方法;具有较高的学术水平与实践指导意义。
目录
第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.1ISO900035
3.1.2CMM和CMMI35
3.2NASA软件工程化实践39
3.2.1NASA软件研制的管理体系40
3.2.2NASA标准规范与流程40
3.3ESA软件工程化实践48
3.3.1ESA软件研制的管理体系49
3.3.2ESA标准规范与流程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.2C语言编码规范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.1UML318
16.3.2SysML319
16.3.3AADL320
16.3.4MARTE323
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
参考文献
参考文献
- ↑ 人类的思想家有哪些——世界十大思想家排名,传统文化杂谈,2019-11-15
- ↑ 人类文化的三种范畴,道客巴巴,2014-02-14