软件可靠性(第一讲).pptVIP

  • 21
  • 0
  • 约5.03千字
  • 约 51页
  • 2018-06-08 发布于贵州
  • 举报
软件可靠性(第一讲)

软件可靠性 因软件设计故障与因计算机硬件设计故障而引发的系统失效的比例大约是:10:1 运行软件的驻留故障密度(每千行代码的故障数目): ——要求很高的关键财务或财产软件为:每千行代码 1~10个故障 ——关键的生命软件为:每千行代码0.01~1个故障 IEEE将软件可靠性定义为:系统在特定环境下,在给定的时间内无故障运行的概率。 软件可靠性是对软件在设计、开发以及所预定的环境下具有能力的置信度的一个度量,是衡量软件质量的主要参数之一。而软件测试则是保证软件质量、提高软件可靠性的最重要手段。 软件缺陷与故障 1、软件缺陷和软件故障案例 案例1 美国迪斯尼公司的狮子王游戏软件bug 兼容性问题 案例2 美国航天局火星登陆事故 系统测试 衔接问题 案例3 跨世纪“千年虫”问题 案例4 爱国者导弹防御系统炸死自家人 系统时钟误差积累 案例5 Windows 2000 中文输入法漏洞 案例6 金山词霸bug 上述所有实例中的软件问题在软件工程或软件测试中都被称为软件缺陷或软件故障。 软件缺陷的定义 至少满足下列5个规则之一才称发生了一个软件缺陷(software bug) “看不到” ——软件的特殊性决定了缺陷不易看到 “看到但是抓不到” ——发现了缺陷,但不易找到问题发生的原因所在 2.软件错误 软件缺陷在一定条件下暴露并导致系统在运行中出现可感知的不正常、不正确、不按规范执行的内部状态,则认为软件出现“错误”,简称出错。 所谓不正确的内部状态,是指在此状态下,当正常的算法继续下去时,就会发生软件故障。 软件错误是由于软件缺陷造成的。 一个错误可能是多个故障源。 软件可靠性的基本知识 3.软件故障 在对错误不作任何纠正和恢复的情况下,导致系统的输出不满足用户提供的正式文件上指明的要求,或双方协议的条款,称为软件的一次故障。 软件故障是由于软存错误造成的一种外部表现,它是动态的、程序执行过程中出现的行为表现。 软件可靠性的基本知识 综上所述,软件缺陷是人为错误。 当一个软件缺陷被激活时,便产生一 个或多个软件错误; 当软件错误不加以纠正时,便不可避 免地产生软件故障。 同一个软件缺陷下可能产生不同的软件故障。 软件可靠性的基本知识 四、影响软件可靠性因素 软件可靠性因素:软件生存期内影响软件可 靠性的因素。 显然,有许许多多因素可以影响软件可靠性,包括技术的、社会的、经济的、甚至文化的,因为在软件生存期的各个阶段均有人的干预,而人的行为受到各方面因素的影响。 软件可靠性的基本知识 但从技术角度来看,影响软件可靠性的 因素主要包括: 1. 运行环境(剖面) 软件可靠性定义相对于运行环境而言,同 一软件在不同运行剖面下,其可靠性行为可能 极不相同。 软件可靠性的基本知识 我们知道,软件故障是软件缺陷在一定 输入情况下被激活的结果。于是可以将软件 输入域划分为两个部分(G和F) : G 中的输入不会激活软件的缺陷,F 中的输入恒激活软件缺陷。如果运行剖面不包含F中的输入,则软件不会出现故障,其可靠性恒为1。 反之,如果运行剖面不包含G中的输入, 则每一输入情况下均出现故障。如果没有容错 措施,则导致软件故障,软件可靠性恒为0。 软件可靠性的基本知识 2.软件规模 如果软件只含一条指令,那么谈论软件可靠性问题便失去意义。随着软件规模的增大,软件可靠性问题愈显突出。 在我们考虑软件可靠性问题时,软件一般是指中型以上软件(4000~5000条以上语句),这时可靠性问题难以对付。 软件可靠性的基本知识 3. 软件内部结构 软件内部结构一般比较复杂,且动态变 化,对可靠性的影响也不甚清楚。 但总的说来,结构越复杂,软件复杂度越 高,内含缺陷数越多,因而软件可靠度越低。 软件可靠性的基本知识 4. 软件可靠性设计技术。 一般是指软件设计阶段中采用的用以 保证和提高软什可靠性为主要目标的软件技术。 如故障模式与影响分析(FMECA)、故障 树分析(FTA)等。显然采用或不采用软件可靠 性设计技术对软件可靠性必有影响。 软件可靠性的基本知识 * * 提要: 软件可靠性概念 软件失效的内涵 软件可靠性的发展 第一阶段:(1950-1967年) 软件可靠性学科萌芽时期。 软件可靠性发展至今可分为下列三个阶段: 第二阶段:(1968-1987年) 软件可靠性学科的形成时期。 第三阶段:(1988年至今) 软件可靠性向工程应用过渡的时期。 对软件可靠性的要求 软件应用广泛; 软件必须满足用户要求,又要稳定可靠的完

文档评论(0)

1亿VIP精品文档

相关文档