likes
comments
collection
share

软考高级《系统架构设计师》论文之--可靠性设计 备考知识点

作者站长头像
站长
· 阅读数 36

前言

可靠性设计,对于只有一些前端基础的我,真的是太友好了。如果论文出现可靠性设计和架构风格的题目,我一定会选这两个题目。

可靠性设计中需要准备的知识点

可靠性设计需要遵循的原则

  • 软件可靠性设计是软件设计的一部分,必须在软件的总体设计框架中使用,并且不能与其他设计原则相冲突。
  • 软件可靠性设计在满足软件质量的前提下,以提高和保障软件可靠性为最终目标。
  • 软件可靠性设计应确定软件的可靠性目标,不能无限扩大,并且排在功能、用户需求、开发费用之后考虑。

常见的软件可靠性技术有哪些

容错设计技术

  • 恢复块设计

选择一组软件操作作为容错设计单元,把普通的程序块变成恢复块。一个恢复块包含若干个功能相同、设计差异的程序块文本,一个运行文本,多个备份文本,构成“动态冗余”,一旦运行文本出现故障,则用备份文本替换。软件容错的恢复块方法就是使软件包含一些列的恢复块。

  • N版本程序设计

N版本程序的核心是通过设计出多个模块或者不同的版本,对于相同的初始条件和相同的输入的操作,实现多数表决,防止其中一个模块/版本的故障提供错误的服务,已实现软件容错。

  • 冗余设计

在一套完整的软件体系之外,设计一种不同路径,不同算法或者不同实现方法的模块或系统作为备份,在出现故障的时候,可以用冗余的部分进行替换,从而维持软件系统的正常运行。缺点是费用和资源的消耗会增加。

检错技术

在软件系统中,无需在线容错的地方,或者不能采用冗余设计技术的部分,如果对可靠性要求比较高,故障有可能导致严重后果时,一般需要采用检错技术,在软件出现故障的时候能及时发现并报警。缺点是不能自动解决故障。

降低复杂度设计

软件系统的复杂度与可靠性有着密切的关系,是产生软件缺陷的重要根源。在设计时考虑降低软件的复杂度,是提高软件可靠性的重要手段。减低复杂度的设计思想是在保证实现软件功能的基础上,简化软件结构,缩短程序代码,优化软件数据流向,减低软件复杂度,从而提高软件的可靠性。

软件可靠性分析方法

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

故障树分析法

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

  • 软件故障树的建立
  • 定性分析
  • 定量分析

失效模式与效应分析方法

在软件开发的早期,通过软件失效模式,分析造成的后果,研究分析各种失效迷失产生的原因,寻找消除和减少有害后果的方法,一边今早发现潜在的问题,并采取相应的措施,从而提高软件可靠性和安全性。

转载自:https://juejin.cn/post/7144655658866966535
评论
请登录