《软件可靠性》PPT课件

《软件可靠性》PPT课件

ID:39724351

大小:571.10 KB

页数:80页

时间:2019-07-10

《软件可靠性》PPT课件_第1页
《软件可靠性》PPT课件_第2页
《软件可靠性》PPT课件_第3页
《软件可靠性》PPT课件_第4页
《软件可靠性》PPT课件_第5页
资源描述:

《《软件可靠性》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三单元 软件可靠性2007年8月12日软件可靠性问题的提出20世纪中期是计算机硬件飞速发展的阶段,但软件开发尚处于低级阶段,软件的重要性还不显著。随着软件的大量使用和软件规模的迅速增长,软件可靠性低的问题日益显著,并作为“软件危机”的主要问题之一于1968年被提了出来。据了解,美国航天飞机上飞行软件有50多万行源代码;而F一22战斗机上的飞行软件的源代码数更是高达150多万行。另据美国军方的统计,美国军方在武器装备作战使用中遇到的问题,软件问题约占到70%左右。由于软件故障造成的重大事故不乏其例美国空军的范登堡中心在60年代后期发生过多次导弹试

2、射失败的事故,事后发现几乎都是由软件错误造成的;F一18战斗机在海湾战争中,飞行控制软件共发生了500多次故障;我国某型号飞机首飞前航空电子系统在地面测试中测出的故障共800多个,其中软件故障就达600多个,约占75%;由于软件故障造成的重大事故不乏其例1990年1月15日,美国一通信中转系统新投入使用的软件发生了错误,导致主干线远程网大规模崩溃;美国的Therac-25放射性治疗仪由于软件存在缺陷导致几个癌症病人受到非常严重的过量放射性治疗,其中4个人因此死亡;2002年11月28日,欧洲的亚里安娜5型火箭因发动机控制系统软件的错误而导致飞行试验

3、失败。软件可靠性的发展在20世纪50年代末60年代初,计算机硬件从晶体管到集成电路,得到了飞速的发展.而软件开发仍处于很低级的阶段,极大地依赖于开发人员的编程技巧,且主要关注的是软件的功能。1968年在西德召开的国际软件工程会议上提出的“软件危机”的主要问题之一,就是软件可靠性低,经常出故障。从那时起,才开始认识到软件可靠性的重要性。据统计,计算机系统中,由于软件错误引起的故障占所有故障的65%。美国贝尔(Bell)实验室曾对一个AT&T运行支持系统作了统计,发现80%的故障与软件有关。究其原因是软件太复杂了,一个小小的程序,其可能的路径可以是天文

4、数字,以致于在软件开发过程中难以对其作穷尽的测试,或者说难于完全排除软件缺陷。调用路径太多其中每个结点或圆圈代表一段可能以转移语句结束的顺序执行语句,每条弧代表两段程序间的控制转移。程序含有一个最少重复20次的循环语句.由于有5条贯穿循环体的路径,即c→d→e→f→h→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)故障机理硬件产生故障的原因有四个方面:即设计问题、生产过程中的问题、超载及耗损。硬件故障主要是由于耗

5、损(物理退化)所致的,而软件不存在物理退化现象。这就决定了软件正确性与软件可靠性密切相关,一个正确的软件任何时刻均可靠;然而一个正确的硬件元器件或系统则可能在某个时刻故障。软件没有耗损问题并不等于没有可靠性问题,因在开发过程中常有一些随机因素,不可避免地会在软件中留下缺陷,因而软件也有可靠性问题。所以硬件的故障机理是耗损,而软件的故障机理就是残留缺陷在一定环境下造成的软件错误。软件与硬件的不同(2)复杂性软件内部逻辑高度复杂,而硬件内部逻辑较为简单,这就在很大程度上决定了设计错误是导致软件故障的主要原因,而导致硬件故障的可能性则很小。(3)唯一性软

6、件是唯一的,软件拷贝不改变软件本身,而任何两个硬件不可能绝对相同。软件可靠性的核心是“思考”问题,软件中不可能象硬件那样分解成元部件,它只有语句。语言本身造成的软件故障较少,且通过静态测试(目测或编译)可加修正。软件错误来源主要是软件设计者的思维错误及软件的复杂性,这是难以控制的。故软件可靠性的提高需从人的思维正确性和减少软件的复杂性两方面着手。这正如我们用汉语写文章,观点有错误不能归咎于语言本身不好,而应归咎于人的思想。(4)可靠性的核心由于软件内部逻辑复杂,运行环境动态变化,且不同的软件差异可能很大,因而软件故障机理可能有不同的表现形式。譬如有

7、的故障过程比较简单,易于追踪分析,而有的故障过程可能非常复杂,难于甚至不可能加以详尽描述和分析,尤其是运行于高度复杂实时环境中的大型软件。但总的说来,软件故障机理可描述为:软件缺陷→软件错误→软件故障。软件故障(1)软件缺陷软件缺陷(Default):软件开发中残留的内在缺陷称为软件缺陷。这些缺陷可以在软件生存期的各个阶段被引入。在软件开发的各阶段,软件始终离不开人的参与,而人难免会犯错误,这样就必然给软件留下不良的痕迹。例如一段程序进行某些数据处理,若在处理过程中就产生软件错误,则说明这段程序存在缺陷或缺少一个程序段。软件缺陷是一个静止的现象,只

8、在一定的输入条件下才能被激活导致软件错误,而且软件错误也不一定导致软件故障,比如容错软件中的错误就可以被检测出来并可纠正或

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。