精华内容
下载资源
问答
  • 软件可靠性
    千次阅读
    2021-07-23 15:12:31

    随着软件技术的快速发展,计算机软件在现实生活的作用越来越大,和生活的融入度也越来越高,然而随着博弈仿真问题的规模和复杂度的提升,软件的可靠性问题也越来越突出。深入研究软件可靠性模型对于预测评估软件的可靠性具有十分重要的意义。

    软件可靠性测试是指为了保证和验证软件的可靠性要求而对软件进行的测试。其采用的是按照软件运行剖面(对软件实际使用情况的统计规律的描述)对软件进行随机测试的测试方法。通过软件可靠性测试可以达到以下目的:

    (1) 有效地发现程序中影响软件可靠性的缺陷,从而实现可靠性增长:软件可靠性是指“在规定的时间内,规定的条件下,软件不引起系统失效的能力,其概率度量称为软件可靠度。”软件的“规定的条件”主要包括相对不变的条件和相对变化的条件,相对不变的条件如计算机及其操作系统;相对变化的条件是指输入的分布,用软件的运行剖面来描述。领测认为按照软件的运行剖面对软件进行测试一般先暴露在使用中发生概率高的缺陷,然后是发生概率低的缺陷。而高发生概率的缺陷是影响产品可靠性的主要缺陷,通过排除这些缺陷可以有效地实现软件可靠性的增长。

    (2) 验证软件可靠性满足一定的要求:通过对软件可靠性测试中观测到的失效情况进行分析,可以验证软件可靠性的定量要求是否得到满足。

    (3) 估计、预计软件可靠性水平:通过对软件可靠性测试中观测到的失效数据进行分析,可以评估当前软件可靠性的水平,预测未来可能达到的水平,从而为开发管理提供决策依据。软件可靠性测试中暴露的缺陷既可以是影响功能需求的缺陷也可以是影响性能需求的缺陷。软件可靠性测试方法从概念上讲是一种黑盒测试方法,因为它是面向需求、面向使用的测试,它不需要了解程序的结构以及如何实现等问题。

    软件可靠性测试通常是在系统测试、验收、交付阶段进行,它主要是在实验室内仿真环境下进行,也可以根据需要和可能在用户现场进行。

    更多相关内容
  • 软件可靠性测试

    2021-03-23 11:56:04
    (1)软件可靠性在规定条件下,在规定时间内,软件不引起系统失效的概率。该概率是系统输入和系统使用的函数,也是软件中存在故障的函数,系统输入将确定是否会遇到存在的故障。  一、对软件可靠性测试的认识  1.有关...
  • 软件可靠性测试及其实践[1]软件测试软件可靠性工程是指为了满足软件的可靠性要求而进行的一系列设计、分析、测试等工作。其中确定软件可靠性要求是软件可靠性工程中要解决的首要问题。软件可靠性要求可以包括定性定...
  • 【摘要】软件可靠性测试是软件可靠性工程的一项重要工作内容,是满足软件可靠性要求、评价软件可靠性水平及验证软件产品是否达到可靠性要求的重要途径。本文探讨、研究了软件可靠性测试的基本概念,软件可靠性测试...
  • 软件可靠性工程

    2021-02-21 15:08:38
    软件可靠性工程随着计算机应用的普及,软件可靠性研究与工程实践倍受软件工程界和可靠性工程界的关注。可以说,80年代是软件工程研究的年代,90年代是软件可靠性工程的年代。但是,作为一门新兴的学科,软件可靠性工程...
  • 甚至完全失效这种严重影响软件可靠性的测试存在不足的现状,通过对软件自身特性以及软件可靠性估算面临问题的深入分析和研究,结合传统的软件可靠性测试方法,提出了基于操作剖面的软件可靠性压力测试思想和操作剖面...
  • 国家军用标准《软件可靠性和安全性设计准则》的实践,概述了型号软件可靠性和安全性设计标准化研究的重要性,论述了其标准中的软件设计工作涉及到的软件需求分析、软件设计和软件实现等三个阶段需要特别注意的几个关键...
  • 嵌入式软件可靠性测试方法 本标准规定了嵌入式软件生存周期内软件产品的可靠性测试方法、过程和准则。 本标准适用于嵌入式软件生存周期全过程,可用于嵌入式软件测试中的可靠性增长测试和可靠性确认测试要求。
  • 设计并实现了软件可靠性测试与评估平台,支持软件可靠性测试用例自动生成,便于可靠性数据收集以及软件可靠性评估和预测,解决了软件可靠性测试难以有效开展的问题。通过与SMERFS预测结果对比,表明本平台对软件可靠...
  • 软件可靠性测试及其实践[2]软件测试(3)测试环境的准备:为了得到尽可能真实的可靠性测试结果,可靠性测试应尽量在真实的环境下进行,但是在许多情况下,在真实的环境下进行软件的可靠性测试很不实际,因此需要开发...
  • 对IEEE软件可靠性系列标准进行分析,总结了IEEE制定软件可靠性标准的经验,以及软件可靠性发展趋势。同时,结合我国软件可靠性标准化工作现状,提出软件可靠性标准的制定及相关标准修订的可借鉴之处。
  • 软件可靠性工程手册

    2015-12-22 08:56:39
    软件可靠性工程手册(Handbook Of Software Reliabilty Engineering); 【作者】:(美)[M.R.柳]Michael R.Lyu主编; 刘喜成,钟婉懿等译
  • GB_14394-2008-T_计算机软件可靠性和可维护性管理.pdf
  • 软件可靠性测试概念与应用

    千次阅读 2022-05-23 23:17:26
    一、软件可靠性测试的概念: 1、软件可靠性分析方法有: 2、可靠性测试的使用场景: 3、可靠性测试过程五个步骤: 4、可靠性预测的目的: 5、可靠性测试的目的 6、可靠性测试要求 7、可靠性测试条件 8、软件可靠性的...

    目录

    一、软件可靠性测试的概念:

    1、软件可靠性分析方法有:

    2、可靠性测试的使用场景:

    3、可靠性测试过程五个步骤:

    4、可靠性预测的目的:

    5、可靠性测试的目的

    6、可靠性测试要求

    7、可靠性测试条件

    8、软件可靠性的指标

    9、可靠性测试关注点:

    10、可靠性分析方法主要有:

    11、软件可靠性有两方面的含义:

    二、可靠性测试应用

    1、用户权限限制:

    2、用户和密码封闭性:

    3、系统对用户错误登录的次数限制:

    4、留痕功能:

    5、屏蔽用户操作错误:

    6、错误提示的准确性:

    7、错误是否导致系统异常退出:

    8、数据备份与恢复手段:

    9、输入数据有效性检查:

    10、异常情况的影响:

    11、网络故障对系统的影响:


    一、软件可靠性测试的概念:

    1、软件可靠性分析方法有:

    失效模式影响分析法、严酷度分析法、故障树分析法、事件树分析法、潜在线路分析法等;

    2、可靠性测试的使用场景:

    在比较大的业务压力情况下进行的软件可靠性测试;

    3、可靠性测试过程五个步骤:

    确定可靠性目标、定义软件运行剖面、设计测试用例、实施可靠性测试、分析测试结果;

    4、可靠性预测的目的:

    根据软件在可靠性与测试揭示的故障情况来预测软件在正在运行时的故障和实效情况;

    5、可靠性测试的目的:

    通过受控的软件测试过程来预测软件在实际运行中的可靠性;

    6、可靠性测试要求:

    测试用例集要完全符合运行剖面的定义;

    7、可靠性测试条件:

    使用的测试用例必须满足语句覆盖;

    8、软件可靠性的指标:

    平均无失效时间;

    9、可靠性测试关注点:

    人们关注的核心应是软件失效;

    10、可靠性分析方法主要有:

    失效模式影响分析、严酷性分析、故障树分析、事件树分析和潜在线路分析;

    11、软件可靠性有两方面的含义:

    1)在规定条件下,规定时间内,软件不引起系统失效的概率;

    2)在规定时间周期内,在所述条件下执行所要求的功能的能力。而与软件的操作人员无关;

    二、可靠性测试应用

    1、用户权限限制:

    软件是否按功能模块划分用户权限,权限划分是否合理,考察超级用户对各个用户的权限管理是否合理,包括修改用户的登录资料等;

    2、用户和密码封闭性:

    软件对用户名和密码有无校验,有无保护措施,尤其对密码有无屏蔽功能;

    3、系统对用户错误登录的次数限制:

    软件对用户错误登录有无次数限制,一般做法是连续三次登录失败就退出系统;

    4、留痕功能:

    软件是否提供操作日志,比如某用户登录的时间,查询、修改或删除的动作以及离开的时间等;

    5、屏蔽用户操作错误:

    考察对用户常见的误操作的提示和屏蔽情况,如可否有效避免日期的录入错误或写入无效的日期;

    6、错误提示的准确性:

    当用户操作错误时,能否有准确清晰的提示,使用户知道造成错误的原因。例如当用户未输入完有效信息时存盘,系统应当给出关于未输入项的提示;

    7、错误是否导致系统异常退出:

    考察软件运行的稳定性,当软件发生一般错误或严重错误时,软件是否会自动退出;

    8、数据备份与恢复手段:

    主要针对有数据存储需要的软件,有的软件依靠数据库操作系统本身的备份与恢复机制,这需要用户具备一定的操作知识;好的软件会提供备份与恢复的操作,不需要用户直接对数据库系统进行操作;

    9、输入数据有效性检查:

    当用户输入的数据有错时,软件应能判断数据的有效性,避免无效数据的生成;

    10、异常情况的影响:

    在程序运行过程中进行掉电等试验,考查数据和系统的受影响程度;若受损,是否提供补救工具,补救的情况如何;

    11、网络故障对系统的影响:

    当网络中断连接时,是否会造成数据的丢失;

    展开全文
  • 软件安全性与软件可靠性

    千次阅读 2020-06-25 21:57:35
    在功能安全强调软件安全性的时候,往往与软件可靠性密不可分,航空领域一般讲究可靠性,而轨道交通领域和汽车领域通常讲究安全性,那么对于软件而言,安全性与可靠性到底是怎么的关系与区别,很多人存在这方面的疑惑...

    在功能安全实践过程中,软件安全至关重要,软件的特殊性在于它的失效不可量化,一个小小的失误在特定环境下就可能无限放大。在功能安全强调软件安全性的时候,往往与软件可靠性密不可分,航空领域一般讲究可靠性,而轨道交通领域和汽车领域通常讲究安全性,那么对于软件而言,安全性与可靠性到底是怎么的关系与区别,很多人存在这方面的疑惑,今天的功能安全小课堂带领大家一起探索研究一下。

    首先分别从软、硬件安全性与可靠性的关系来区分软件安全性的特点,软件安全性和软件可靠性到底是不是一回事,很多专家大咖仁者见仁智者见智,本文以下内容仅代表个人观点,欢迎各位交流讨论。

    • 软件安全性与软件的可靠性密不可分,如果说一套软件是安全的,那它一定是可靠的;但如果说一套软件是可靠的,那它不一定是安全的,用图形化表示关系如下:在这里插入图片描述
    • 硬件的安全性与硬件的可靠性有所差别,如果说一套硬件是安全的,那它不一定是可靠的;如果说一套硬件是可靠的,那它也不一定是安全的,用图形化表示关系如下:
      在这里插入图片描述
    • 接下来说明一下什么是可靠性,简单总结可靠性就是在规定的条件下规定的时间里,系统或软件执行规定功能的能力。它包含三个要素:
      规定的条件
      规定的时间
      规定的能力

      对于软件可靠性,规定的条件就是指软件所处的软硬件环境、运行环境、容量载荷、存储分布及运行方式等因素。规定的时间包括使用的时钟时间、执行时间等时间对象,不同时间内软件可靠性表现不同。规定的功能即是软件预期实现的功能。那么如何保障软件的可靠性,一般软件的可靠性与开发过程紧密联系,而对生产使用等过程依赖较少,软件故障多为设计故障,需要通过技术方法和管理流程等措施来确保软件的可靠性。而我们在功能安全研究时,也处处强调软件的安全性是靠技术和流程两方面来保证。那么软件安全性和软件可靠性区别与联系在哪里。
      在这里插入图片描述
      综上所述,软件安全性和可靠性在最初目标与最终结果上有所不同,软件安全性的目标是满足相应的安全等级要求,最终不发生事故,而软件可靠性的目标是减少BUG率,最终不发生失效。但本质上软件安全性与软件可靠性又是统一的,一切的努力都是保障软件按照正确的方式去执行。
      另外,从范围上研究,软件可靠性范围更广阔,而软件安全性是针对已定义功能的具体要求,而有些特殊场景下特殊功能,在软件开发之初没有考虑周全,软件开发过程没有对此进行定义,在软件产品实际使用过程中,特殊的环境条件可能导致软件产品程序发生故障,系统产生失效,也许会导致事故,但是严格来说,它是归属于软件可靠性的原因。因此,从这个角度来说,软件可靠性不仅包含软件安全性,还要考虑软件的全面性。
    展开全文
  • 软件可靠性课程复习要点

    千次阅读 2019-01-12 10:33:04
    以下整理来自于Leo,因为Leo不玩博客,且网上关于软件可靠性这方面的资料微乎其微 所以本人厚颜无耻地拿过来标注原创发出,且希望Leo不会看到这篇博文,(逃) 因为文章整理按点展开,故琐碎难看。各位看客直接Ctrl+...

    以下整理来自于Leo,因为Leo不玩博客,且网上关于软件可靠性这方面的资料微乎其微
    所以本人厚颜无耻地拿过来标注原创发出,且希望Leo不会看到这篇博文,(逃)
    因为文章整理按点展开,故琐碎难看。各位看客直接Ctrl+F搜索关键字。

    软件可靠性概念(定义)

    –在规定条件下,在规定的时间内,软件不引起系统失效的概率,该概率是系统输入和系统使用的函数,也是软件中存在的错误的函数;系统输入将确定是否会遇到已存在的错误(如果错误存在的话);

    –在规定的时间周期内,在所述条件下程序执行所要求的功能的能力。

    软件可靠性因素相关概念

    可靠度

    –软件可靠度是指软件在规定的条件下、规定的时间段内完成预定的功能的概率。或者说是软件在规定时间内无失效发生的概率。
    R ξ ( t ) = P r { ξ > t } = 1 − F ξ ( t ) R_\xi(t)=P_r\{\xi>t\}=1-F_\xi(t) Rξ(t)=Pr{ξ>t}=1Fξ(t)

    ξ 为 随 机 变 量 , F 是 其 分 布 函 数 , R ( t ) 表 示 t 时 刻 的 可 靠 度 \xi为随机变量,F是其分布函数,R(t)表示t时刻的可靠度 ξFR(t)t

    失效率

    –失效率是指软件在 T 时刻没有发生失效的条件下,在 区间T+t内,当t很小时,单位时间内发生失效的概率。

    在指数分布下可靠度 R ( t ) = e − λ t 近 似 于 1 − λ t R(t)=e^{-\lambda t} 近似于 1-\lambda t R(t)=eλt1λt

    不可靠度 F ( t ) = 1 − R ( t ) = 1 − e − λ t F(t)=1-R(t)=1-e^{-\lambda t} F(t)=1R(t)=1eλt

    平均失效间隔时间MTBF

    MTBF:指两次相邻失效时间间隔的均值

    MTTF(平均失效前时间):可以理解为设备在规定的环境下,正常生产到发生下一次故障的平均时间。公式如下:

    M T T F = ∫ 0 ∞ R ( t ) d t = 1 λ ( 有 些 情 况 下 ) MTTF=\int_0^{\infty}R(t)dt=\frac{1}{\lambda}(有些情况下) MTTF=0R(t)dt=λ1

    软件可靠性模型相关概念

    软件可靠性评估模型是随机过程的一种表示形式,将软件可靠性或直接相关的量表示成时间与软件产品的特性或开发过程的函数。将失效过程的一般形式定义为各因素,描述软件失效与软件缺陷之间关系的数学方程

    假设条件原因

    模型是实际情况的理想或简单化,总是包含若干假设

    标准假设

    软件运行方式和进行软件可靠性预计时的软件运行方式相同——确保预计结果的有效性

    当检测到缺陷时,各个失误是独立的——简化推导

    假设的四个公共条件

    1.程序中的各个错误是相互独立的(即标准假设2)

    2.测试过程中检测到的错误,都被排除,每次排错只排除一个,且过程中不会引入新的错误

    3.程序的失效率在每个失效间隔时间内是常数,错误以相等的可能发生

    4.软件的运行方式与预期的方式相似(即标准假设1)

    评估模型的基本原理

    对软件可靠性测试或实际使用中收集的失效数据,利用统计知识分析其规律,建立一个参数模型,在数据的基础上对该统计分布的参数进行估计,从而在此模型基础上对软件可靠性进行定量估计或评价

    定义

    是将软件失效过程的一般形式规定为各因素,例如缺陷引入缺陷移除运行环境等的函数或数学表达式,是描述软件失效与软件缺陷之间关系的数学方程

    模型类型

    指数分布的NHPP模型:JM模型、GO模型

    非指数分布的NHPP模型:MO模型

    可靠性建模过程中的指标因素 失效数据 用到哪些数据 数据类型

    指标因素

    1、错误或者缺陷的排除过程和引入过程
    2、运行环境

    排错引入过程

    在JM、GO模型假设中,检测到的错误都会被立刻排除,排错时间可以忽略不计,每次排错只排除一个错误,在排错过程中不会引进新的错误

    运行环境

    测试环境要与实际运行环境相一致

    失效数据

    失效时间数据(完全失效数据):每一次失效发生的时间构成的失效数据

    失效计数数据(不完全失效数据):由各时间段内发生的失效次数构成的失效数据

    故障树 故障树的定义 故障树的规范化过程中如何简化

    概念

    故障树分析法是在系统设计的过程中,通过对可能造成系统失败的各种因素(包括硬件、软件、环境、人为因素)进行分析,画出逻辑框图(即故障树),从而确定系统失败原因的各种可能组合方式或其发生概率,以计算系统失效概率,采取相应措施,以提高系统可靠性的一种设计分析方法。

    故障树分析方法在系统可靠性分析,安全性分析和风险评价中有重要作用和地位。既可用于定性分析又可用于定量分析。

    对于所研究系统的各类故障或不正常工作情况统称为故障事件,与之对立的是成功事件。

    故障树是一种为研究系统某功能故障而建立的一种倒树状的逻辑因果关系图。

    故障树主要由事件和逻辑门构成,事件用来描述系统或元部件的故障状态,逻辑门把事件联系起来,表示事件间的逻辑因果关系

    特点

    自上而下作层层追踪分析

    事件间的逻辑关系一目了然

    在系统设计阶段有助于判明系统的隐患和潜在故障

    故障树可作为管理维修人员的管理维修指南

    规范化

    仅含有基本事件、中间事件、顶事件以及与或非三种逻辑门的故障树

    简化

    用相同转移符号表示相同子树、相似转移符号表示相似子树

    用布尔代数法化简,去掉明显的逻辑多余事件和逻辑多余门

    可靠度概念公式

    软件可靠度是指软件在规定的条件下、规定的时间段内完成预定的功能的概率。或者说是软件在规定时间内无失效发生的概率。 ξ 为 随 机 变 量 , F 是 其 分 布 函 数 , R ( t ) 表 示 t 时 刻 的 可 靠 度 \xi为随机变量,F是其分布函数,R(t)表示t时刻的可靠度 ξFR(t)t
    R ξ ( t ) = P r { ξ > t } = 1 − F ξ ( t ) R ξ ( t ) = P r { ξ > t } = 1 − F ξ ( t ) R_\xi(t)=P_r\{\xi>t\}=1-F_\xi(t)R_\xi(t)=P_r\{\xi>t\}=1-F_\xi(t) Rξ(t)=Pr{ξ>t}=1Fξ(t)Rξ(t)=Pr{ξ>t}=1Fξ(t)

    可靠度与不可靠度之间的函数关系

    R ( t ) + F ( t ) = 1 R(t)+F(t)=1 R(t)+F(t)=1

    根据指数分布推断计算系统的寿命

    指数分布是事件的时间间隔的概率

    指数分布: f = e − λ t f=e^{-\lambda t} f=eλt

    概率相关: P ( X > t ) = e − λ t P(X>t)=e^{-\lambda t} P(X>t)=eλt

    割集的性质(重要度影响关系)

    阶数越小的最小割集越重要

    在低阶最小割集中出现的底事件比高阶中的更重要

    在相同阶次下,在不同割集中重复出现次数越多的底事件越重要

    故障树相关过程

    (1)选择顶事件

    (2)建立故障树:规范化、事件逻辑门符号

    (3)故障树的定性分析:简化(布尔表达式化简)和求最小割集

    (4)故障树的定量分析:求顶事件发生的概率、重要度分析

    (5)确定设计上的薄弱环节(找出问题所在)

    (6)采取措施,提高产品的可靠性和安全性

    几何分布性质

    几何分布具有离散性,无记忆性(简单来说就是后面事件发生的概率与前面事件是否发生无关)

    U、Y、PLR 背景原理构造方法

    序列似然比PLR

    用来对两个模型预计质量的相对优劣进行评定的一个指标。

    PLR的总体思路是认为软件发生在软件失效时间的分布函数密度大的地方的可能性较大。预计软件失效时间的分布函数密度大的预计相比较而言更接近真实。

    f为模型的预计概率密度,若 PLR为正无穷,则说明A优于B,为0则说明B优于A,为常数则说明两者差不多。
    P L R = ∏ f a ( j ) f b ( j ) PLR=\prod{\frac{f_a(j)}{f_b(j)}} PLR=fb(j)fa(j)

    U图

    U图是用来检测预计和观察的失效行为之间系统而客观的差别。

    U图的目的是用来判断预测预计分布函数是否均匀的接近于实际分布函数。

    ui= Fi( t) ,将n+ 1个 ui的值按升序分类, 用uj表示分类以后的序列( j = 0, 1, 2, …, n) , 把点( uj , j / ( n+ 1) ) 描在图上。

    Y图

    U图能够检测出预计与显示的偏差。但ks距离很小的U图有时也会掩盖了偏差,Y图是通过对序列U进行变换后绘制的。Y图对U作如下变换

    x j = − l n ( 1 − u j ) , y j = ∑ l = i j x i / ∑ l = i i + n t i x_j=-ln(1-u_j),y_j=\sum_{l=i}^jx_i/\sum_{l=i}^{i+n}t_i xj=ln(1uj)yj=l=ijxi/l=ii+nti

    作图方法与U图作图法一样, 将 点( yj , j / ( n+ 1) ) 描在图上并作出 45°线。 这时单位斜率线上产生的偏差表示预测中的趋势。

    可靠性测试概念、特点、对比 增长测试 验证测试

    概念

    对软件可靠性进行定量的评估或验证,为了达到和验证软件的可靠性定量要求而对软件进行的测试

    主要特征

    按照用户实际使用软件的方法测试软件

    增长测试

    发现程序中影响软件可靠性的故障,并排除故障实现软件可靠性增长(软件系统测试阶段的末期)

    流程:构造操作剖面->生成测试数据->测试运行->测试结果分析->排错与回归测试/可靠性评估->可靠性进展分析->停止测试

    验证测试

    验证在给定的统计置信度下,软件当前的可靠性是否满足用户要求(软件验收阶段)

    流程:构造操作剖面->生成测试数据->测试运行->测试结果分析->接收/拒收判决->可靠性评估

    可靠性测试与一般测试的对比:
    比较项目软件可靠性增长测试一般软件测试
    测试目的评估软件可靠性水平,有效实现软件可靠性增长发现软件的故障
    测试效率达到可靠性要求较快达到可靠性要求较慢
    测试数据方法生成基于使用的测试,根据软件的使用状况构造操作剖面然后生成测试用例基于需求/结构的测试,根据软件的需求或结构生成测试用例
    数据收集需要收集测试输出结果和失效时间等数据只需要收集输出结果
    数据分析通过失效数据进行分析根据用例执行情况进行需求结构覆盖分析
    测试停止准则满足可靠性要求某些要求的结构覆盖率达到100%

    可靠性设计 避错设计简化设计 容错设计 原则 方法

    避错设计

    避错设计是在软件开发设计过程中,针对软件的具体特点,充分应用有效的软件工程技术、方法、工具,加强软件工程管理,避免软件错误的引入,从而保证和提高软件的可靠性。

    方法:

    通用类设计风格: 1.程序编写清楚,不要过分灵巧

    ​ 2.简明直接地说明用意

    ​ 3.尽量使用库函数

    ​ 4.保证特殊情况特殊处理

    结构类设计风格: 1.避免不必要的分支

    ​ 2.使用括号避免二义性

    ​ 3.调用公共函数代替重复的表示

    健壮性设计: 1.模块调用时检测参数合法性

    ​ 2.检查输入数据的数据类型

    监控定时器设计:提供监控定时器或类似措施,确保处理器或计算机系统具有处理程序超时或死循环的能力;监控定时器采用独立时钟源和独立的硬件实现

    异常保护设计:分析软件运行过程中各种可能的异常情况,设计相应的保护措施。异常处理措施必须使系统转入安全状态,并保持计算机处于运行状态。

    简化设计

    应从模块的独立性、扇入扇出以及单入口单出口等采取措施,同时还应综合考虑模块的复杂度和规模等因素。

    独立性准则:提高模块内聚度,降低耦合度,实现独立性

    单入口单出口要求:除中断情形外,模块应使用单入口和单出口控制结构

    扇入扇出原则:将模块在逻辑上构成分层次结构,在不同的层次上允许不同的扇入扇出数

    容错设计

    一定程度上对自身故障具有屏蔽能力,在一定程度上能从故障状态恢复到正常状态、软件故障时能在一定程度上完成预期的功能以及在一定程度上具有容错能力

    基本活动:故障检测(方法:软件自测试)、破坏估计、故障恢复、故障隔离、继续服务

    软件容错技术:为了实现软件容错,一般都要使用某种形式的冗余,这种冗余既可以是设计(算法)冗余,也可以是数据冗余。设计冗余是利用相异的软件模块来实现软件容错。

    分配方法

    等同分配

    串联部件可靠度: R i = R 1 n R_i=R^\frac{1}{n} Ri=Rn1

    并联部件可靠度: R i = 1 − [ 1 − R ] 1 n R_i=1-[1-R]^\frac{1}{n} Ri=1[1R]n1

    阿林斯分配

    假定软件系统为串联系统,n个部件失效率为常数,系统的容许失效率为 λ s \lambda_s λs,各部件的失效率为 λ i \lambda_i λi,根据此算得加权因子 ω i = λ i ∑ λ i \omega_i=\frac{\lambda_i}{\sum{\lambda_i}} ωi=λiλi,各部件分配的容许失效率 λ i ∗ = ω i ∗ λ s \lambda^*_i=\omega_i*\lambda_s λi=ωiλs

    agree分配(主要)

    设 系 统 的 可 靠 度 为 R , 若 系 统 由 m 个 分 系 统 组 成 , 各 分 系 有 n i 个 单 元 , 则 分 配 给 第 i 个 系 统 的 失 效 率 为 λ i = − n i l n R n ω i t i 设系统的可靠度为R,若系统由m个分系统组成,各分系有n_i个单元, 则分配给第i个系统的失效率为 \lambda_i=-\frac{n_ilnR}{n\omega_it_i} Rmniiλi=nωitinilnR

    分 配 给 第 I 个 系 统 的 可 靠 度 R i ( t i ) = 1 − − l n R n i n ω i = 1 − 1 − R n i n ω i 分配给第 I 个系统的可靠度 R_i(t_i)=1-\frac{-lnR^\frac{n_i}{n}}{\omega_i}=1-\frac{1-R^\frac{n_i}{n}}{\omega_i} IRi(ti)=1ωilnRnni=1ωi1Rnni

    故障树相关

    选择顶事件、建立故障树
    故障树的定性分析

    a)故障树的规范化

    b)规范化后的简化

    c)求最小割集

    故障树的定量分析

    a)求顶事件发生的概率(即系统的不可靠度 F s ( t ) F_s(t) Fs(t)

    设每个事件发生的概率为 P i P_i Pi最小割集的发生概率为 K i = ∏ P i , 其 中 P i 属 于 K i K_i=\prod{P_i},其中P_i属于K_i Ki=PiPiKi,则顶事件发生的概率为
    P ( T ) = P ( ∪ i = 1 n K i ) = ( 粗 略 计 算 或 最 小 割 集 相 互 独 立 ) ∑ i = 1 n P ( K i ) P(T)=P(∪_{i=1}^nK_i)=(粗略计算或最小割集相互独立)\sum_{i=1}^nP(K_i) P(T)=P(i=1nKi)=()i=1nP(Ki)
    当最小割集不相互独立且要求精确计算时,应当使用容斥原理。

    b)重要度分析

    1.第i个零件的概率重要度: Δ g i ( t ) = δ F s ( t ) δ F i ( t ) \Delta g_i(t)=\frac{\delta F_s(t)}{\delta F_i(t)} Δgi(t)=δFi(t)δFs(t),其中 F s ( t ) F_s(t) Fs(t)为系统不可靠度函数, F i ( t ) F_i(t) Fi(t)为第i个元部件的不可靠度, Δ g i \Delta g_i Δgi即为s对i求偏导的结果

    2.关键重要度: I i C R ( t ) = F i ( t ) F s ( t ) ∗ Δ g i ( t ) I^{CR}_i(t)=\frac{F_i(t)}{F_s(t)}*\Delta g_i(t) IiCR(t)=Fs(t)Fi(t)Δgi(t)

    3.结构重要度: I i ϕ = 1 2 n − 1 ∗ n i ϕ I^{\phi}_i=\frac{1}{2^{n-1}}*n^{\phi}_i Iiϕ=2n11niϕ

    展开全文
  • 软件可靠性 - 论文集

    2012-12-03 10:52:36
    软件可靠性: 关于如何度量软件可靠性的一些论文,做软件开发的值得研究一下。
  • 软件可靠性

    千次阅读 2017-03-09 17:47:30
    软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。软件可靠性随着给定的时间间隔的加大而减少。 一般说来,对于任何其故障是可以修复的系统,都应该同时使用可靠性和可用性衡量它的优劣...
  • 软件可靠性方法英文版

    热门讨论 2012-03-19 12:03:11
    Software Reliability Methods英文原版
  • 软件可靠性设计

    千次阅读 2020-12-29 10:19:42
    论软件的可靠性设计 摘要 2019年11月,我所在的软件公司承接了某保险集团下健康险服务实施管理系统...项目组结合软件可靠性设计与应用的原则,结合此前类似系统的设计经验,决定对软件系统采用软件容错的N版本程...
  • 设备软件可靠性测试

    千次阅读 2017-08-03 10:41:09
    这需要在实现基本功能前提下,在软件中设计一系列容错逻辑去保证。 为全面评估软件容错和故障恢复能力,测试需要制造或模拟一系列条件,包括内部硬件故障条件、外部恶意攻击条件、偶发过载条件、软件资源耗尽...
  • 软件可靠性计划过程组成与LRU简介

    千次阅读 2020-09-06 21:58:26
    上一篇文章介绍了软件可靠性性工程的基本概念软件可靠性工程简介,下面介绍软件可靠性过程SRE的软件可靠性计划如何制定及什么是LRU。 在软件设计之前,为了提高软件可靠性开发的效率,首先要对开发活动进行策划。下...
  • 可靠性分析软件

    2014-01-07 16:22:02
    可靠性分析工具,MTBF 失效率,故障率
  • 在网络设备软件功能越来越复杂的今天,软件架构的可靠性占有非常重要的地位。没有一个可靠的软件架构,设备的可靠性将无从谈起。本文以H3CComware V7软件平台为例,介绍其采用的软件架构可靠性设计方法。
  • 软件可靠性设计

    2012-03-02 11:38:23
    软件可靠性设计
  • 软件可靠性 课程PPt课件 对于学习软件测试方案的规划,软件测试的运用
  • 软件测试是保证软件质量的重要手段,软件可靠性是软件质量的重要度量。两者之间有着密切的内在联系。软件测试提高软件的可靠性;软件可靠性的评估可以为软件测试提供合理的终止信号。相对于硬件可靠性稳步上升的趋势,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 472,712
精华内容 189,084
关键字:

软件可靠性