ch软件可靠性度量.pptx
《ch软件可靠性度量.pptx》由会员分享,可在线阅读,更多相关《ch软件可靠性度量.pptx(54页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、2022/5/23www.china-15.1 引言n5.1.1 软件可靠性工程及软件可靠性n软件可靠性工程应用统计技术,处理在软件开发过程中或(和)运行期间所采集的失效数据,以便详细说明并预计、估计和评价软件的可靠性研究内容包括软件可靠性的基本概念和定义、软件可靠性指标体系、可靠性建模、可靠性设计技术、测试技术和管理技术等2022/5/23www.china-2软件可靠性工程处理以下问题:n确定某过程能否提供满足可靠性要求的代码n为过程改进提供度量n预测软件维护阶段的失效率,确定软件维护工作量n帮助进行安全性认证n确定交付软件产品的时间或停止测试的时机n估计下次故障的可能时间n为软件更新或升
2、级,标识需要重新设计的主要部件n测定软件的可靠性2022/5/23www.china-3n软件可靠性n可靠性是软件的13个质量因素中最关键、最重要的n软件可靠性是指在规定时间和条件下软件无故软件可靠性是指在规定时间和条件下软件无故障运行的概率障运行的概率,是系统功能或软件产品中存在的缺陷的函数n软件故障产生的原因是软件缺陷,但缺陷并不一定导致故障的产生,高缺陷率的软件的可靠性不一定就差n软件失效意味着软件运行中断或者无法完成所规定的任务2022/5/23www.china-4几个值得关注的问题:n软件的运行环境:软件可靠性与运行环境密切相关n软件运行的时间间隔:商业软件需要较高的运行时间间隔(
3、较长的运行寿命),而任务关键软件则需要在短时间内高效运行n软件失效的时机是随机的,与硬件失效类似n不同于软件的正确性,对于持续运行的软件其可靠性最终将归于零(以失效结束);但正确性是软件的特定的某次运行结果,要么为1,要么为02022/5/23www.china-5n5.1.2 软件的缺陷、故障和失效n缺陷(Error,错误):设计和构造进产品总数是不可预知的,只能估计缺陷分为已知和未知(新发现)的缺陷分为已发现的和未发现的已发现的缺陷包括已纠正的和未纠正的n故障(Fault):运行结果错误故障是缺陷的表现形式,是由存在的缺陷产生的但缺陷并不一定导致故障,或者条件不具备,或者不会产生故障n失效
4、(Failure):系统不能完成所需要的功能而失败失效是故障在软件运行时所产生的后果失效缺陷故障已纠正的缺陷2022/5/23www.china-6软件质量度量与软件过程有什么关系?2022/5/23www.china-7失 效故 障面向用户面向开发者软件运行偏离用户需求程序执行输出错误结果可根据对用户应用的严重性等级分类可根据定位和排除故障的难度分类如,3次失效/1000 CPU小时如,6个故障/1KLOC失效与故障的区别2022/5/23www.china-8n5.1.3 软件失效n软件失效是随机发生的n描述失效的方法有三个:n累计失效函数:即与某时间点相关的平均累计失效数n失效率函数:用
5、累计失效函数的变化率表示n平均失效时间MTTF函数:对于一个时间段,表示若干相邻失效时间间隔的平均值;对某个时间点,表示到下次失效的期望时间2022/5/23www.china-9n软件失效率n如果没有缺陷,软件失效率为0n如果发现的缺陷能被及时、完全修复,失效率会趋向0n实际上,发现的缺陷数会递增,而纠正一个缺陷会引入更多的缺陷,因而失效率会增加时间失效率硬件软件(实际)软件(理想)2022/5/23www.china-105.2 软件可靠性度量和建模n5.2.1 基本概念软件可靠性建模过程是根据软件过去的故障行为建立软件可靠性数学模型的过程建模的目的是为了预计软件将来的故障行为建模过程包括
6、以下步骤:通过度量获得历史数据对故障数据进行分析,拟合成概率分布函数对拟合函数进行参数分析确定所期望的可靠性度量值并预测可能的故障行为2022/5/23www.china-11n5.2.2 软件可靠性度量参数软件可靠性R(t)可定义为:在给定条件下,在时间0,t内,软件无故障运行的概率若用T表示软件无故障运行的时间间隔,F(t)为T的累积分布函数,则软件可靠性可表示为:R(t)=1-F(t) t0故障率函数(t)为:其中,f(t)为F(t)的函数密度,即:)()()()()(lim)(0tRtfttRttRtRtt)()(tFdtdtf2022/5/23www.china-12(t)t是在时间
7、0,t内软件正常运行,在t,t+t内发生故障的条件概率,可得:密度函数f(t)、累积分布函数F(t)、可靠性函数R(t)和故障率函数(t)紧密相关,一般可由任一个惟一地确定另外三个,例如若(t)给定,则:根据f(t)或R(t)可计算平均失效时间函数MTTF,从而预测故障时间tdsstR0)(exp)()(ln)(1ln()(1)()(tRdtdtfdtdtFtfttdssttf0)(exp)()(00)()(MTTFdttRdtttf2022/5/23www.china-13n5.2.3 软件可靠性度量模型n指数分布密度函数为分布函数为故障率函数为(常数)具有指数寿命分布的软件产品(故障率为常
8、数)没有老化现象,符合不需要维护的软件的运行情况1)(1)()(1tetFetftt2022/5/23www.china-14nWeibull分布Weibull是更常用的分布,在许多工程领域的可靠性分析中都广泛应用,如轴承磨损、河流泛滥等Weibull分布有两个参数、(为1时变为指数函数)函数密度为:分布函数为:故障率函数为:tttetFetttftt)(0, 01)()(2022/5/23www.china-1511=1tWeibull分布=1时变为指数分布=2时为Rayleigh分布研究表明,软件项目的生命周期模式、项目的缺陷移除模式等都很好地符合Rayleigh模型2022/5/23ww
9、w.china-16数据收集和分析是度量软件可靠性的最重要的先决条件,任何可靠性度量的有效性都与数据收集的有效性直接相关,数据收集过程必须有计划、有组织地进行与软件可靠性相关的数据包括:n缺陷数据n过程数据n产品数据:如规模、功能、性能等5.3 软件可靠性数据收集过程2022/5/23www.china-17 5.3.1 缺陷数据的收集缺陷数据的收集常采用问答、报告形式,即发放问题报告表格要求有关人员填写,收集并分析问题报告表格形成统计数据检测到的缺陷已记录的缺陷已评审的缺陷确认?结束缺陷报告采取措施?通过验证?记录不采取措施的原因记录纠正验证问题报告NoNoNoYesYesYes2022/5
10、/23www.china-18 5.3.2 过程数据的收集缺陷数据必须与过程融合才有价值,因而过程数据也需要收集。通常会将项目的持续时间作为主要关心的过程数据,但实际需要更细分与软件可靠性测试过程相关的数据包括:CPU时间:具有与人无关性,但易忽略人的工作(如评审等)日历时间:优点是易于收集,但没有考虑阶段特征,如某些技术在某阶段更有效运行时间:是为测试而运行软件的总时间,也未考虑阶段特征其他数据:包括平均修复时间、完成每个过程活动的人数、软件生命期各阶段所用时间百分比、各阶段所消耗的资源数量、各阶段的开始、截止日期、各阶段修复一个缺陷所需的工作量、各功能模块的缺陷数,等等2022/5/23w
11、ww.china-195.4 软件的运行剖面软件可靠性建模需要具备三个条件:n软件运行时间基准(日历时间、运行时间、CPU时间)n软件运行过程收集的数据,是建模基础n软件功能和运行环境软件运行剖面用于定量描述软件的用户运行环境,即软件的功能和各功能的使用概率2022/5/23www.china-20 5.4.1 软件新系统的运行剖面n不同的运行模式下各功能的使用概率不同n不同运行模式的出现模式也不同运行模式1运行模式2功能功能使用概率2022/5/23www.china-21运行剖面对软件可靠性工程极具价值:n可为开发过程的资源分配提供参考,有利于提高生产率、可靠性和加快开发速度n有利于测试,
12、可确保常用功能获得更多测试n有利于设计测试用例,以发现影响可靠性最大的故障n根据功能的使用频度可确定开发的优先级n使功能描述更清晰,便于交流n有助于用户培训2022/5/23www.china-22n 5.4.2 软件运行剖面与可靠性的关系软件可靠性度量、评估和预测与软件的某个特定的运行剖面密切相关软件测试期间,为节省时间和成本,通常每个运行剖面只测试一次,因而不能反映每个剖面的出现概率,由此获得的可靠性数据也不能反映实际情况要将测试期间获得的可靠性值变换为实际值,可用以下公式:其中,u是实际的用户环境下的故障密度,T是测试值,C为测试压缩系数CTu2022/5/23www.china-23C
13、的含义是:在覆盖全部输入空间条件下,使用期间所要求的执行时间与测试阶段所要求的执行时间之比C的计算公式为:其中,k为输入状态k运行时的执行时间Pk为输入状态k在运行期间的发生概率QI为输入状态总数Pmin为最少发生的输入状态的概率IIQkkQkkkPPC1min12022/5/23www.china-24 5.4.3 软件运行剖面的建立运行剖面是关于系统如何运行的定量描述,建立步骤为:n建立客户剖面:分类描述要获取该系统的客户的使用模式n建立用户剖面:分类描述要使用该系统的用户的使用模式n定义系统模式剖面:根据执行过程描述系统运行模式n确定功能剖面:划分功能并确定各功能的发生概率n确定运行剖面
14、:确定系统各运行模式的发生概率2022/5/23www.china-255.5 软件可靠性模型及应用软件可靠性建模是软件可靠性工程的研究重点n5.5.1 与软件可靠性模型有关的问题n历史背景20世纪70年代,Telinski、Moranda、Shooman等人提出了软件可靠性建模的问题,并使用建立的模型估计软件现在和未来的可靠性经近40年的发展,软件可靠性模型已有很多种2022/5/23www.china-26n软件可靠性模型的分类Musa、Okumoto根据模型的5个特征进行分类:n时间域(time domain):日历时间、执行时间或CPU时间n类别(Category):软件在无限的时间内
15、可能经历的故障数是有限的还是无限的n型(Type):软件在运行时间t时的失效数分布分类n种类(Class):故障密度对时间的函数分布(仅对有限故障类)n族(Family):故障密度对它的期望故障数的函数分布(仅对无限故障类)有限故障数模型种类型泊松分布二项式分布其他指数分布Mussa(1975)MorandaSchneidewindGoel-OkumotoJelinski-MorandaShoomanGoel-OkumotoMussaKeiller-LittlewoodWeibull分布Schick-wolvertonWagonerC1分布Schick-wolverton帕雷多分布Little
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ch 软件 可靠性 度量
限制150内