(1)软件故障的特点
软件是由若干指令或语句构成,大型软件的结构十分复杂。在许多方面,软件故障不同于硬件故障.有它的特点。
对硬件来说,元件愈多,故障率也愈高。可以认为它们成线性关系。而软件故障与软件的长度基本上是指数关系。因此,随着软件(指令或语句)长度的增加,其故障(或称错误)会明显地增加。
软件错误与时间无关,它不像硬件会随时间呈现“浴盆”特性,软件不因时间的加长而增加错误,原有错误也不会随时间的推移而自行消失。
软件错误一经维护改正,将永不复现。这不同硬件,某芯片损坏后。换上新芯片还有失效的可能。因此,随着软件的使用,隐藏在软件中的错误被逐个发现、逐个改正,其故障率会逐渐降低。在这个意义上讲,软件故障与使用时间是有关系的。
软件故障完全来自设计,与复制生产、使用操作无关。当然,复制生产的操作要正确,所用介质要良好。单就软件故障本身来说,取决于设计人员的认真设计、查错及调试。
可以认为软件是不存在耗损的,也与外部环境无关。这是指软件本身而不考虑存储软件的存储媒体。
(2)软件错误的来源
软件错误是由设计者的错误、疏忽及考虑不够周全等设计上的原因造成的。
6.4. 减小故障出现的方法
(1)元器件的选择
合理地选择微机应用系统的元器件,对提高硬件可靠性是一个重要步骤。
(2)筛选
把所选择的合适元器件的特性测试后,对这些元器件施加外应力,经过一定时间的工作,再把它们的特性重新测一遍,剔除那些不合格的元器件,其过程称为筛选。
(3)降额使用
降额使用就是使元器件工作在低于它们的额定工作条件以下。实践证明,这种措施对提高可靠性是有用的。
(4)冗余设计
所谓冗余,就是为了保证整个系统在局部发生故障时能够正常工作,而在系统中设置一些备份部件,一旦故障发生便启动备份部件投入工作,使系统保持正常工作的方法。