系统架构师备考日记(3.11)
第9章 软件可靠性基础知识篇(上)
考点
软件可靠性基本概念、建模、管理、设计、测试和评价等
涉及单项选择题(约占 2~3 分),论文也会有涉及
一、软件可靠性基本概念
1.1软件可靠性定义
在规定的条件下,在规定的时间内,软件不引起系统失效的概率,该概率是系统输入和系统使用的函数,也是软件中存在的缺陷函数;系统输入将确定是否会遇到已存在的缺陷(如果缺陷存在的话)。
1.2软件可靠性的定量描述
软件可靠性可以基于使用条件、规定时间、系统输入、系统使用和软件缺陷等变量构建的数学表达式。 1、规定时间:自然时间、运行时间、执行时间 2、失效概率:从软件运行开始,到某一时刻 t为止,出现失效的概率可以看作是关于软件运行时间的一个随机函数 3、可靠度:软件系统在规定的条件下、规定的时间内不发生失效的概率 4、失效强度:单位时间内软件系统出现失效的概率 5、平均失效前时间:MTTF,从t=0时到故障发生时系统的持续运行时间的期望值 6、平均恢复前时间:MTTR,随机变量恢复时间的期望值,就是从出现故障到修复成功中间的这段时间 7、平均故障间隔时间:MTBF=MTTF+MTTR,失效或维护中所需的平均时间
1.3可靠性目标
可靠性目标是指客户对软件性能满意程度的期望。通常用可靠度、故障强度和平均失效时间等指标来描述。
1.4可靠性测试的意义
- 软件失效可能造成灾难性的后果
- 软件失效在整个计算机系统失效中的比例较高
- 相比硬件可靠性技术,软件可靠性技术不成熟
- 软件可靠性问题会造成软件费用增长
- 系统对于软件的依赖性越来越强,软件对生产活动和社会生活的影响越来越大
1.5广义的可靠性测试与狭义的可靠性测试
(1)广义的可靠性测试是为了最终评价软件系统的可靠性而运用建模、统计、试验、分析和评价等一系列手段对软件系统实施的一种测试。 (2)狭义的可靠性测试指为了获取可靠性数据,按预先确定好的测试用例,在软件预期使用环境中,对软件实施的一种测试
二、软件可靠性建模
2.1影响软件可靠性的因素
- 运行环境
- 软件规模
- 软件内部结构
- 软件的开发方法和开发环境
- 软件的可靠性投入
2.2软件可靠性的建模方法
组成 (1)模型假设 (2)性能度量 (3)参数估计方法 (4)数据要求 好的软件可靠性模型的重要特性 (1)基于可靠的假设 (2)简单 (3)计算一些有用的量 (4)给出未来失效行为的好的映射 (5)可广泛应用
2.3软件可靠性模型分类
种子法、失效率类、曲线拟合类、可靠性增长、程序结构分析、输入域分类、执行路径分析方法、非齐次泊松过程、马尔可夫过程、贝叶斯分析。
三 、软件可靠性管理
软件可靠性阶段包括: 1、需求分析阶段 2、概要设计阶段 3、详细设计阶段 4、编码阶段 5、测试阶段 6、实施阶段
总结
软件可靠性基础知识概念点较多,分值不高但是容易取分,需要将基本概念掌握即可。