文档介绍:软件可靠性
.
.
提要:
软件可靠性概念
软件失效的内涵
软件可靠性的发展
.
第一阶段:(1950-1967年)
软件可靠性学科萌芽时期。
软件可靠性发展至今可分为下列三个阶段:
第二阶段:(1968-1→m;
c→d→e→f→i→m;
c→d→e→g→j→m;
c→d→e→g→k→m;
c→d→l→m。
软件可靠性的基本知识
.
那么从点A到点B的所有独立路径数为:
520+519+…+51,约为1014或1016亿。如果考
虑程序输入数据的变化,那情况就更为复杂
了。
可见,软件可靠性问题在软件工程实
践中极为重要,对软件可靠性问题的研究
在国际上已十分活跃。
软件可靠性的基本知识
.
软件可靠性的基本概念
关于软件可靠性的确切定义,国际学术界曾经有过长期的争论。对软件可靠性定义的理解有广义和狭义两种:
广义的可靠性:
是指一切旨在避免、减少、处理、度量软件故障(错误、缺陷、失效)的分析、设计、测试方法、技术和实践活动。
软件可靠性的基本知识
.
与之相关的内容有软件可靠性度量、软件可靠性设计、软件可靠性建模、软件可靠性测试和软件可靠性管理等。
狭义的可靠性:
是指软件无失效运行的定量度量。
与之相关的内容有软件可靠性度、软件
失效强度和软件平均失效时间等。
软件可靠性的基本知识
.
软件可靠性的基本概念
一、软件的环境条件 二、时间的度量
三、软件的故障 四、影响软件可靠性因素
软件可靠性的基本知识
.
一、软件的环境条件
环境条件包括与程序存储有关的计算机及其操作系统。
例如计算机型号、字长、内存容量、外存介质的数量及容量、输入和输出设备的数量、通信网络、操作系统和数据管理系统、编译程序及其他支持软件等。
这些因素对程序的运行有很大的影响,但在使用中一般没有变化。
环境条件还包括软件的输入分布。
软件的输入有外部和内部输入:
软件可靠性的基本知识
.
程序在启动运行时,需要给变量赋值,即给程序提供输入数据,输入的数据可能由外部设备输入,也可能由早已存储在计算机内等待读取。
程序运行一次所需的输入数据构成程序输入空间的一个元素,这个元素是一个多维向量。
全部输入向量的集合构成程序的输入空间。
一组输入数据经过程序处理后得到一组输出数据,这些输出数据构成一个输出向量,全部输出向量的集合构成程序的输出空间。
软件可靠性的基本知识
.
程序输入空间的元素数量非常庞大,程序运行中每个元素被选用的概率各不相同,形成一定的概率分布,我们称此为程序运行剖面,程序的不同的运行状态,对应于不同的运行剖面。
软件操作剖面:通常是指软件运行的输入空间及其概率分布。
软件的输入空间是指软件所有可能的输入值构成的空间。按照欧空局标准的定义,软件的操作剖面是指“对系统使用条件的定义。即系统的输入值用其按时间的分布或按它们在可能输入范围内的出现概率的分布来定义”。
软件可靠性的基本知识
.
二、时间的度量
1. 日历时间
软件的测试和运行以日、周、月、年等为计时单位。
2. 时钟时间
软件从运行开始,到运行结束以时、分、秒为计时单位。其中包括等待时间和其他辅助
时间,但不包括停机占用时间。
3. 执行时间
计算机在执行程序时,实际占用中心处
理器(CPU)的时间,又称CPU时间。
软件可靠性的基本知识
.
三、软件的故障
软件可靠性工程的主要目标是保证提高软件可靠性。为达到这一目标,显然首先要弄清软件为什么会出现故障。只有这样,才有可能在软件开发过程中减少导致软件故障的隐患,且一旦出现什么故障,有可能采取有效措施加以清除。
弄清软件故障机理是软件可靠性分析的根本目标。由于软件内部逻辑复杂,运行环境动态变化,且不同的软件差异可能很大,因而软件故障机理可能有不同的表现形式。
软件可靠性的基本知识
.
譬如有的故障过程比较简单,易于追踪分析,而有的故障过程可能非常复杂,难于甚至不可能加以详尽描述和分析。尤其是运行于高度复杂实时环境中的大型软件。
但总的说来,软件故障机理可描述为:
软件失误、软件缺陷、软件错误和软件故障。
开发人员产生
在开发过程中
存在
在产品中
用户经历的
在运行时
失误
缺陷
失效
产品有
故障
在一定环境中
软件可靠性的基本知识
.
1.软件缺陷
软件开发中残留的内在缺陷称为软件缺陷。这些缺陷可以在软件生存期的各个阶段被引入。
软件可靠性的基本知识
.
在软件开发的各阶段,软件始终离不开人的参与,而人难免会犯