Вынуждающая функция – это особый случай строгих ограничителей, которые позволяют обнаружить ошибочное действие. Такие ограничители подходят не везде, но их принцип можно применить к большинству жизненных ситуаций. В технике безопасности вынуждающие функции часто называют специализированными методами предотвращения несчастных случаев. К трем таким методам относятся взаимоблокировка, фиксация
и блокировка.Взаимоблокировка
вынуждает выполнять действия в строгом порядке (рис. 5.4). В микроволновых печах и телевизорах она не дает открыть дверцу печи или снять заднюю панель телевизора без предварительного выключения этих устройств: благодаря взаимоблокировке питание отключается в тот момент, когда открывается дверца или снимается крышка. Кольцо на гранате или огнетушителе выполняет ту же роль: оно предотвращает неумышленное применение.
Рис. 5.4. Применение взаимоблокировки.
Фургон автомобиля Nissan Stanza устроен так, что крышка топливного бака расположена на пути отодвигающейся дверцы (вверху). По этой причине открывать ее, когда кто-то заливает бак, опасно. Компания Nissan справилась с этой проблемой, добавив в конструкцию рычажок, который блокирует дверцу, когда в бак заливается топливо. Рычажок выполняет роль взаимоблокировки: заправить машину можно только в том случае, если он стоит в безопасном положении (внизу). Более того, крышку нельзя закрыть, не переключив рычажок в нормальное положение. И, наконец, если кто-то пытается открыть дверцу автомобиля во время заправки, звучит предупреждающий сигнал. Производителям пришлось внедрить столько вынуждающих функций только потому, что крышка топливного бака изначально была расположена неудачно
Благодаря фиксации
невозможно преждевременно остановить выполняемое действие. Если бы этот метод применялся во всех компьютерах, печальные истории операторов об уничтожении несохраненных данных после выключения машины исчезли бы. Представьте, если бы сетевой выключатель на системном блоке был «программным», то есть не отключал подачу тока, а посылал сигнал прекратить работу, чтобы система сначала сохранила все файлы и только после этого выключала компьютер. (Конечно, для особых ситуаций должен быть и обычный выключатель.)Блокирующее
устройство не позволяет зайти в опасную зону и предотвращает некоторые события. Хороший пример: лестницы в зданиях компаний, по крайней мере американских (рис. 5.5). При пожаре паникующие служащие склонны бежать по лестнице вниз, вниз, вниз, мимо первого этажа в подвал, где и оказываются в ловушке. Выход: не дать им сделать это.
Рис. 5.5. Блокировка.
Вынуждающая функция не дает служащим пройти мимо первого этажа в подвал. Хотя в повседневной жизни этот барьер может показаться помехой, при пожаре он спасает жизни. Он заставляет бегущих прекратить спуск и направиться к выходу
В здании, где я работаю, лестница заканчивается на первом этаже и ведет прямо к выходу. Чтобы пройти в подвал, нужно найти другую дверь, открыть ее и спуститься по лестнице. Эта мера безопасности неудобна: в здании еще никогда не было пожара, а мне приходится часто спускаться с верхних этажей в подвал. Но это все мелочи, потому что во время пожара такая планировка может спасти жизнь.
В нормальной жизни вынуждающие функции часто мешают нам. Дизайнер, внедряя вынуждающую функцию, должен не только преследовать цели безопасности, но и по возможности снизить уровень неудобства своего продукта.