您的位置:首页 > 理论基础

浅析计算机软件可靠性设计

2012-04-05 08:48 309 查看
随着科学技术的不断进步,软件可靠性成为我们关注的一个问题,软件系统规模越做越大越复杂,其可靠性越来越难保证。应用本身对系统运行的可靠性要求越来越 高,在一些关键的应用领域,如航空、航天等,其可靠性要求尤为重要,在银行等服务性行业,其软件系统的可靠性也直接关系到自身的声誉和生存发展竞争能力。 特别是软件可靠性比硬件可靠性更难保证,会严重影响整个系统的可靠性。在许多项目开发过程中,对可靠性没有提出明确的要求,开发商(部门)也不在可靠性方 面花更多的精力,往往只注重速度、结果的正确性和用户界面的友好性等,而忽略了可靠性。在投入使用后才发现大量可靠性问题,增加了维护困难和工作量,严重 时只有束之高阁,无法投入实际使用。本文仅就软件可靠性工程在软件开发过程中的应用谈谈自己的认识。

1.软件可靠性设计的基本概念

1.1 软件及软件故障。软件(也称程序)本质上是一种把一组离散输入变成一组离散输出的工具,它由一组编码语句组成,这些语句的功能基本上是以下功能之一:(1)计算一个表达式并将其结果存储在单元里;(2)决定下一步要执行哪个语句;(3)进行输入/输出控制。

软件产品与硬件产品一样。软件的可靠性工作也是贯穿于软件的整个寿命周期的。软件的寿命周期,是指从软件任务的提出一直到它完成使命,因陈旧而被废弃为 止的整个时间历程,这个寿命周期包括了提出要求/规格说明、设计、实现、检验、维护等五个阶段,前四个阶段为开发期,维护阶段为使用期。

1.2 软件可靠性。关于软件可靠性的定义是什么。较多的人认为软件的可靠性与“概率统计的可靠性”的概念密切相关,软件的可靠性是软件在规定的条件下、规定的时 间周期内执行所要求功能的能力。软件的可靠度是软件在规定的条件下、规定的时间内不引起系统故障的概率,该概率是系统输入与系统使用的函数。

2.软件质量的可靠性参数

2.1 系统平均不工作间隔时间(MTBSD或MTBD)。设d为软件正常工作总时间,d为系统由于软件故障而停止工作的次数,则定义 TBSD=Tv/(d+1)。式中,TBSD—MTBSD;Tv—软件正常工作总时间(h);d—系统由于软件故障而停止工作的次数。MTBSD反映了系 统的稳定性。

2.2 系统不工作次数(一定时期内)。由于软件故障而停止工作,必须由操作者介入再启动才能继续工作的次数。

2.3 可用度A。设Tv为软件正常工作总时间,TD为由于软件故障使系统不工作的时间,则定义A=TV/(TV+TD)。它反映了系统的稳定性,亦可表达为 A=TBD/(TBD+TDT)。式中,TBD—MTBD(h),TDT—平均不工作时间,以下简称MDT(h)。对一般生产用计算机系统,要求 A≥99.8%;银行计算机系统,要求A>99.9%。

2.4 MTTR。它反映了出现软件缺陷后采取对策的效率。在一定程度上也反映了软件企业对社会服务的责任心。对于在线系统而言,MTT只要求不超过2天,变差系数应小于1。一般的MTTR也应小于7天,变差系数小于1。

2.5 平均不工作时间(MDT)。即由于软件故障,系统不工作的均值。对在线系统而言。MDT要求不超过10min一般的MDT<30min。

2.6 初期故障。一般以软件交付使用后的三个月内为初期故障期。初期故障率的大小取决于软件设计水平、检查项日数、软件规模、软件调试彻底与否等因素。

2.7 偶然故障率。一般以软件交付给使用方四个月后为偶然故障期,偶然故障率以每1000h的故障数为单位,它反映了软件处于稳定状态下的质量。一般最少要求偶然故障率不超过1,即每千小时不到1个故障,亦即MTBF超过1000h。

2.8 使用方误用率。使用方不按照软件规范及说明等使用造成的错误叫使用方误用。在总使用次数中,使用方误用次数占的百分率叫使用方误用率。造成使用方误用的原 因之一是使用方对说明理解不深,操作不熟练,但也有可能是说明没有讲得很清楚而引起误解。其他的原因还有软件系统的可操作性还应改进、对使用方的使用培训 还要更深入等等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息