软件可靠性分析课件_第1页
软件可靠性分析课件_第2页
软件可靠性分析课件_第3页
软件可靠性分析课件_第4页
软件可靠性分析课件_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件可靠性分析课件第十三章第十三章 件可靠性工程概论件可靠性工程概论 13.1 13.1 引言引言 13.2 13.2 软件可靠性的定义软件可靠性的定义 13.3 13.3 软件可靠性的基本概念软件可靠性的基本概念 13.4 13.4 定义必要的可靠性定义必要的可靠性 13.5 13.5 开发操作剖面开发操作剖面 13.6 13.6 软件测试的类型软件测试的类型 13.7 13.7 软件可靠性增长试验模型软件可靠性增长试验模型软件可靠性分析课件13.113.1引言引言 在计算机问世的初期,由于硬件可靠计性不高,在计算机问世的初期,由于硬件可靠计性不高,根本无睱顾及软件的可靠性,因此软件可靠性的

2、根本无睱顾及软件的可靠性,因此软件可靠性的问题并没有引起人们的注意。随着社会信息化的问题并没有引起人们的注意。随着社会信息化的进展,处在其进展,处在其核心地位核心地位的计算机系统的可靠性变的计算机系统的可靠性变得越来越重要。得越来越重要。 微电子科学微电子科学和技术的进展出现了大量轻、薄、小和技术的进展出现了大量轻、薄、小且节能的硬件产品,使得计算机结构愈来愈灵活且节能的硬件产品,使得计算机结构愈来愈灵活和精巧,其应用范围也由此更广泛。和精巧,其应用范围也由此更广泛。 由于软件规模与应用领域的日益扩大,由于软件规模与应用领域的日益扩大,软件的故软件的故障越来越严重障越来越严重,出现了,出现了“

3、软件危机软件危机”。 软件可靠性分析课件软件在现场中出现的突出问题软件在现场中出现的突出问题 (a a)透明度差透明度差。由于采用。由于采用“手工作坊手工作坊”的开发方的开发方式,未能加强软件开发过程的管理,使得软件出式,未能加强软件开发过程的管理,使得软件出现故障后只能由原开发者处理,其他人很难介入,现故障后只能由原开发者处理,其他人很难介入,与硬件产品相比,透明度很差。与硬件产品相比,透明度很差。 (b b)自检不能保证软件的质量自检不能保证软件的质量。尚未建立像硬件。尚未建立像硬件的的“三检三检”体制(自检、互检、专检)。体制(自检、互检、专检)。 (c c)尚未建立严格的技术状态管理尚

4、未建立严格的技术状态管理(即配置管(即配置管理),未做到软件的规范化设计及管理。目前由理),未做到软件的规范化设计及管理。目前由于技术状态管理不严及未能进行规范化的设计与于技术状态管理不严及未能进行规范化的设计与管理而引入的软件错误很多。管理而引入的软件错误很多。软件可靠性分析课件软件危机的出路软件危机的出路 解决软件危机的出路在于软件生产的工业化及软解决软件危机的出路在于软件生产的工业化及软件开发的件开发的工程化、规范化、工程化、规范化、使软件成为工业品而使软件成为工业品而不是工艺品。目前,软件生产已逐渐走上工业化、不是工艺品。目前,软件生产已逐渐走上工业化、社会化、商品化的途径。软件知识的

5、传播、软件社会化、商品化的途径。软件知识的传播、软件制作方式和软件技术发展,都需要一系列关于软制作方式和软件技术发展,都需要一系列关于软件性能的评价指标,用以衡量一个软件好坏,软件性能的评价指标,用以衡量一个软件好坏,软件的可靠性就是其中很重要的一个评价指标。件的可靠性就是其中很重要的一个评价指标。 软件软件寿命周期包括了提出要求寿命周期包括了提出要求/ /规格说明、设计、规格说明、设计、实现、检验和维护等五阶段。实现、检验和维护等五阶段。 软件可靠性分析课件软件与硬件可靠性的差别软件与硬件可靠性的差别 软件的可靠性与硬件的可靠性有许多相似软件的可靠性与硬件的可靠性有许多相似之处,更有许多差别

6、。这种之处,更有许多差别。这种差异是由于软、差异是由于软、硬件故障机理的差异造成的硬件故障机理的差异造成的,因而使软件,因而使软件可靠性在术语内涵、指标选择、设计分析可靠性在术语内涵、指标选择、设计分析手段以及提高软件可靠性的方法与途径等手段以及提高软件可靠性的方法与途径等方面具有其自身的特点。方面具有其自身的特点。软件可靠性分析课件13.213.2软件可靠性的定义软件可靠性的定义 软件可靠性的定义(软件可靠性的定义(MusaMusa,Iannino and Iannino and OkumotoOkumoto,19871987),是在一段特定的自然单元或时),是在一段特定的自然单元或时间间隔

7、内,间间隔内,无失效运行的概率无失效运行的概率。 软件的软件的质量质量包括包括可靠性、开发时间与开发费用三可靠性、开发时间与开发费用三要素要素 软件可靠性的软件可靠性的要求要求 1.1.确保产品的可靠性达到用户要求。确保产品的可靠性达到用户要求。 2.2.加快产品上市的速度。加快产品上市的速度。 3.3.降低产品的成本。降低产品的成本。 4.4.提高用户满意度,降低用户不满意的风险。提高用户满意度,降低用户不满意的风险。 5.5.提高生产率。提高生产率。 软件可靠性分析课件图图13-113-1软件可靠性工程过程框图软件可靠性工程过程框图定义“必要的”可靠性开发操作剖面准备测试应用失效数据得到结

8、论执行测试需求与体系机构设计与实现测试定义“必要的”可靠性开发操作剖面准备测试应用失效数据得到结论执行测试需求与体系机构设计与实现测试软件可靠性分析课件13.313.3软件可靠性的基本概念软件可靠性的基本概念 软件故障及其特性软件故障及其特性 对于软件的不正常,常用的三个术语来描述:对于软件的不正常,常用的三个术语来描述: (a a)缺陷()缺陷(faultfault):指的是软件的内在缺陷。):指的是软件的内在缺陷。 (b b)错误()错误(errorerror):缺陷在一定环境条件下暴):缺陷在一定环境条件下暴露,导致系统运行中出现可感知的不正常、不正露,导致系统运行中出现可感知的不正常、

9、不正确和不按规范执行的状态。确和不按规范执行的状态。 (c c)故障()故障(failurefailure):由于对错误未作任何纠):由于对错误未作任何纠正而导致系统的不可预定的要求。正而导致系统的不可预定的要求。软件可靠性分析课件软件故障的特性软件故障的特性 缺陷可以导致错误并造成系统的故障缺陷可以导致错误并造成系统的故障,因此,因此, 缺陷是一切错误的根源,故存在下面的传递关系:缺陷是一切错误的根源,故存在下面的传递关系: 缺陷缺陷错误错误故障故障 软件发生故障,标志着软件一次使用寿命的结束。软件发生故障,标志着软件一次使用寿命的结束。发生过故障的软件通常仍然是可用的发生过故障的软件通常仍

10、然是可用的。只有当软。只有当软件频繁故障,或件频繁故障,或公认已经公认已经“陈旧陈旧”时,软件才被时,软件才被废弃废弃,意味着这一版本软件寿命的终结,这一点,意味着这一版本软件寿命的终结,这一点需要特别加以说明。需要特别加以说明。软件可靠性分析课件软件缺陷一般性质软件缺陷一般性质 a a 软件缺陷的固有性软件缺陷的固有性b.b.缺陷对环境的敏感性缺陷对环境的敏感性c.c.软件错误的传染性软件错误的传染性软件可靠性分析课件软件缺陷的固有性软件缺陷的固有性 软件一旦有缺陷,它将潜伏在软件中,直软件一旦有缺陷,它将潜伏在软件中,直到它被发现和改正。反之,在一定的环境到它被发现和改正。反之,在一定的环

11、境下,软件一旦运行是正确的,它将继续保下,软件一旦运行是正确的,它将继续保持这种正确性,除非使用环境发生了变化。持这种正确性,除非使用环境发生了变化。此外,它不像硬件,随时间的推移会因使此外,它不像硬件,随时间的推移会因使用而不断用而不断“耗损耗损”。因此软件缺陷是。因此软件缺陷是“牢牢靠的靠的”、“无耗损无耗损”的潜伏于软件之中。的潜伏于软件之中。软件可靠性分析课件缺陷对环境的敏感性缺陷对环境的敏感性 对于一个软件来说,它的各部分之间有着密切的联系。软对于一个软件来说,它的各部分之间有着密切的联系。软件的运行过程实际上是件的运行过程实际上是各部分之间交换一个逻辑组合过程各部分之间交换一个逻辑

12、组合过程,不同的逻辑组合就可得到不同的程序路径,而每一次软件不同的逻辑组合就可得到不同的程序路径,而每一次软件运行或完成某一功能都是选择了某一条程序路径。运行或完成某一功能都是选择了某一条程序路径。选什么选什么样的程序路径是由软件自身确定输入环境决定的。对于不样的程序路径是由软件自身确定输入环境决定的。对于不同的输入环境,软件的运行路径可能有不同。如果软件在同的输入环境,软件的运行路径可能有不同。如果软件在某些程序路径上含有缺陷,那么在执行这些程序路径时就某些程序路径上含有缺陷,那么在执行这些程序路径时就有可能发生错误。这就是软件错误与输入环境的关系。有可能发生错误。这就是软件错误与输入环境的

13、关系。 对在一定输入环境下工作出错的软件,当退出该环境后,对在一定输入环境下工作出错的软件,当退出该环境后,对于其他环境,此软件又可能正常工作,但当再次进入该对于其他环境,此软件又可能正常工作,但当再次进入该环境时,软件又会出错。这缺陷对环境是十分敏感的。环境时,软件又会出错。这缺陷对环境是十分敏感的。软件可靠性分析课件软件错误的传染性软件错误的传染性 任一软件缺陷,只要未被排除,始终存在任一软件缺陷,只要未被排除,始终存在该软件中,一旦暴露,处理过程就将产生该软件中,一旦暴露,处理过程就将产生错误,而这种错误往往是变化的。例如,错误,而这种错误往往是变化的。例如,由于某一处错误处理,使某个处

14、理变量由于某一处错误处理,使某个处理变量C C的的值与要求不合,当变量值与要求不合,当变量C C继续参加运行时会继续参加运行时会引起处理过程中的其他错误。故这类错误引起处理过程中的其他错误。故这类错误是具有是具有“传染性传染性”的。如果错误不被纠正,的。如果错误不被纠正,也许这种错误就一直存在以至继续也许这种错误就一直存在以至继续“传传染染”,直到引起软件故障。,直到引起软件故障。软件可靠性分析课件13.4 13.4 定义必要的可靠性定义必要的可靠性13.4.1 失效与错误13.4.2 失效强度13.4.3 失效严重程度分类软件可靠性分析课件13.4.1 13.4.1 失效与错误失效与错误 失

15、效失效是系统运行行为对用户要求的偏离,是一种面向用户是系统运行行为对用户要求的偏离,是一种面向用户的概念。的概念。错误错误是在系统运行时,引起或可能潜在地引起失是在系统运行时,引起或可能潜在地引起失效的缺陷,是一种面向开发的概念(效的缺陷,是一种面向开发的概念(MusaMusa,1989a1989a)。例)。例如,当用户单击某个具体菜单项时,本来应该在屏幕上出如,当用户单击某个具体菜单项时,本来应该在屏幕上出现特定的对话框,但是却没有出现。这种行为就是一个失现特定的对话框,但是却没有出现。这种行为就是一个失效。造成这种失效的错误可能是遗漏代码。效。造成这种失效的错误可能是遗漏代码。 请注意,失

16、效意味着系统的运行只有在执行程序过程中才请注意,失效意味着系统的运行只有在执行程序过程中才会出现软件失效。程序员发现的潜在失效,可以是设计审会出现软件失效。程序员发现的潜在失效,可以是设计审查、代码阅读和其他方法所产生的结果。查、代码阅读和其他方法所产生的结果。 软件错误是代码中的缺陷,是由错误引起的,是一个人或软件错误是代码中的缺陷,是由错误引起的,是一个人或多个人的不正确或遗漏行为造成的。例如,系统工程师在多个人的不正确或遗漏行为造成的。例如,系统工程师在定义需求时可能会犯错误,从而导致代码中的错误,而代定义需求时可能会犯错误,从而导致代码中的错误,而代码错误又导致在一定条件下执行系统时出

17、现失效。码错误又导致在一定条件下执行系统时出现失效。软件可靠性分析课件13.4.2 13.4.2 失效强度失效强度 失效强度最初是指单位时间出现的失效次失效强度最初是指单位时间出现的失效次数数 在可靠性工程中失效强度定义为失效率在可靠性工程中失效强度定义为失效率 软件的失效强度目标,有三种主要策略:软件的失效强度目标,有三种主要策略:错误预防、错误清除和容错。测试是错误错误预防、错误清除和容错。测试是错误清除的一部分。清除的一部分。 软件可靠性分析课件表表13-2 13-2 软件失效强度目标与推荐策略软件失效强度目标与推荐策略可靠性水平 失效强度/103小时 策略指导 超可靠 2000 一般测

18、试比容错 软件可靠性分析课件13.4.3 13.4.3 失效严重程度分类失效严重程度分类失效严重程度 定 义 1 用户不能进行一项或多项关键操作 2 用户不能进行一项或多项重要操作 3 用户不能进行一项或多项操作,但有补救办法 4 一项或多项操作中的小缺陷 软件可靠性分析课件13.5 13.5 开发操作剖面开发操作剖面 为了开发操作剖面,对每个被测系统必须包括:为了开发操作剖面,对每个被测系统必须包括:确定操作模式、确定操作人员与设备、选择表格确定操作模式、确定操作人员与设备、选择表格或图形、创建操作表、确定操作与故障的出现率或图形、创建操作表、确定操作与故障的出现率及出现概率、及出现概率、

19、三个主要术语是三个主要术语是操作、操作剖面和操作模式操作、操作剖面和操作模式。 操作是一个主要的系统逻辑任务,操作是一个主要的系统逻辑任务, 操作应该与功能需求或产品特征(经常是列举出操作应该与功能需求或产品特征(经常是列举出来的)相关,而不是设计中的子任务。来的)相关,而不是设计中的子任务。 当一个操作将控制权还给系统后,它释放相关的当一个操作将控制权还给系统后,它释放相关的资源以便开始一个新操作。资源以便开始一个新操作。 软件可靠性分析课件13.613.6软件测试的类型软件测试的类型 软件可靠性工程测试包括两种类型:软件可靠性工程测试包括两种类型: 可靠性增长测试和确认测试。可靠性增长测试

20、和确认测试。 可靠性增长测试的目标是找到并清除错误。可靠性增长测试的目标是找到并清除错误。 确认测试,如果用户将要进行验收测试。确认测试,如果用户将要进行验收测试。 剩余错误数量与软件可靠性有关系,剩余错误不剩余错误数量与软件可靠性有关系,剩余错误不能度量而只能是推测。能度量而只能是推测。 可靠性结合了与程序执行相关联的所有属性。例可靠性结合了与程序执行相关联的所有属性。例如,它包括正确性、安全性的操作方面,以及对如,它包括正确性、安全性的操作方面,以及对用户的友好性。用户的友好性。 软件失效的根源在于设计错误,而硬件失效的主软件失效的根源在于设计错误,而硬件失效的主要根源通常在于物理变质。要根源通常在于物理变质。 软件可靠性分析课件13.7 13.7 软件可靠性增长试验模型软件可靠性增长试验模型可靠

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论