接前一篇文章:软考 系统架构设计师系列知识点之软件可靠性基础知识(8)
所属章节:
第9章. 软件可靠性基础知识
第2节 软件可靠性建模
9.2.2 软件可靠性的建模方法
一个软件可靠性模型通常(但不是绝对)由以下几部分组成:
(1)模型假设
模型是实际情况的简化或规范化,总要包含若干假设,例如测试的选取代表实际运行剖面,不同软件失效独立发生等。
(2)性能度量
软件可靠性模型的输出量就是性能度量,如失效强度、残留缺陷数等。在软件可靠性模型中,性能度量通常以数学表达式给出。
(3)参数估计方法
某些可靠性度量的实际值无法直接获得,例如残留缺陷数,这时需要通过一定的方法估计参数的值,从而间接确定可靠性度量的值。当然,对于可直接获得实际值的可靠性度量,就无须参数估计了。
(4)数据要求
一个软件可靠性模型要求一定的输入数据,即软件可靠性数据。不同类型的软件可靠性模型可能要求不同的软件可靠性数据。
绝大多数的模型包含3个共同假设。这些假设至今主宰着软件可靠性建模的研究与发展,人们尚未找到克服这些假设局限性的有效方法。这3个假设为:
(1)代表性假设
此假设认为软件测试用例的选取代表软件实际的运行剖面,甚至认为测试用例是独立随机地选取。此假设实际上是指,可以用测试产生的软件可靠性数据预测运行阶段的软件可靠性行为。
(2)独立性假设
此假设认为软件失效是独立发生于不同时刻,一个软件失效的发生不影响另一个软件失效的发生。例如,在概率范畴,假设相邻软件失效间隔构成一组独立随机变量,或假定一定时间内软件失效次数构成一个独立增量过程。在模糊数学范畴,则相邻软件失效间隔构成一组不相关的模糊变量。
(3)相同性假设
此假设认为所有软件失效的后果(等级)相同,即建模过程只考虑软件失效的具体发生时刻,不区分软件的失效严重等级。
软件可靠性模型要描述失效过程对于前一篇文章所讲的可靠性主要影响因素的一般依赖形式。
由于影响软件可靠性的这些因素大多数在本质上是概率性的,并且表现与时间相关联,因此通过失效数据的概率分布和随机过程随时间变化的特性来整体区分软件可靠性模型。
更多内容请看下回。