Page 207 - 软件工程与项目管理
P. 207
第六章 项目计划与控制
1. 初步危险分析法
初步危险分析法应用的时机通常在软件需求分析阶段后期及软件设计阶段
前期,软件需求分析员以头脑风暴的形式对软件需求规格说明中识别的安全关键
功能模块进行初始危险评估,并制定相应的危险控制行为或措施。
2. 功能性危险分析法
功能性危险分析是软件需求分析员在需求分析阶段基于软件功能对系统顶
级设计进行分析,从每个软件中识别出可能导致危险的软件功能项,并评估该软
件功能项的关键度等级。该方法是一种自上而下识别软件功能失效状态并评估其
影响的方法,用以确定所需的后续安全性分析及其深度,并确立安全性设计准则。
3. 软件失效模式和影响分析
通常在软件的需求分析和设计阶段,采用失效模式和影响分析的方法找出
所有软件子系统或部件可能的失效模式,并分析失效模式带来的后果。利用该方
法在软件设计初期分析系统级的全部失效模式及对系统产生的影响,找出系统失
效原因,并提出相应的改进措施。它是一种自底向上逐层识别失效模式和分析失
效机理的方法,能够有效地对嵌入式软件开展安全性和可靠性分析。
4. 软件故障树分析
利用软件故障树分析方法把软件发生危险的现象或状态作为故障树分析的
顶事件,自上而下地逐层分析导致该危险发生的全部可能因素,直到分解为每个
最基本的底事件为止。当软件系统存在危险时,需要根据建立的危险分析模型回
溯到最开始导致事故的那些软件错误。该方法是对当前嵌入式软件进行可靠性及
安全性定性和定量分析的主要手段。软件安全性测试是确定软件的安全特性实现
是否与其设计一致的过程,也是验证软件安全等级和识别潜在安全缺陷的过程。
同时,检查不合理的程序设计产生的安全隐患,测试程序对外部非法或异常输入
的防范和适应能力。安全性测试主要侧重于软件的故意攻击,传统的软件测试仅
考虑对软件异常、错误情况的处理。
目前软件安全性测试的方法主要分为安全性增长测试以及安全性验证测试 2
种。在进行安全性增长测试时需要分配安全性指标,并开发统计测试剖面,按照
测试剖面选择测试用例,执行测试用例并排错纠错,接着进行软件回归测试。回
归测试后的软件满足安全性测试指标,则完成安全性测试,否则继续完成排错纠
错过程。上述排错纠错过程,保证了软件安全性不断提高。软件安全性验证测试
197
197

