- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
完美WORD格式
范文范例.指导参考
软件可靠性模型综述
可靠性是衡量所有软件系统最重要的特征之一。不可靠的软件会让用户付出更多的时间和金钱, 也会使开发人员名誉扫地。IEEE 把软件可靠性定义为在规定条件下, 在规定时间内, 软件不发生失效的概率。该概率是软件输入和系统输出的函数, 也是软件中存在故障的函数, 输入将确定是否会遇到所存在的故障。
软件可靠性模型,对于软件可靠性的评估起着核心作用,从而对软件质量的保证有着重要的意义。一般说来,一个好的软件可靠性模型可以增加关于开发项目的效率,并对了解软件开发过程提供了一个共同的工作基础,同时也增加了管理的透明度。因此,对于如今发展迅速的软件产业,在开发项目中应用一个好的软件可靠性模型作出必要的预测,花费极少的项目资源产生好的效益,对于企业的发展有一定的意义。
1软件失效过程
1.1软件失效的定义及机理
当软件发生失效时,说明该软件不可靠,发生的失效数越多,发生失效的时间间隔越短,则该软件越不可靠。软件失效的机理如下图所示:
1)软件错误(Software error):指在开发人员在软件开发过程中出现的失误,疏忽和错误,包括启动错、输入范围错、算法错和边界错等。
2)软件缺陷(Software defect):指代码中存在能引起软件故障的编码,软件缺陷是静态存在的,只要不修改程序就一直留在程序当中。如不正确的功能需求,遗漏的性能需求等。
3)软件故障(Software fault):指软件在运行期间发生的一种不可接受的内部状态,是软件缺陷被激活后的动态表现形式。
4)软件失效(Software failure):指程序的运行偏离了需求,软件执行遇到软件中缺陷可能导致软件的失效。如死机、错误的输出结果、没有在规定的时间内响应等。
从软件可靠性的定义可以知道,软件可靠性是用概率度量的,那么软件失效的发生是一个随机的过程。在使用一个程序时,在其他条件保持一致的前提下,有时候相同的输入数据会得到不同的输出结果。因此,在实际运行软件时,何时遇到程序中的缺陷导致软件失效呈现出随机性和不稳定性。
所有的软件失效都是由于软件中的故障引起的,而软件故障是一种人为的错误,是软件缺陷在不断的测试和使用后才表现出来的,如果这些故障不能得到及时有效的处理,便不可避免的会造成软件失效。而一个软件中存在的软件错误和缺陷总数是无法确定的,也不可能被完全排除掉,有时候排除掉一个故障甚至会引起更多的故障。
所以在软件开发周期中,软件错误是不可避免的,但可以通过学习改进,不断吸取经验教训,尽量减少程序中的错误特别是重大错误的数量。在测试阶段,测试人员应尽可能多的检测并排除掉软件中的故障,从而减少软件失效强度,提高软件的可靠性和质量。
1.2提高软件可靠性的途径
软件中的故障会导致软件功能不能正常实现,降低了软件的可靠度。软件故障一般是软件开发各阶段人为造成的,大概包括需求分析定义错误、设计错误、编码错误、测试错误和文档错误等。
因此要想获得高可靠性的软件,就要和软件中的故障做斗争。有以下三种直接的方式来减少软件故障,提高软件可靠性:
1)软件故障预防
软件故障预防是指预防或者避免错误的发生或引入,从而减少故障检测和排除造成的花费。加强软件开发员的教育和培训可以对减少故障起到一定的作用,另外在软件开发中可以利用下面几个故障预防技术:软件开发方法,软件配置管理,软件可靠性安全性设计和自动化故障预防等。
2)软件故障的检测和排除
故障检测和故障排除是指从数量上和严重程度上减少软件中的故障。这在软件测试中用得最多,测试人员要在限定的时间和费用内发现并排除掉尽可能多的故障,这是提高软件可靠性的主要途径。故障检测和排除技术可以分为静态方法和动态方法。
静态方法是在不实际运行软件的条件下检测软件的故障并进行排除,包括软件人工审查技术,软件静态分析技术和软件可靠性分析技术。
动态方法主要是通过运行软件来观测软件的失效,从而消除故障。动态测试技术主要包括:白盒测试技术,黑盒测试技术与软件可靠性测试技术。
3)软件故障的遏制
软件故障遏制也称容错技术,是指在错误存在的情况下,不导致软件失效,并仍能完成系统功能的能力。主要的软件容错技术主要包括恢复块技术和 N 版本编程技术。
2 软件可靠性模型的概述
软件可靠性工程使用的模型有两大类型:
2.1可靠性结构模型
靠性结构模型是指用于反映系统结构逻辑关系的数学方程。借助这类模型,在掌握软件单元可靠性特征的基础上,可以对系统的可靠性特征及其发展变化规律做出评价。软件可靠性结构模型包括串联系统模型、并联系统模型,以及硬-软件复合系统模型等。软件可靠性结构模型
文档评论(0)