博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
系统的可靠性设计问答
阅读量:4039 次
发布时间:2019-05-24

本文共 3437 字,大约阅读时间需要 11 分钟。

  1. 软件可靠性的定义是什么
  2. 与软件可靠性有关的定量指标简介
  3. 软件可靠性目标是什么,通过哪些指标衡量
  4. 可靠性测试存在的意义是什么
  5. 可靠性测试的目的是什么
  6. 软件可靠性建模是什么,应该怎么去操作
  7. 如何进行软件可靠性评价
  8. 软件可靠性设计是什么

 

1.软件可靠性的定义是什么

答:软件可靠性是指产品在规定条件下和规定时间内完成规定功能的能力。规定的时间只是体现在软件的运行阶段,包括系统运行后工作和挂起的累计时间。规定的条件是指软件的运行环境。软件可靠性与规定的任务和功能有关,不同任务功能的可靠性是不一样的。

按照产品可靠性的形成,可靠性分为固有可靠性和使用可靠性。固有可靠性是通过设计、制造赋予产品的可靠性;使用可靠性既受设计、制造的影响,也受使用条件的影响。一般使用可靠性总低于固有可靠性。软件可靠性不同于硬件可靠性的主要区别点有四个:复杂性,软件的逻辑复杂性高于硬件;物理退化,软件不会发生物理退化;唯一性,软件复制不会改变软件本身,硬件则没有两个完全相同的硬件;版本更新,软件更新速度快于硬件更新。

保障软件可靠性最有效、最经济、最重要的手段是在软件设计阶段采取措施,控制可靠性。

 

2.与软件可靠性有关的定量指标简介

答:规定时间,有三种概念,第一种是日然时间,如工作日、会计日等;第二种是运行时间,从软件启动到运行结束的时间段;第三种是执行时间,是运行时间中CPU执行程序执行的时间总和。实际测量中以执行时间最为准确,如果出现稳定的执行规律,可以进行时间的折算。

失效概率一个函数,在0到正无穷的区间上单调递增,随着时间变化无限趋近于1.

可靠度直接的量化公式是:可靠度函数+失效概率函数=1

失效强度是单位时间软件系统出现实现的概率。用极限的定义方式得到:失效强度为失效概率函数的导数。

失效率也称为风险函数或者条件失效强度,是在运行至此软件系统为失效的情况下,单位时间软件系统出现失效的概率。

平均无失效时间是软件运行后到下一次出现失效的平均时间。

 

3.软件可靠性目标是什么,通过哪些指标衡量

答:可靠性目标是客户对软件性能满意程度的期望,通常用可靠度、故障强度、平均失效时间等指标来描述。定量的可靠性指标需要对可靠性、交付时间、成本进行平衡。系统的可靠性指标必须确定系统的运行模式,定义故障的严重性等级,确定故障强度目标。

失效严重程度类是对用户具有相同程度影响的失效集合。对失效程度验证程度分级一般是按照成本影响、系统能力影响等标准进行划分。

 

4.可靠性测试存在的意义是什么

答:软件失效可能造成的灾难性后果、软件失效在计算机系统失效中比例较高、软件可靠性技术比硬件可靠性技术不成熟、软件可靠性问题引起费用增长、系统对软件部分的依赖增强。

 

5.可靠性测试的目的是什么

答:发现软件系统在需求、设计、编码、测试、实施等方面的各种缺陷;为软件使用和维护提供可靠性数据;确认软件是否达到可靠性的定量要求。

 

6.软件可靠性建模是什么,应该怎么去操作

答:软件可靠性模型是为预计或估算软件的可靠性建立的可靠性框图或者数学模型。建立可靠性模型是将复杂的系统的可靠性逐级分解为简单系统的可靠性,便于定量预计、分配、估算和评价复杂系统的可靠性。

首先考虑影响软件可靠性的主要因素:缺陷的引入、发现、清楚。从技术层面上看,影响可靠性的主要因素有:运行剖面(环境)、软件规模、软件内部结构、软件开发方法和开发环境、软件可靠性投入。

接下来是找到软件可靠性建模的一些基本组成元素,包括模型假设、性能度量、参数估计方法、数据要求等。绝大多数模型包含三个共同假设,目前尚未有克服这些假设的有效方法,它们是代表性假设、独立性假设、共同性假设。一个好的软件可靠性模型应该具有如下重要的特性:基于可靠的假设、简单、计算指标有效有用、给出未来失效行为的良好映射、可广泛应用。

可靠性模型有近百种,大体上分为十类,分别是:种子类模型,根据预先设定的错误分类和比重设定一些错误,测试后跟这些错误的比重对比,发现遗留错误,难在预先设定;失效率类模型,主要研究程序失效率;曲线拟合类模型,使用回归分析方法研究软件复杂性、程序缺陷数、失效率、失效间隔时间,包括参数方法和非参数方法两种;可靠性增长模型,预测软件在检错过程中可靠性改进,用增长函数来描述软件的改进过程;程序结构分析模型,根据程序、子程序、相互间的调用关系形成一个可靠性分析网络;输入域分类模型,选取输入域中某些样本进行检测,通过检测结果推断软件的使用可靠性;执行路径分析模型,根据执行过程中计算程序的逻辑路径执行概率和错误罗静执行概率推断软件的使用可靠性;非齐次泊松过程模型,NHPP,预测软件在某使用时间点的累计失效数;马尔可夫过程模型;贝叶斯模型,利用失效率的实验前分布和当前的测试失效此案系,评估软件的可靠性。

软件可靠性测试由可靠性目标的确定、运行剖面的开发、测试用例的设计、测试实施、测试结果的分析等主要活动组成,基于对软件开发进度和成本的约束,最好在受控的自动测试环境下完成测试。软件可靠性测试是面向可靠性的,并不能保证软件的bug最少。

定义软件运行剖面是根据系统的目标运行环境构件模拟测试环境,对业务路径进行概率加权,对业务路径的全状态进行贯穿性测试,检测故障比例,根据反馈的故障比例适当的做补充测试。

可靠性测试用例应优先测试最重要最频繁使用的功能,释放和缓解最高级别的风险,提早发现故障保证软件按期交付。

软件可靠性测试必须是受控测试。软件可靠性测试依赖于软件的可测试性,可靠性测试的难点在于判断测试用例运行成功还是失败。软件可靠性测试大体上分为两个阶段,第一阶段是少量测试用例检查运行结果的正确定,第二阶段是大量的测试用例检查失效现象。软件可靠性数据是可靠性评价的基础,可以使用多台机器同时运行软件增加累计运行时间。在收集的数据中,重点关注失效时间数据、失效间隔时间数据、分组时间内失效数、分组时间的累积失效数,然后进行统计分析,得出可靠性的实际测量值。

 

7.如何进行软件可靠性评价

答:软件可靠性评价是评估软件当前的可靠性,确认是否可以终止测试并发布软件,同时还可以预计软件要达到相应的可靠性水平所需要的时间和工程量,评价提交软件时软件的可靠性水平。软件可靠性评价需要经过三个过程,分别是选择可靠性模型、收集可靠性数据、可靠性评估和预测。

可靠性模型的选择需要从以下方面进行考虑:模型假设的适用性、预测的能力和质量、模型输出值能否满足可靠性评价需求、模型适用的简便性。

可靠性数据的收集要解决数据规范不统一、工作连续性问题、有效的数据收集手段、数据完整性、数据质量和正确性。只要解决好这些问题,数据收集方面基本上不会有什么大的出入。

软件可靠性评价技术和方法主要依据选用的软件可靠性模型,其来源于统计理论。失效数据图形分析法可以借助图形进行处理失效数据,得到部分分析信息。试探性数据分析技术(EDA),可以对数据进行处理,发现和揭示数据中的异常。

 

8.软件可靠性设计是什么

答:软件可靠性设计技术是提高和保障软件的可靠性为目的,在软件设计阶段运用的一种特殊设计技术,将可靠性设计融入到软件设计中。目前被认可且具有应用前景的软件可靠性设计技术主要有容错设计、检错设计、降低复杂度设计三种技术。

容错设计技术主要有恢复块设计、N版本程序设计、冗余设计三种具体的方法。恢复块设计是类似于程序模块的替代方案,当正常程序出现错误的时候,切换到程序模块的替换方案上。N版本设计是通过多个模块或版本,对相同初始条件和输入的操作结果进行多数决策,少数服从多数。N版本方法要保证每个版本的设计人员和实施人员是不同的,最好保证全程要素的不相关性。冗余技术是对关键部分或者整体上做出的替换方案,当关键部分或者整体上出现故障时,启动冗余方案来替代,粒度层级高于恢复块设计。

检错技术主要针对不能采用容错设计的部分,同时还对可靠性要求较高。检错技术的场景不能自动解决故障,需要在故障发生后及时进行人工干预,所以采用检错技术时需要考虑检错多项、检测延时、实现方式、处理方式等这些因素。

软件复杂度由软件的模块复杂性和结构复杂性组成,模块复杂性包括模块内部的数据流向和程序长度两个方面,结构复杂度有不同模块之间的关联程度决定,软件复杂性是产生软件缺陷重要根源,实践表明,当软件复杂度超过一定界限时,软件缺陷数会急剧上升。由此,降低复杂度设计是非常有必要的。

转载地址:http://dmpdi.baihongyu.com/

你可能感兴趣的文章
安装k8s Master高可用集群
查看>>
忽略图片透明区域的事件(Flex)
查看>>
忽略图片透明区域的事件(Flex)
查看>>
AS3 Flex基础知识100条
查看>>
Flex动态获取flash资源库文件
查看>>
flex中设置Label标签文字的自动换行
查看>>
Flex 中的元数据标签
查看>>
flex4 中创建自定义弹出窗口
查看>>
01Java基础语法-13. if分支语句的灵活使用
查看>>
01Java基础语法-15.for循环结构
查看>>
01Java基础语法-16. while循环结构
查看>>
01Java基础语法-17. do..while循环结构
查看>>
01Java基础语法-18. 各种循环语句的区别和应用场景
查看>>
01Java基础语法-19. 循环跳转控制语句
查看>>
Django框架全面讲解 -- Form
查看>>
socket,accept函数解析
查看>>
今日互联网关注(写在清明节后):每天都有值得关注的大变化
查看>>
”舍得“大法:把自己的优点当缺点倒出去
查看>>
[今日关注]鼓吹“互联网泡沫,到底为了什么”
查看>>
[互联网学习]如何提高网站的GooglePR值
查看>>