0. 概述

  • 适用:
    • 软件开发过程:
      • 估计软件当前可靠性,以确认是否可以终止测试并发布软件
      • 预计软件要达到相应的可靠性水平所需要的时间和工作量
      • 评价提交软件时的软件可靠性水平
    • 最终软件系统
      • 确定最终软件产品所达到的可靠性水平
  • 平价过程
    • 选择可靠性模型
    • 收集可靠性数据
    • 可靠性评估和预测

1. 选择可靠性模型

  • 对于不同的软件系统,的可靠性分析目的不同,选择的模型也不同。

2.1 模型假设

  • 概述:
    • 是可靠性模型的基础
    • 应符合软件系统的现有状况
      • 与假设冲突的因素在软件系统中应该是可忽略
      • 对模型的假设应逐条细致分析

2.2 预测的能力与质量

  • 概述:
    • 预测的能力:模型根据已有的可靠性数据,预测将来的可靠性和失效概率的能力
    • 预测的质量:其预测结果的准确程度
  • 在满足其他条件的前提下,应尽量选用比较成熟、应用较广的模型作为分析模型

2.3 模型输出值

  • 根据可靠性测试目的来确定哪些模型的输出值满足可靠性评价需求
  • 需要精确估计的可靠性定量指标:
    • 当前的可靠度
    • 平均无失效时间
    • 故障密度
    • 期望达到规定可靠性目标的日期
    • 达到规定的可靠性目标的成本要求

2.4 模型使用的简便性

  • 模型需要的数据易于收集
  • 模型应该简单易懂
  • 模型应该便于使用

3. 可靠性数据的收集

  • 可靠性数据:
    • 主要是指软件失效数据
    • 是软件可靠性评价的基础

3.2 数据的来源

  • 贯穿于整个软件生命周期
    • 主要在软件测试实施阶段收集的
    • 面向缺陷的可靠性测试产生的测试数据
    • 软件工程的需求、设计和开发阶段的可靠性活动产生的可靠性数据

3.3 收据收集的难点

  • 可靠性数据的规范不统一,对软件进行度量的定义混乱不清
  • 数据收集工作的连续性不能保证
  • 缺乏有效的数据收集手段
  • 数据的完整性不能保证
  • 数据质量和准确性不能保证

3.4 解决方案

  • 及早确定所采用的可靠性模型
  • 制订良好的可靠性数据收集计划
  • 重视测试数据的整理分析
  • 利用数据库来完成可靠性数据的存储和统计分析

4. 软件可靠性的评估和预测

4.1 软件可靠性评估解答的问题

  • 软件是是否达到了可靠性目标
  • 软件是否达到了可使用的条件
  • 是否可以终止测试
  • 若没有达到可靠性目标,再投入多少人力、物理可以达到
  • 运行指定时间后,是否还能达到交付的可靠性水平

4.2 未测出失效的处理

  • 不能认为可靠度是1.0
    • 处理方案1:简单地假设该测试是基于二项式分布的,这样就可以对可靠性进行保守估计
    • 处理方案2:根据无故障运行的测试用例的数量,估计可靠性的等级

4.3 辅助方法

1)失效数据的图形分析法

  • 概念:是一种通过运行图形处理软件,对失效数据进行直观分析的方法
  • 指标:
    • 累积失效个数图形
    • 单位时间段内的失效数的图形
    • 失效间隔时间图形

2)试探性数据分析技术

  • 概念:
    • Exploratory Data Analysis
    • 对于失效数据图形进行一定的数字化分析,从而发现和揭示出数据中的异常
  • 对可靠性分析有用的信息:
    • 循环相关
    • 短期内失效数的急剧上升
    • 失效数集中的时间段
  • 这种分析方法常可以发现因排错引入新的缺陷、数据收集的质量问题、时间域的错误定义等问题

《系统架构设计师教程(第2版)》第9章-软件可靠性基础知识-06-软件可靠性评价-LMLPHP

04-18 08:38