软件可靠性技术-容错设计技术

JUMU实名认证 发表于 2020-05-11 22:47 | 显示全部楼层 | 复制链接分享      上一主题  翻页  下一主题
一:系统可靠性的定义及包含的4个子特性,并简要指出提高系统可靠性技术一般采用什么技术
  • 软件可靠性技术
  • 容错设计技术
  • 检错设计
  • 检错设计和容错技术的差异
  • 降低复杂度设计
  • 软件可靠性分析
  • 故障树分析方法

失效模式与效应分析方法
系统可靠性的定义及包含的4个子特性,并简要指出提高系统可靠性技术一般采用什么技术
系统可靠性定义:系统在规定的时间内及规定的环境条件下,完成规定功能的能力,就是系统无故障运行的概率。
根据国家标准《软件工程 产品质量 第一部分:质量模型》(GB/T 16260.1-2006)的规定,系统可靠性的4个主要子特性

  • 成熟性:指系统避免因错误的发生而导致失效的能力
  • 容错性:在系统发生故障或违反指定接口的情况下,系统维持规定的性能级别的能力
  • 易恢复性:系统发生失效的情况下,重建规定的性能级别并恢复受直接影响的数据的能力
  • 依从性:系统依附于可靠性相关的标准、约定和规约的能力。
通常,提高系统的可靠性采用冗余技术、软件容错技术、双机容错技术和集群技术4类技术

软件可靠性技术 容错设计技术
对于软件失效后果特别严重的场合,如飞机的飞行控制系统可采用容错设计方法。常见的软件容错技术主要有恢复块设计、N版本程序设计和冗余设计

恢复块设计:选择一组操作作为容错设计单元,从而把普通的程序块变成恢复块。一个恢复块包含若干个功能相同、设计差异的程序块文本,每一时刻有一个文本处于运行状态。一旦该文本出现故障,则用备份文本加以替换,从而构成“动态冗余”。
N版本程序设计:N版本的核心是通过设计出多个模块或不同版本,对于相同初始条件和相同输入的操作结果,实行多数表决,防止其中某一模块/版本的故障提供错误的服务,以实现软件容错。
冗余设计:冗余设计技术实现原理是在一套完整的软件系统之外,设计一种不同路径,不同算法或不同实现方法的模板或系统作为备份,在出现故障时可以使用冗余的部分进行替换,从而维持软件系统的正常运行。
检错设计
在软件系统中,对无需在线容错的地方或不能采用冗余设计技术的部分,如果可靠性要求较高,故障可能导致严重的后果。这时一般采用检错技术,在软件出现故障后能及时发现并报警,提醒维护人员进行处理。
采用检测设计技术需要着重考虑几个要素:检测对象、检测延时、实现方式和处理方式

检测对象:即检测点和检测内容。在设计时应该考虑把检测点放在容易出错的地方和出错对软件系统影响较大的地方,检测内容选取那些有代表性的、易于判断的指标。
检测延时:在软件检测设计时要充分考虑到检测延时,如果延时长到影响故障的及时报警,则需要更换检测对象或检测方式。
实现方式:最直接的一种方式是判断返回结果,如果返回结果超出正常范围,则进行异常处理。计算运行时间也是一种常用的技术,如果某个模块或函数运行超过预期的时间,可以判断出现故障。另外还有置状态标志位等多种方法,自检的实现方式要根据实际情况来选用。
处理方式:大多数检测采用“查出故障-停止软件系统运行-报警“的处理方式”,但也有采用不停止或部分停止软件系统运行的情况,这一般由故障是否需要实时处理来决定。
检错设计和容错技术的差异
检测技术实现的代价一般低于容错技术和冗余技术,但有一个明显的缺点,就是不能自动解决故障,出现故障后如果不进行人工干预,将最终导致软件系统不能正常运行。

降低复杂度设计
在保证实现软件功能的基础上,简化软件结构,缩短程序代码长度,优化软件数据流向,降低软件复杂度从而提高软件可靠性。

软件可靠性分析
在软件可靠性设计之前和软件可靠性设计过程中,都需要采用软件可靠性分析和预测方法,来确定当前系统中的主要可靠性因素和目标。常见的软件可靠性分析方法包括故障树分析(FTA)、==失效模式与效应分析(FMEA)==等

故障树分析方法
一种自顶向下的软件可靠性分析方法,即从软件系统不希望发生的事件(顶事件),特别是对人员和设备的安全及可靠性产生重大影响的事件开始,向下逐步追查导致顶事件发生的原因,直至基本事件(底事件)。从而确定软件故障原因的各种可能组合方式或发生概率。基本的步骤是软件故障树的建立、定性分析和定量分析

失效模式与效应分析方法
在软件的开发阶段的早期,通过识别软件失效模式,分析造成的后果。研究分析各种失效模式产生的原因,寻找消除和减少其有害后果的方法,以便尽早发现潜在的问题,采取相应的措施,从而提高软件的可靠性和安全性。SFMEA的分析对象,可以是开发早期阶段的高层次的子系统、部件,也可以是详细设计阶段的单元模块。对于不同的分析对象,其软件失效模式是不同的。采用的SFMEA分析方法也不同,前者采用系统分析方法(system FMEA),后者为详细分析方法(detailed FMEA)。其步骤是系统定义软件失效模式分析、软件失效原因分析、软件失效影响分析、改进措施分析。

相关主题

  距米网  

找到您想要的设计

工程师、学生在线交流学习平台
关注我们

手机版- 距米网 |苏公网安备32041102000587号

© 2017-2025 居居米 苏ICP备18040927号-1