本章目录:
一、节概述
本节“安全攸关软件”主要介绍了在涉及人身安全、环境保护、关键业务连续性等场景中,软件开发所需遵循的标准、过程以及安全等级划分方法。此类软件广泛应用于航空航天
、核能控制
、轨道交通
、医疗设备
等高可靠性领域。
在软考高级系统架构设计师考试中,本节内容常以标准类选择题或论述题的形式出现,重在考查考生对安全软件生命周期过程及等级分类的掌握情况,是软件质量与架构安全性评估的重要知识点。
二、知识详解
1. 什么是安全攸关软件
根据 IEEE 定义:
📌 安全攸关软件是指
在系统中一旦发生故障可能导致不可接受的风险
的软件。
其“不可接受的风险”通常涉及:
人员伤亡
重大财产损失
环境污染
系统瘫痪
等严重后果
因此,此类软件需具备极高的可靠性
、可验证性
、可追溯性
和可预测性
。
2. 安全攸关软件的开发标准:DO-178B
DO-178B(Software Considerations in Airborne Systems and Equipment Certification) 是航空软件开发的权威标准,定义了完整的软件生命周期流程,确保开发出的系统符合安全飞行认证
要求。
🚧 软件生命周期划分如下:
📌 A. 软件计划过程
- 制定开发策略和标准流程;
- 明确需求获取、验证、配置等流程执行方法;
- 输出关键计划文档,如PSAC(计划审查合格标准)。
📌 B. 软件开发过程(4个子过程)
-
软件需求过程(SR)
- 采集并定义高层/低层需求
- 要求明确、无歧义、可验证
-
软件设计过程(SD)
- 设计系统架构和模块功能
- 保证与需求对齐且具备可实现性
-
软件编码过程(SC)
- 将设计转化为源代码
- 遵循编码规范、可读性强、可追溯性好
-
软件集成过程(SI)
- 模块联调、集成系统测试
- 验证功能正确性和资源调度正确性
📌 C. 软件综合过程(4个子过程)
-
软件验证过程
- 包括单元测试、集成测试、系统测试
- 确保每一级都符合需求规范
-
软件配置管理过程
- 管理版本、文档、变更记录
- 保证开发过程中“可追溯性”与“过程控制”
-
软件质量保证过程
- 监控开发全过程是否符合法规与内部质量目标
- 提出问题改进建议
-
审定联络过程
- 与审定机构(如FAA)沟通,提供合规性证据
- 支持最终认证过程
3. 安全等级划分(DO-178B)
为了分配不同等级的开发和验证严格性,DO-178B 将软件划分为五个安全等级:
等级 | 风险描述 | 影响后果 |
---|---|---|
A级(灾难级) | 发生故障将导致飞机失控或人员死亡 | 极其严格 |
B级(危害级) | 严重影响操控或飞行能力,可能导致重大伤害 | 非常严格 |
C级(严重级) | 降低操作效率,有中等程度安全影响 | 严格 |
D级(不严重级) | 对安全影响较小 | 较宽松 |
E级(无影响级) | 不影响任何安全性能 | 可忽略 |
✳️ 安全等级越高,所需文档、验证活动与独立性要求越多。
三、关键点提炼
安全攸关软件
是与人身安全密切相关的特殊类别软件;DO-178B
是目前最具权威的航空安全软件开发标准;- 生命周期被划分为三大阶段、八个子过程;
A~E级安全等级
是考试中的高频考点,需掌握每级定义及影响范围;- 核心关键词包括:
可靠性
、可验证性
、可追溯性
、合规性
;
四、考试提示
📚 常见出题方式:
- 选择题:如“DO-178B 将软件开发过程分为哪几步?”
- 判断题:混淆各个等级的定义
- 简答题:解释某个等级软件需执行哪些验证流程
- 案例分析:给出航空系统故障,要求判断其安全等级
⚠️ 易混淆点警示:
误区 | 正解 |
---|---|
所有安全软件都需同样流程 | ❌ 不同等级对应不同严格度 |
配置管理只涉及源代码 | ❌ 还包括文档、需求等版本控制 |
D级软件不需测试 | ❌ 所有等级软件都需一定程度验证 |
DO-178B只适用于航空 | ✅ 其他领域(如轨交、核能)也借鉴其流程 |
五、总结与建议
“安全攸关软件”模块将考生的专业素养推向更高层级,它不仅要求掌握标准,还要理解其背后保障软件安全的本质逻辑。
🎯 学习建议:
- 结合实例理解各个安全等级的适用场景;
- 熟记 DO-178B 的“3大过程、8个子过程”及其对应输出;
- 适当参考真实项目中的安全认证流程(如 ARINC、IEC 61508);
- 练习用条理清晰的方式表达验证流程与等级划分标准,利于写作题应对。
✈️ 在安全攸关系统中,错误代价极其高昂。作为架构设计师,必须将“安全”理念融入到系统生命周期的每一步中,用标准化、流程化的方式实现可信的软件系统。