文档详情

ch软件可靠性度量.ppt

发布:2017-02-18约字共55页下载文档
文本预览下载声明
第5章 软件可靠性度量 §5.1 引言 5.1.1 软件可靠性工程及软件可靠性 软件可靠性工程 应用统计技术,处理在软件开发过程中或(和)运行期间所采集的失效数据,以便详细说明并预计、估计和评价软件的可靠性 研究内容包括软件可靠性的基本概念和定义、软件可靠性指标体系、可靠性建模、可靠性设计技术、测试技术和管理技术等 软件可靠性工程处理以下问题: 确定某过程能否提供满足可靠性要求的代码 为过程改进提供度量 预测软件维护阶段的失效率,确定软件维护工作量 帮助进行安全性认证 确定交付软件产品的时间或停止测试的时机 估计下次故障的可能时间 为软件更新或升级,标识需要重新设计的主要部件 测定软件的可靠性 软件可靠性 可靠性是软件的13个质量因素中最关键、最重要的 软件可靠性是指在规定时间和条件下软件无故障运行的概率,是系统功能或软件产品中存在的缺陷的函数 软件故障产生的原因是软件缺陷,但缺陷并不一定导致故障的产生,高缺陷率的软件的可靠性不一定就差 软件失效意味着软件运行中断或者无法完成所规定的任务 几个值得关注的问题: 软件的运行环境:软件可靠性与运行环境密切相关 软件运行的时间间隔:商业软件需要较高的运行时间间隔(较长的运行寿命),而任务关键软件则需要在短时间内高效运行 软件失效的时机是随机的,与硬件失效类似 不同于软件的正确性,对于持续运行的软件其可靠性最终将归于零(以失效结束);但正确性是软件的特定的某次运行结果,要么为1,要么为0 5.1.2 软件的缺陷、故障和失效 缺陷(Error,错误):设计和构造进产品 总数是不可预知的,只能估计 缺陷分为已知和未知(新发现)的 缺陷分为已发现的和未发现的 已发现的缺陷包括已纠正的和未纠正的 故障(Fault):运行结果错误 故障是缺陷的表现形式,是由存在的缺陷产生的 但缺陷并不一定导致故障,或者条件不具备,或者不会产生故障 失效(Failure):系统不能完成所需要的功能而失败 失效是故障在软件运行时所产生的后果 软件质量度量与软件过程有什么关系? 5.1.3 软件失效 软件失效是随机发生的 描述失效的方法有三个: 累计失效函数:即与某时间点相关的平均累计失效数 失效率函数:用累计失效函数的变化率表示 平均失效时间MTTF函数:对于一个时间段,表示若干相邻失效时间间隔的平均值;对某个时间点,表示到下次失效的期望时间 软件失效率 如果没有缺陷,软件失效率为0 如果发现的缺陷能被及时、完全修复,失效率会趋向0 实际上,发现的缺陷数会递增,而纠正一个缺陷会引入更多的缺陷,因而失效率会增加 §5.2 软件可靠性度量和建模 5.2.1 基本概念 软件可靠性建模过程是根据软件过去的故障行为建立软件可靠性数学模型的过程 建模的目的是为了预计软件将来的故障行为 建模过程包括以下步骤: 通过度量获得历史数据 对故障数据进行分析,拟合成概率分布函数 对拟合函数进行参数分析 确定所期望的可靠性度量值并预测可能的故障行为 5.2.2 软件可靠性度量参数 软件可靠性R(t)可定义为:在给定条件下,在时间[0,t]内,软件无故障运行的概率 若用T表示软件无故障运行的时间间隔,F(t)为T的累积分布函数,则软件可靠性可表示为: R(t)=1-F(t) t≥0 故障率函数λ(t)为: 其中,f(t)为F(t)的函数密度,即: λ(t)Δt是在时间[0,t]内软件正常运行,在[t,t+Δt]内发生故障的条件概率,可得: 密度函数f(t)、累积分布函数F(t)、可靠性函数R(t)和故障率函数λ(t)紧密相关,一般可由任一个惟一地确定另外三个,例如若λ(t)给定,则: 根据f(t)或R(t)可计算平均失效时间函数MTTF,从而预测故障时间 5.2.3 软件可靠性度量模型 指数分布 密度函数为 分布函数为 故障率函数为 (常数) 具有指数寿命分布的软件产品(故障率为常数)没有老化现象,符合不需要维护的软件的运行情况 Weibull分布 Weibull是更常用的分布,在许多工程领域的可靠性分析中都广泛应用,如轴承磨损、河流泛滥等 Weibull分布有两个参数α、β(β为1时变为指数函数) 函数密度为: 分布函数为: 故障率函数为: §5.3 软件可靠性数据收集过程 数据收集和分析是度量软件可靠性的最重要的先决条件,任何可靠性度量的有效性都与数据收集的有效性直接相关,数据收集过程必须有计划、有组织地进行 与软件可靠性相关的数据包括: 缺陷数据 过程数据 产品数据:如规模、功能、性能等 5.3.1 缺陷数据的收集 缺陷数据的收集常采用问答、报告形式,即发放问题报告表格要求有关人员填写,收集并分析问题报告表格形成统计数据 5.3.2 过程数据的收集 缺陷数据必须与过程融合才有价值
显示全部
相似文档