Jump to content

Defensive design

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by DokReggar (talk | contribs) at 14:31, 6 January 2020 (Undid revision 934435541 by 88.98.75.193 (talk) Reverting vandalism or test edit). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

File:Idiot proof paper cutting machine.jpg
Paper cutting machine with two buttons required to be pressed simultaneously to cut the paper. A defensive design to prevent the operator from cutting their own hands.

Defensive design is the practice of planning for contingencies in the design stage of a project or undertaking. Essentially, it is the practice of anticipating all possible ways that an end-user could misuse a device, and designing the device so as to make such misuse impossible, or to minimize the negative consequences. For example, if it is important that a plug is inserted into a socket in a particular orientation, the socket and plug should be designed so that it is physically impossible to insert the plug incorrectly. Power sockets are often keyed in such a manner, to prevent the transposition of live and neutral.

Defensive design in software engineering is called defensive programming. Murphy's law is a well-known statement of the need for defensive design, and also of its ultimate limitations.

Examples

See also

References