参考答案:
【问题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 因此,软件的可靠性没有达到分配的指标要求。 【问题3】 根据最小割集的定义,最小割集中所含模块数越少,此最小割集中模块的可靠性要求就越高。所以X3模块的可靠性要求最高,为关键功能模块。由于X3模块对应的割集失效概率过高,导致了软件未能达到分配的指标要求。
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
改进方法(答出一种即可):
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割集的失效概率。