软件可靠性工程1
软件可靠性定义1
广义是指一切旨在避免、减少、处理、度量软件故障(错误、缺陷、失效)的分析、设计、测试等方法、技术和实践活动
于是有诸多相关术语,如软件可靠性度量、软件可靠性设计、软件可靠性建模、软件可靠性测试、软件可靠性管理等
狭义指软件无失效运行的定量度量,尤其是那些面向用户的定量度量
主要有:■软件可靠度:表示软件在规定的运行环境中和规定的运行时间内无失效运行的机会
软件无失效运行的机会多以概率度量,但也可以模糊数学中的可能性加以度量,有时也在数据域上将软件可靠度表示为软件成功执行一个回合的概率
■软件失效强度:其物理解释是单位时间内软件发生失效的机会
在概率范畴内,它与软件可靠度有明确的数学关系(R(t)二 1-F(t),R(t)为可靠度汗(t)为失效强度)■软件平均失效时间(MTTF):表示软件投入运行到出现一个新失效的时间
上述度量与硬件可靠性中的相应概念本质上是一致的
“失效”是指程序的功能在某方面没有达到用户的需求
“没有像用户需求的那样工作”是一个很广的定义
因此,可靠性结合了与程序执行相关联的所有属性
例如,它包括正确性、安全性和可使用性的操作方面,以及对用户的友好性
请注意,安全性实际上是软件可靠性的一个特殊子类
可靠性不包括可移植性、可修改性或文档的可理解性
可靠性是面向用户的而不是面向开发人员的
可靠性与操作有关,而不是与程序的设计有关,因此可靠性是动态的,而不是静态的
可靠性考虑问题出现的频率,直接与操作经验和在经验中错误的影响相关
因此,可以很容易地将可靠性与成本联系起来
可靠性很适合检查发展趋势的重要性、设定目标和预测什么时候可以达到目标
可靠性使人们可以使用同样的术语对硬件和软件的系统可靠性进行分析,而在真实系统中硬件和软件都同时存在
所以,可靠性度量比错误度量要有用得多
软件可靠性工程的研究范围软