Defensive design

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. They are also recessed in the wall in a way that makes it impossible to touch connectors once they become live.

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 because it makes it impossible to accidentally have one hand in the way of harm.

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

  • Many electrical connectors apply this principle by being asymmetric.
gollark: That is NOT AT ALL HelloBoi.
gollark: Evidently, LyricLy™ used Macron's mind control primitives to make people use Ly.
gollark: It's an AND gate with floating inputs, I think.
gollark: Mine is #10 obviously.
gollark: Wait, is RPNCalc5 unclassified? Oops. Anyway.

See also

References

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.