软件可靠性由什么支持
软件可靠性(Software Reliability) 软件可靠性是指在给定时间内,特定环境下软件无错运行的概率。软件的可维护性,主要表现在:1、可理解性。一个可维护的软件必然是可理解的。软件的可理解性是指通过阅读源代码和相关文档,了解软件的功能和如何运行的容易程度。软件的可理解性可以使用“90-10测试”的方法来衡量,即如果一个有经验的程序员阅读一份源代码清单10分钟,可以写出该程序的90%,则认为这个程序具有可理解性。2、可测试性。一个可维护的软件必然是可测试的。软件的可测试性是指验证软件程序正确的难易程度。可测试性好的软件,通常意味着软件设计简单,复杂性低。因为软件的复杂性越大,测试的难度也就越大。3、可修改性。一个可维护的软件必然是可修改的。软件的可修改性是指修改软件的难易程度。软件的可修改性可以通过进行几个简单的修改练习来评价。假设软件的平均复杂性是C,要修改的模块的复杂性是A,那么修改的难度可由下面公式计算:D=A/C。4、可靠性。一个软件的可靠性越高,需要维护的概率就会越低。软件的可靠性是指软件在满足用户需求的前提下,在给定的时间段内正确运行的概率。软件可靠性的度量有以下两种方法:根据软件的错误统计进行可靠性预测。如度量软件的平均失效间隔时间(MTTF)。根据软件的复杂性进行可靠性预测。
什么是软件的可靠性?他包括哪些要素?
1983年美国IEEE计算机学会对“软件可靠性”作出了明确定义,此后该定义被美国标准化研究所接受为国家标准,1989年我国也接受该定义为国家标准。该定义包括两方面的含义: (1)在规定的条件下,在规定的时间内,软件不引起系统失效的概率; (2)在规定的时间周期内,在所述条件下程序执行所要求的功能的能力; 其中的概率是系统输入和系统使用的函数,也是软件中存在的故障的函数,系统输入将确定是否会遇到已存在的故障(如果故障存在的话)。
软件可靠性是关于软件能够够满足需求功能的性质,软件不能满足需求是因为软件中的差错引起了软件故障。软件中有哪些可能的差错呢? 软件差错是软件开发各阶段潜入的人为错误: 1.需求分析定义错误。如用户提出的需求不完整,用户需求的变更未及时消化,软件开发者和用户对需求的理解不同等等。 2.设计错误。如处理的结构和算法错误,缺乏对特殊情况和错误处理的考虑等。 3.编码错误。如语法错误,变量初始化错误等。 4.测试错误。如数据准备错误,测试用例错误等。 5.文档错误。如文档不齐全,文档相关内容不一致,文档版本不一致,缺乏完整性等。 从上游到下游,错误的影响是发散的,所以要尽量把错误消除在开发前期阶段。 错误引入软件的方式可归纳为两种特性:程序代码特性,开发过程特性。 程序代码一个最直观的特性是长度,另外还有算法和语句结构等,程序代码越长,结构越复杂,其可靠性越难保证。 开发过程特性包括采用的工程技术和使用的工具,也包括开发者个人的业务经历水平等。 除了软件可靠性外,影响可靠性的另一个重要因素是健壮性,对非法输入的容错能力。 所以提高可靠性从原理上看就是要减少错误和提高健壮性。