- 0
- 0
- 约4.04千字
- 约 3页
- 2026-01-17 发布于北京
- 举报
XVIII.HumanErrorandComputerSystemDesign
人为错误和计算机系统设计
1988年福波斯I号在飞向火星的途中。什么?根据《科学》的,是
因为后不久地面在发往飞船的一系列数字指令中略去了一个字母。由于运气不好,这
个字母的缺少使代码被误译,从而触发了测试序列(测试序列在ROM中,只是准备飞船在地
面上时用于熟悉性能的)。福波斯折戟沉沙,就此无法恢复。
多么奇怪的报告:只是“运气太坏”吗?为什么是运气坏而不是坏的设计?难道不是命令语言
设计的问题使这样一起异常导致了如此严重的?
电噪声对于信号的检测、识别和可靠性的影响是众所周知的。设计者会使用误码检测和纠错编码
来解决这一问题。让我们假定是某些已知的干扰破坏了传送到福波斯的信号,这样我们就不会
去责备地面控制者了。我们会说系统的设计者没有遵从的工程惯例,会重新考虑系统的设计,以
防止今后再出现这种问题。
人们错了。因为这就是生活的现实。人不是精确设计的机器。实际上人类是一种完全不同的“装
置”。我们的强项是创造性、适应性、灵活性。持续不断的警戒、行动或记忆的精确性则是我们的弱点。
我们错误的能力是惊人的,甚至在有损伤也如此。我们非常灵活、健壮、富有创造能力,
具有极强的能力从的和受干扰的中寻求解释和理解含义。而导致健壮性和创造性的同样
秉性却也产生错误。解释信息的本能虽然是我们的基本优势,却可以使一名操作者以这样一
种貌似有理的方式误解系统的行为,从而使这种误解难以被发觉。
我们对人类行为,以及它是如何用于与系统之间交互的了解已经相当多了。人类所犯的好几类
错误已经得到确认和研究,可以事先确定,在什么情况下发生错误的可能性会增加。可以设计通信
系统使之具有误码、检测误码、纠正误码的能力。类似地,我们可以发明一种容错、检错或使
人机交互降至最小的科学。
在我们对信息处理系统硬件和软件的理解方面已经取得了许多进步,但是还有一个缺口,这就
是将操作者包括到系统分析之中。一个信息处理系统的行为并不只是设计指标的产物,而是人和系
统交互作用的产物。设计者必须将系统中包括人在内的所有组成部分,以及他们之间的相互作用考
虑进去。这一领域的各种技术物表明了对软件和硬件的关注,可是缺乏对人类功能和能力的强
调。许多信息系统要归咎于人为错误而不是设计问题。我们还将遭遇失败直到学会改变我们
的方法。
需要做的第一件事就是改度。我们称之为人为错误的行为和系统噪声一样地可预测,也许更
甚。因此,不要责怪那些恰好与此有关的人,还是试图找出导致事故的系统特性,然后修改设
计以消除相应,或者至少将它对未来的影响减至最小。一个主要步骤是将“人为错误”这
个名词从我们的词汇表里去掉,重新评价是否应责怪具体人员。第二个主要步骤是制定设计指标,将
人的作用考虑在内,并赋予它和系统其他部分相同的重视程度。
根据《科学》关于探测火星的,好像是控制人员的造成了事故。《科
学》采访了飞船制造厂经理罗尔德·克莱姆涅夫。这份对这次采访的是这样的:“发生
错误的控制人员受到了什么处分?克莱姆涅夫以阴沉的语气告诉《科学》,他没有被送进
或发配西伯利亚。实际上正是他最终找到了程序中的错误。不过克莱姆涅夫说,这位控制人员未能
再参加以后福波斯的工作。”采访者问题和克莱姆涅夫的回答预先都已经有了责备的观念。尽管
操作者查出了错误所在,他还是受到了惩罚(不过至少没有被流放)。可是编程语言的设计者和所用
的软件或方法又怎样呢?没有提到。用这种态度进行处理所产生的问题是,它使我们不能从事故中
学到什么,使错误潜伏的情况依旧。
由于“人为错误”而导致计算机系统失败的在每个行业都很容易找到,例如核电、、
商务、,当然还有计算机工业本身。在CommunicationsoftheACM(计算机通信)1989
年8月的一期中,下列论述出现在栏目中:埃克森石油公司
原创力文档

文档评论(0)