[其它考试]课件S01 软件可靠性工程-基础.pptVIP

  • 0
  • 0
  • 约3.84千字
  • 约 46页
  • 2018-02-28 发布于浙江
  • 举报

[其它考试]课件S01 软件可靠性工程-基础.ppt

[其它考试]课件S01 软件可靠性工程-基础

软件可靠性工程 第一部分 基础 提要 软件可靠性概念 软件失效的内涵 软件可靠性工程 对可靠软件的需求 软件广泛应用于社会的各个角落,系统设计者利用软件可以设计出更多、适应范围更广、跨领域的应用,系统对软件的需求和依赖,使得软件可靠性对系统可靠性产生重大影响 软件产品既必需满足用户的功能要求,又必须稳定可靠地完成用户的任务 软件可靠性的重要程度依赖于风险成本,如果软件失效的代价很高,则软件的可靠性也就非常重要 软件自身规模、复杂性、重要性的增加,给获得可靠软件带来挑战 超高可靠性需求 航空器控制 医疗设备 汽车发动机控制 轨道/列车控制系统 金融管理系统 软件的状况 硬件飞速发展,软件不相适应,硬件越来越可靠,而软件虽然采取了许多办法,但常在带有剩余缺陷的情况下发布和部署,使得软件已经成为系统崩溃的主要原因 大部分软件不是十分可靠 软件可靠性的内涵 IEEE的定义 在规定的条件下,在规定的时间内,软件不引起系统失效的概率,该概率是系统输入和系统使用的函数,也是软件中存在的缺陷的函数;系统输入将确定是否会遇到存在的缺陷(如果缺陷存在的话)。 在规定的时间周期内,在所述条件下程序完成所需功能的能力。 与软件可靠性相关的要素 规定的任务和功能(不引起失效) 系统输入和系统使用(规定的条件) 时间周期(规定的时间) ISO/IEC 软件可靠性定义 ISO/IEC 9126-1:2001, IDT(GB/T16260-2004 ) 在指定条件下使用时,软件产品维持规定的性能级别的能力。 成熟性、容错性、易恢复性、可靠性的依从性 ISO/IEC 软件可靠性定义 成熟性 软件产品为避免由软件中故障而导致失效的能力 容错性 在软件出现故障或者违反其指定接口的情况下,软件产品维持规定的性能级别的能力。规定的性能级别可能包括失效防护能力 ISO/IEC 软件可靠性定义 易恢复性 在失效发生的情况下,软件产品重建规定的性能级别并恢复受直接影响的数据的能力。 可靠性的依从性 软件产品遵循与可靠性相关的标准、约定或法规的能力。 软件不可靠的九大原因 不完善的需求定义 客户与开发人员缺乏交流 偏离软件需求 逻辑设计错误 编码错误 编码与文档不一致 缺少测试过程 接口定义错误 不受控的变更 软件可靠性动态 二十世纪八十年代之前,主要集中于软件可靠性建模研究 二十世纪九十年代以来,软件可靠性测试和软件可靠性工程的研究工作进展较快 部分案例 ATT 、HP、摩托罗拉 、IBM、NASA 、微软等的工作 国内的进展 软件可信性的概念 没有普遍接受的定义 类似于RAMS 可信性 = 可靠性 + 可用性 + 安全性 + 保密性 + 维护性 失效(Failure) IEEE Std 1633™-2008的定义 系统或系统部件不能在规定的限制内完成所需功能 功能单元完成所需功能的能力被终止 程序的运行偏离了其需求 失效(Failure) 失效状态 考虑到相关的操作及环境条件,由一个或多个失效引起或作用的对系统的直接和后继的影响 失效—分级 失效状态可划分为不同的等级 不同的失效状态对可靠性的影响具有差异 软件失效的分级可以依据不同的前提 所带来的安全风险 所造成的经济损失 对系统任务的影响 失效—分级的例子 失效类别 对服务质量的影响 A 基本服务中断 B 基本服务质量降低 C 使用不方便,需要立即修改 D 影响较小,可延期修改 失效—分级的作用 根据软件失效的级别,通过可靠性分析,找出关键的软件部件(子系统/配置项/部件/单元/功能),进行重点管理,降低开发风险 对软件进行分级管理 关键/重要/一般 A/B/C/D/E 根据软件失效的级别,识别关键功能,进行标识和追踪管理 失效—来源 事件链1 软件错误  缺陷  故障  失效 事件链2 使用错误  失效 失效—事件链因素 导致使用错误的原因 缺少清晰的、良好结构化的用户文档 复杂的用户接口 缺乏培训/支持 用户的教育或系统背景知识不足 用户对操作环境或产品用途了解不足 产品规格说明和用户使用环境不一致 不适当的硬件配置 失效—事件链因素 错误(Error) 在软件开发过程中出现的不符合期望或不可接受的人为差错 典型的错误 误解或遗漏了用户需求 设计没有完整的实现软件需求 程序设计错误 失效—事件链因素 缺陷(Defect) 存在于软件中的、不期望的或不可接受的偏差。在特定的状态下,导致软件不能完成所需的任务 典型的软件缺陷 数组越界使用 计算表达式错误 算法实现错误 失效—事件链因素 故障(Fault) 软件中缺陷的体现。如:软件的计算或判断与规定的不符合等 一个故障如果发生,可能引起失效 典型的软件故障 资源泄露 执行了多余的循环 无限递归调用 失效—机理 导致软件失效的缺陷主要是设计问题

文档评论(0)

1亿VIP精品文档

相关文档