摘要: 故障模式及影响分析(FMEA)是一种预防型质量管理方法,用于硬件可靠性、安全性分析,广泛应用于军事航天、核工业、电子设备、机械制造业等领域,并取得了较好的效果。我们探讨将硬件FMEA分析法引人军用软件领域,以提高软件产品的可靠性和安全性,保证产品质量。
关键词: FMEA;军用软件;设计
中图分类号:TP3文献标识码:A文章编号:1671-7597(2010)0610142-01
故障模式是指元器件或产品故障的一种表现形式,一般是能被观察或测量的一种故障或缺陷。故障影响是指故障模式会造成对安全性、产品功能的影响,一般可分为自身、对上一级及最终影响三个等级。FMEA通过对产品各组成单元潜在的各种故障模式及其对产品功能的影响进行分析,按照相应的指标对潜在故障模式进行归类,从而获得有针对性的纠正预防措施,不断提高产品质量水平。
FMEA的工作内容:
1.1 故障模式分析。故障模式分析不但要分析产品的功能故障,而且还要分析产品的潜在故障,即逐一列出每一功能的所有潜在故障模式,进而分析可能造成这些故障的原因。
1.2 故障影响的确定。依据每一故障模式确定对系统所产生的后果,该后果包括每一故障模式对系统的安全、任务、经济等方面的综合影响。
1.3 风险优先数的确定。风险优先数(RPN)用来衡量可能的工艺缺陷,需要量化的栏目分别是严重度(s)・发生频度(o)和难检度(D)o严重度(S)是评估可能的失效模式对于产品的影响,发生频度(0)要记录特定的失效原因和机理导致的失效多长时间发生一次以及发生的几率,难检度(D)是评估所提出的工艺控制检测失效模式的几率。确定了严重度(S)、发生频度(O)和难检度(D)后,通过公式(RPN=S×O×D)计算风险优先数,来评估潜在的故障带来的风险。
1.4 改进措施。针对每一故障模式,特别是单点故障模式、风险优先数高的故障模式,制定有效的改进措施,以最终减少和消除这些故障模式。
在信息技术高速发展的推动下,一批高科技武器装备立项研制并陆续装备部队,软件在实现预定功能、提升作战效能方面的作用越来越突出,软件的规模越来越大,对软件质量要求也越来越高。然而,当前软件的质量问题却相当突出,已经成为影响和制约武器装备研制成功、飞机飞行安全、部队战斗力形成的重要因素,如何有效提高软件产品质量也日益成为软件管理工作面临的新课题。军用软件迫切需要有效的分析方法来提高软件的可靠性和安全性,将硬件FMEA 引人软件领域是必要的。
FMEA是一种归纳性的分析方法,其分析程序和有效性依赖于两点:一是系统的可分性,即系统具有功能上或物质上的层次结构;二是系统的低级层次具有明确的失效模式和失效效应,从而能确定单元失效和系统失效的关系。将硬件FMEA分析法引人军用软件领域,就要求软件具有适于硬件FMEA可靠性分析的类似基础,这种类似基础表现在以下几个方面:
1)软件和硬件都是为完成特定功能的、客观存在的实体。软件由语句组成功能实体,硬件由元器件、零部件组成物理实体。
2)软件和硬件均存在层次结构,软件由程序、子程序・模块和程序单元组成,硬件由系统、分系统、装置、单机,组件、部件和零件组成。
3)软件和硬件的低级层次都具有自己独特的、明确的失效模式。
4)软件和硬件的低级层次的失效模式和影响,存在一些会造成严重后果的失效类型,分析他们的失效原因,可为软件和硬件的可靠性设计和改进提供依据。
将硬件FMEA引人软件领域,要充分考虑软、硬件在可靠性方面存在的差异,这些差异对软件FMEA有重要影响。二者的差异体现在以下几个方面:
1)软件失效是由设计原因造成的,如果不更改,则长期不变;硬件的失效是由物理和化学作用,使物质的性质和结构发生变化,致使硬件发生耗损性失效。
2)软件排错穿插在软件使用过程中进行,因而软件的失效率随着使用时间的增加而下降;硬件在使用过程中,呈现出可靠性衰减的趋势,硬件的失效率将随时间增加而上升。
3)软件报废的主要原因是软件版本的功能已不能满足用户新的需求,硬件报废的主要原因是产品经过长时间的使用,已经进人损耗衰减期,无法继续正常工作。
4)软件可以大量复制,复制件和原版本完全一样,而同种型号和规格的硬件产品,尽管原材料完全相同,制造过程完全相同,但是每个产品的微观结构必然存在差异。
5)维修和维护方面,软件对普通用户是不可维护的,只能通过软件开发方的再设计和排错来消除错误。硬件的一部分维修工作,可以由用户在使用现场进行。
6)软件失效的环境因素是指软件开发环境与使用环境的差异,如操作系统,硬件设置等,外部的自然环境对软件的可靠性没有直接的影响。硬件失效与使用现场的自然环境或人为环境密切相关,因此硬件可靠性设计工作中的环境设计十分重要。
7)硬件的标准件质量与可靠性有较好的保证,软件领域可通用的标准模块非常缺乏。
对比硬件和软件的可靠性特征,可以看到,设计质量对软件可靠性具有特殊的重要意义,因此在软件FMEA分析时应予以充分考虑。
由于软件和硬件本质上的重大差别,因此在进行软件FMEA分析时,不能完全套用硬件的分析方法,必须注意下面的几个问题。
1)目的与使用阶段。软件质量关键在于设计质量,软件FMEA的目的应该放在分析各种失效模式对软件系统的影响,从而在软件实现之前为改进设计质量提供依据。软件FMEA虽然也可用于定型后程序的可靠性分析,但是更适用于软件开发的需求分析和概要设计阶段,主要用于定性分析。其分析的结果,第一是可帮助设计者较早发现设计缺陷,避免在实现阶段,甚至使用维护阶段作代价昂贵的设计改动;其次是有助于在设计时提出改进措施和避错容错方案;第三是可为测试提供策略,协助制定测试目标。
2)串行工作方式的影响。硬件设备一般处于并行工作状态,FMEA分析方法能够利用硬件结构隶属关系比较容易的发现失效模式的传播途径。严格地讲,软件系统在同一处理器指令是顺序执行的,程序在模块之间的转换也是逐个进行的,这个特点要求我们在进行FMEA分析时必须把握模块之间的功能联系而不是简单的结构关系。
3)系统结构划分。硬件FMEA进行结构分解时可深人到最底层的元件、导线和焊点,由于它们的失效模式明确而数量有限,进行FMEA分析是可行的。按照软件工程方法开发的软件,一般具有明显的层次结构,因此软件系统可按其结构特征加以分解,但其分解的深度受到工程应用的限制。软件如果也分解至基本的语句级,则将面临失效模式无法穷尽,分析工作难以为继的局面。由于软件失效与运行剖面有关,即取决于软件运行时的输人数据和逻辑结构,因此即使单独语句没有错误,运行时仍有可能失效。软件系统结构宜按软件层次和功能划分,分解达到的最底层应是能完成某一特定功能的模块。模块可以单独编译执行,故其可靠性也可单独加以考察。另一方面,软件失效不仅包括功能失效,还包括性能失效,这时可能需要引人虚拟性能模块,并且假定功能模块与性能模块是独立的,这样才能全面评价系统的可靠性。