软件可靠性介绍.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件危机的具体体现


4. 软件产品质量无法保证 系统中的错误难以消除。软件是逻辑产品, 质量问题很难以统一的标准度量,因而造成质量 控制困难。 软件产品并不是没有错误,而是盲目检测很 难发现错误,而隐藏下来的错误往往是造成重大 事故的隐患。
软件危机的具体体现

5. 软件产品难以维护 软件产品本质上是开发人员的代码化的逻辑 思维活动,他人难以替代。除非是开发者本人, 否则很难及时检测、排除系统故障。 为使系统适应新的硬件环境,或根据用户的 需要在原系统中增加一些新的功能,又有可能增 加系统中的错误。
软件危机的具体体现

6. 软件缺少适当的文档资料 缺乏必要的文档资料或者文档资料不合格, 将给软件开发和维护带来许多严重的困难和问题。 最典型失败系统的例子是: IBM公司开发OS/360系统,共有4000多个模 块,约100万条指令,投入5000人年,耗资数亿 美元,结果还是延期交付。在交付使用后的系统 中仍发现大量(2000个以上)的错误。
软件可靠性介绍
目 录
一、软件危机介绍 二、软件可靠性概述 三、软件可靠性的检测方法 四、提高软件可靠性的方法
一、软件危机介绍
什么是软件危机
软件危机(software
crisis),是指落 后的软件生产方式无法满足迅速增长的计 算机软件需求,从而导致软件开发与维护 过程中出现一系列严重问题的现象。
2002年11月28日,欧洲的亚里安娜5型火箭因发动 机控制系统软件的错误而导致飞行试验失败。


事故原因分析
据统计,计算机系统中,由于软件错误引起的故障 占所有故障的65%。 美国贝尔(Bell)实验室曾对一个AT&T运行支持系 统作了统计,发现80%的故障与软件有关。 究其原因是软件太复杂了,一个小小的程序,其可 能的路径可以是天文数字,以致于在软件开发过程 中难以对其作穷尽的测试,或者说难于完全排除软 件缺陷。
软件危机的提出
1968年北大西洋公约组织的计算机科学家在联邦 德国召开国际会议,第一次讨论软件危机问题。 会上提出,软件危机的主要问题之一就是软件可 靠性低,经常出故障。 会上正式提出“软件工程”一词,从此一门新兴 的工程学科——软件工程学——为研究和克服软 件危机应运而生。

软件危机的形成原因
软件危机的背景


20 世纪60年代以前,计算机刚刚投入实际使用,软件设计往 往只是为了一个特定的应用而在指定的计算机上设计和编制, 采用密切依赖于计算机的机器代码或汇编语言;软件的规模 比较小,文档资料通常也不存在,很少使用系统化的开发方 法;设计软件往往等同于编制程序,基本上是个人设计、个 人使用、个人操作、自给自足的私人化的软件生产方式。 60年代中期,大容量、高速度计算机的出现,使计算机的应 用范围迅速扩大,软件开发急剧增长。高级语言开始出现; 操作系统的发展引起了计算机应用方式的变化;大量数据处 理导致第一代数据库管理系统的诞生。软件系统的规模越来 越大,复杂程度越来越高,软件可靠性问题也越来越突出。 原来的个人设计、个人使用的方式不再能满足要求,迫切需 要改变软件生产方式,提高软件生产率,软件危机开始爆发 。
软件危机的具体体现

2. 软件开发成本难以控制 投资一再追加,令人难于臵信。往往是实际 成本比预算成本高出一个数量级。而为了赶进度 和节约成本所采取的一些权宜之计又往往损害了 软件产品的质量,从而不可避免地会引起用户的 不满。
软件危机的具体体现

3. 用户对产品功能难以满足 开发人员和用户之间很难沟通、矛盾很难统 一。往往是软件开发人员不能真正了解用户的需 求,而用户又不了解计算机求解问题的模式和能 力,双方无法用共同熟悉的语言进行交流和描述。 在双方互不充分了解的情况下,就仓促上阵 设计系统、匆忙着手编写程序,这种“闭门造车” 的开发方式必然导致最终的产品不符合用户的实 际需要。

软件危机的具体体现

1. 软件开发进度难以预测 拖延工期几个月甚至几年的现象并不罕见, 这种现象降低了软件开发组织的信誉。
以丹佛新国际机场为例: 该机场规模是曼哈顿机场的两倍,宽为希思机场的 10倍,可以全天侯同时起降三架喷气式客机;投资1.93 亿美元建立了一个地下行李传送系统,总长21英里,有 4000台遥控车,可按不同线路在20家不同的航空公司柜 台、登机门和行李领取处之间发送和传递行李;支持该 系统的是5000个电子眼、400台无线电接受机、56台条形 码扫描仪和100台计算机。按原定计划要在1993年万圣节 前启用,但一直到1994年6月,机场的计划者还无法预测 行李系统何时能达到可使机场开放的稳定程度。
硬件生产率大幅提高 软件规模增大,复杂度增大

以美国宇航局的软件系统为例: 1963年 水星计划系统 200万条指令 1967年 双子星座计划系统 400万条指令 1973年 阿波罗计划系统 1000万条指令 1979年 哥伦比亚航天飞机系统 4000万条指令
软件生产率很低 硬、软件供需失衡
二、软件可靠性概述
软件可靠性定义
“在规定的条件下,在规定的时间内,软件不引起 失效的概率”。 规定的条件:

软件运行的软、硬件环境
软件操作剖面:软件运行的输入空间及其概率分布

规定的时间:
日历时间 时钟时间 执行时间
软件可靠性问题的提出
1968年在联邦德国召开的北大西洋公约组织国际 软件工程会议上提出的“软件危机”的主要问题 之一,就是软件可靠性低,经常出故障。 从那时起,业界才开始认识到软件可靠性的重要 性。

软件故障
软件可靠性
软件故障的特点
激活软件 缺陷的数据 输入域
软件缺陷
软件
不可接受的结果 (软件故障) 输出域
举例——由于软件故障造成的重大事故

美国空军的范登堡中心在60年代后期发生过多次导 弹试射失败的事故,事后发现几乎都是由软件错误 造成的;

我国某型号飞机首飞前航空电子系统在地面测试中 测出的故障共800多个,其中软件故障就达600多个, 约占75%; 美国的Therac-25放射性治疗仪由于软件存在缺陷 导致几个癌症病人受到非常严重的过量放射性治疗, 其中4个人因此死亡;
相关文档
最新文档