软件可靠性(第一讲).ppt
《软件可靠性(第一讲).ppt》由会员分享,可在线阅读,更多相关《软件可靠性(第一讲).ppt(51页珍藏版)》请在三一办公上搜索。
1、软件可靠性,提要:,软件可靠性概念,软件失效的内涵,软件可靠性的发展,第一阶段:(1950-1967年)软件可靠性学科萌芽时期。,软件可靠性发展至今可分为下列三个阶段:,第二阶段:(1968-1987年)软件可靠性学科的形成时期。,第三阶段:(1988年至今)软件可靠性向工程应用过渡的时期。,对软件可靠性的要求,软件应用广泛;,软件必须满足用户要求,又要稳定可靠的完 成用户的任务;,软件可靠性的重要程度依赖于风险成本;,软件规模、复杂性、重要性的增加给 软件可靠性带来挑战。,超高可靠性要求的领域,航空航天领域;,汽车发动机控制;,轨道、列车控制系统;,医疗设备;,金融管理系统;,软件的状况,硬
2、件飞速发展,软件不相适应,硬件越来越可靠,软件虽然采取了很多办法,但还是系统崩溃的主要原因;,大部分的软件不是很可靠。,软件不可靠性的因素,不完善的需求定义;,客户与开发人员缺乏沟通;,逻辑设计错误;,偏离软件需求;,缺少测试过程;,编码错误;,编码与文档不一致;,因软件设计故障与因计算机硬件设计故障而引发的系统失效的比例大约是:10:1 运行软件的驻留故障密度(每千行代码的故障数目):要求很高的关键财务或财产软件为:每千行代码 110个故障 关键的生命软件为:每千行代码0.011个故障 IEEE将软件可靠性定义为:系统在特定环境下,在给定的时间内无故障运行的概率。软件可靠性是对软件在设计、开
3、发以及所预定的环境下具有能力的置信度的一个度量,是衡量软件质量的主要参数之一。而软件测试则是保证软件质量、提高软件可靠性的最重要手段。,软件可靠性问题,软件缺陷与故障,1、软件缺陷和软件故障案例案例1 美国迪斯尼公司的狮子王游戏软件bug 兼容性问题案例2 美国航天局火星登陆事故 系统测试 衔接问题 案例3 跨世纪“千年虫”问题 案例4 爱国者导弹防御系统炸死自家人 系统时钟误差积累 案例5 Windows 2000 中文输入法漏洞案例6 金山词霸bug 上述所有实例中的软件问题在软件工程或软件测试中都被称为软件缺陷或软件故障。,软件缺陷的定义,至少满足下列5个规则之一才称发生了一个软件缺陷(
4、software bug),1)软件未实现产品说明书要求的功能;,2)软件出现了产品说明书指明不应该出现的错误;,3)软件实现了产品说明书未提到的功能;,4)软件未实现产品说明书未提及但应实现的功能;,5)软件难以理解、不易使用、运行缓慢,用户评价不好。,举例:计算器内的嵌入式软件,“看不到”软件的特殊性决定了缺陷不易看到“看到但是抓不到”发现了缺陷,但不易找到问题发生的原因所在,软件缺陷的特征,软件可靠性的基本知识,Contents:软件可靠性的基本概念 软件可靠性的基本特征量软件可靠性设计,软件可靠性的基本概念,一、软件的环境条件 二、时间的度量三、软件的故障 四、影响软件可靠性因素,软件
5、可靠性的基本知识,软件可靠性的基本特征(可靠性参数),1.系统不工作次数 2.系统平均不工作间隔时间(MTBD)3.有效性(A)4.平均修复时间(MTTR)5.平均不工作时间(MDT)6.初期故障率7.偶然故障率 8.使用方误用率9.用户提出补充要求数 10.处理能力,随着计算机软件的飞速发展,软件可靠性已变得越来越重要。据统计,计算机系统中,由于软件错误引起的故障占所有故障的65。究其原因是软件太复杂了,一个小小的程序,其可能的路径可以是天文数字,以致于在软件开发过程中难以对其作穷尽的测试,或者说难于完全排除软件缺陷。,软件可靠性的基本知识,为了说明软件的复杂性,让我们考虑一个由10至20条
6、高级语言构成的程序,其控制流程图如图所示。,软件可靠性的基本知识,图中每个结点或圆圈代表一段可能以转移语句结束的顺序执行语句,每条弧代表两段程序间的控制转移。假设程序含有一个最少重复20次的循环语句,而在循环体内,则有一些嵌套的条件语句。假设程序中所有判断都是相互独立的,由于有5条贯穿循环体的路径:即cdefhm;cdefim;cdegjm;cdegkm;cdlm。,软件可靠性的基本知识,那么从点A到点B的所有独立路径数为:520+519+51,约为1014或1016亿。如果考虑程序输入数据的变化,那情况就更为复杂了。可见,软件可靠性问题在软件工程实践中极为重要,对软件可靠性问题的研究在国际上
7、已十分活跃。,软件可靠性的基本知识,软件可靠性的基本概念,关于软件可靠性的确切定义,国际学术界曾经有过长期的争论。对软件可靠性定义的理解有广义和狭义两种:,广义的可靠性:,是指一切旨在避免、减少、处理、度量软件故障(错误、缺陷、失效)的分析、设计、测试方法、技术和实践活动。,软件可靠性的基本知识,与之相关的内容有软件可靠性度量、软件可靠性设计、软件可靠性建模、软件可靠性测试和软件可靠性管理等。,狭义的可靠性:,是指软件无失效运行的定量度量。与之相关的内容有软件可靠性度、软件失效强度和软件平均失效时间等。,软件可靠性的基本知识,软件可靠性的基本概念,一、软件的环境条件 二、时间的度量三、软件的故
8、障 四、影响软件可靠性因素,软件可靠性的基本知识,一、软件的环境条件 环境条件包括与程序存储有关的计算机及其操作系统。例如计算机型号、字长、内存容量、外存介质的数量及容量、输入和输出设备的数量、通信网络、操作系统和数据管理系统、编译程序及其他支持软件等。这些因素对程序的运行有很大的影响,但在使用中一般没有变化。环境条件还包括软件的输入分布。软件的输入有外部和内部输入:,软件可靠性的基本知识,程序在启动运行时,需要给变量赋值,即给程序提供输入数据,输入的数据可能由外部设备输入,也可能由早已存储在计算机内等待读取。,程序运行一次所需的输入数据构成程序输入空间的一个元素,这个元素是一个多维向量。全部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 可靠性 第一
链接地址:https://www.31ppt.com/p-5319388.html