论文部分内容阅读
软件从它诞生之日起,就受到各种各样潜在软件故障的折磨。随着软件实现功能越来越多也越来越强大,其携带的潜在的故障也越多,随之也带来更多的安全性问题,如果这些潜在的故障一旦发作,不仅软件系统的正常功能无法得到保证,甚至对人民群众的生命财产安全带来危害。这使得人们不得不开始考虑这些软件的质量问题。在软件质量的众多评测标准中,使用软件的可靠性与安全性分析可以有效避免软件失效。
故障树分析法(FTA)是一种评价复杂系统可靠性与安全性的重要方法。经过近四十年的发展,FTA技术已经有相对成熟的理论。但目前关于软件故障树分析(SFTA)的研究开展的比较晚,而且主要集中应用在航天、国防等关键领域;这些领域里面的软件系统大部分都属于嵌入式系统,这类软件依然以过程开发为主,所以在这种过程式程序设计中,基于源码构造出的故障树往往非常庞大,给实际分析带来一定的困难;软件发展的未来是面向对象,关于面向对象设计的程序,目前尚未见到有效的故障树分析方法。本文对软件故障树分析技术进行了研究,主要工作包括:
[1]在分析软件故障树和硬件故障树的差异的基础上,针对传统故障树技术不适合用来分析软件的问题,提出了能够适合具有开发阶段多、模型复杂、程序关系庞大等特点的软件故障树分析技术。
[2]根据面向对象的特点,开展了面向对象软件的故障树技术的研究,提出了针对UML模型的故障树构造方案。
[3]在故障树简化方面,提出一种基于布尔代数理论的简化的方法。在故障树分析方面,提出了基于下行法求解故障树最小割集的算法并探讨了故障树顶事件发生概率和基本事件重要度的计算。
[4]按照本文的研究思路设计故障树分析工具原型,并运用工具对案例进行定性和定量分析,对本文提出的基于UML模型的故障树构造方法和分析技术的可行性进行了验证。