Введение

Проектирование с учетом возможных непредвиденных ситуаций для предотвращения неправильного использования. Защитное проектирование – это практика планирования возможных непредвиденных обстоятельств на этапе проектирования продукта или задачи. По сути, это предвидение всех возможных способов некорректного использования устройства конечным пользователем и проектирование устройства таким образом, чтобы исключить такое использование или минимизировать негативные последствия. Например, если важно, чтобы вилка вставлялась в розетку в определенной ориентации, розетка и вилка должны быть спроектированы так, чтобы физически исключить возможность неправильного подключения. Розетки часто имеют конструктивные особенности, предотвращающие переполюсовку фазы и нейтрали. Кроме того, они углублены в стену, чтобы исключить возможность прикосновения к контактам под напряжением. В разработке программного обеспечения защитное проектирование называется защитным программированием. Закон Мерфи – известное утверждение о необходимости защитного проектирования и одновременно о его конечных пределах.

Компьютерное программное обеспечение

Решения по реализации и подходы к проектированию программного обеспечения могут повысить безопасность программного обеспечения и выявлять ошибки пользователей. Экраны ввода данных могут "очищать" вводимые данные, например, числовые поля должны содержать только цифры, знаки и, при необходимости, одну десятичную точку. Вводимые данные могут проверяться на допустимые значения, например, для количества травм на рабочем месте (или числа пострадавших) значение может быть 0, но не может быть отрицательным и должно быть целым числом; для количества отработанных часов в неделю сумма для конкретного сотрудника может быть 0, может быть дробной, но не может быть отрицательной и не может превышать 168 часов, а также не может быть больше 24 раз больше числа отработанных дней. Текстовый процессор, которому требуется загрузить сохраненный документ, должен сканировать его, чтобы убедиться в его целостности и отсутствии повреждений. Если документ поврежден, программа должна сообщить об этом, а затем либо принять допустимую часть документа, либо отклонить весь документ. В любом случае программа должна продолжать работу и не завершаться.

Электроника

Многие электрические разъемы используют этот принцип, будучи асимметричными.