列表

详情


阅读以下关于软件可靠性的叙述,在答题纸上回答问题1至问题3。
某企业欲研制某宇航控制系统。该系统对软件的可靠性要求很高,分配给软件的可靠性指标为R≥0.99。根据软件结构设计方案,该软件由7个模块X1,X2,…,X7组成,分别完成不同的控制功能。
为了保证该控制系统能够满足环境可靠性指标,李工认为应该首先采用故障树方法分析,预测出可靠性指标。该企业主管采用了李工的建议,建立了该软件的故障树模型(如图4-1所示),评估出了每个模块的可靠性指标,同时在每个模块的设计与实现过程中,采用了流程优化、结构优化、降低设计复杂度等方法来提高模块的可靠性指标。
软件开发完成后,项目组对该软件进行了相应的可靠性测试,得到了各模块的失效概率为:FX1=FX2=0.05,FX3=0.008,FX4=0.07,FX5=FX6=0.05,FX7=0.08,通过计算割集的失效概率来近似计算整个软件的可靠性指标,计算结果表明该软件的可靠性未达到分配的指标要求。

                                                                                     

                                                                                                                        图4-1 某控制系统故障树

 

【问题1】(8分)
请给出该故障树的所有最小割集。
【问题2】(10分)
根据题中给出的、经过可靠性测试后得到的每个模块的失效概率,计算每个割集失效概率,并近似计算出整个软件的失效概率,说明该软件的可靠性测试指标确未达要求。
【问题3】(7分)
请进一步分析导致该软件可靠性测试未能满足分配指标要求的原因,并给出后续的改进策略。

参考答案:

【问题1】

通过对故障树进行分析,可以得出其所有的最小割集为:K1={X3},K2={X1,X2},K3={X4,X5,X6},K4={X5,X6,X7}。

【问题2】

通过对故障树进行分析,可以得出其所有的最小割集为:K1={X3},K2={X1,X2},K3={X4,X5,X6},K4={X5,X6,X7}。则对应割集的失效概率分别为:

F(K1)=0.008
F(K2)=0.05×0.05=0.0025
F(K3)=0.07×0.05×0.05=0.000175
F(K4)=0.05×0.05×0.08=0.0002
则整个软件的失效概率近似为:
P(T)=0.008+0.0025+0.000175+0.0002=0.010875
R=1-0.010875=0.989125<0.99

因此,软件的可靠性没有达到分配的指标要求。

【问题3】

根据最小割集的定义,最小割集中所含模块数越少,此最小割集中模块的可靠性要求就越高。所以X3模块的可靠性要求最高,为关键功能模块。由于X3模块对应的割集失效概率过高,导致了软件未能达到分配的指标要求。  
改进方法(答出一种即可):  
1)采用多轮重复测试的方法,使得模块X3的失效概率收敛,满足可靠性指标要求;
2)重新设计模块X3,提高其可靠性,降低其失效概率。
3)割集K1为一阶割集,容易出现单点故障。可以在X3模块所在层次或其上级增加“与门”,降低K1割集的失效概率。

详细解析:

本题考查应用故障树分析方法来设计和评估软件可靠性。
故障树分析方法简称为TA方法(Fault Tree Analysis),是1961年由贝尔电话实验室的H.A.Watson提出的。该方式是一种系统化、形式化的分析方法,可用于系统可靠性分析和安全性分析。其目的是采用演绎方法找出导致系统故障的各种可能的基本原因,从而找到系统的薄弱环节,来改进系统的设计。本题考查的是通过故障树分析方法,对软件系统的可靠性进行定性和定量分析。
定性分析的主要目的是找出所有可能的系统故障模式,即求取最小割集,并按照模块的重要性和最小割集的阶数来排列轻重次序。故障树分析方法的定性分析的核心目标是最小割集,可以通过最小割集找出系统的关键功能模块,从而找出导致关键功能模块失效的原因。
定量分析是在求出最小割集的基础上,通过其他方法获取每一个基本事件的发生概率,从而计算最小割集和顶事件的发生概率。从而可以对系统可靠性和安全性进行进一步分分析。
割集和最小割集的定义为:
割集定义:如果C是一个基本事件的集合,如果C中每个基本事件的发生,将引起顶事件的发生,则C称为该故障树的割集。
最小割集定义:如果C是故障树的一个割集,如果去掉C的任何一个基本事件,使得C不成为割集,则C为该故障树的最小割集。
根据题中的故障树和最小割集的定义,即可求出该故障树的最小割集为:K1={X3},K2={X1,X2},K3={X4,X5,X6},K4={X5,X6,X7}。
第二问是对该故障树的定量分析,在最小割集的基础上,已知每个基本事件的失效概率,即可计算出每个割集的失效概率,从而计算出整个软件系统的失效概率。即:

F(K1)=0.008
F(K2)=0.05×0.05=0.0025
F(K3)=0.07×0.05×0.05=0.000175
F(K4)=0.05×0.05×0.08=0.0002
则整个软件的失效概率近似为:
P(T)=0.008+0.0025+0.000175+0.0002=0.010875
根据题干中要求可以看出,此设计方案未能满足要求。
最小割集所包含基本事件的数目称为最小割集的阶数。阶数越低的最小割集重要性越大,显然,阶数为1的最小割集最重要,其可靠性要求就越高。所以X3模块的可靠性要求最高,为关键功能模块。由于X3模块对应的割集失效概率过高,导致了软件未能达到分配的指标要求。
工程中实际的改进方法一般包括:
1)采用多轮重复测试的方法,使得模块X3的失效概率收敛,满足可靠性指标要求;
2)重新设计模块X3,提高其可靠性,降低其失效概率;
割集K1为一阶割集,容易出现单点故障。可以在X3模块所在层次或其上级增加“与门”,降低K1割集的失效概率。

上一题