Defensive design
   HOME

TheInfoList



OR:

Defensive design is the practice of planning for contingencies in the
design A design is a plan or specification for the construction of an object or system or for the implementation of an activity or process or the result of that plan or specification in the form of a prototype, product, or process. The verb ''to 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. Defensive design in
software engineering Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
is called
defensive programming Defensive programming is a form of defensive design intended to develop programs that are capable of detecting potential security abnormalities and make predetermined responses. It ensures the continuing function of a piece of software under un ...
. Murphy's law is a well-known statement of the need for defensive design, and also of its ultimate limitations.


Applications


Computer software

Software design entails many ways so that software can be designed to operate more safely. * Data entry screens can "sanitize" inputs, e.g. numeric fields contain only digits, signs and a single decimal point if appropriate. * Inputs can be checked for legitimate values, e.g. for counts of workplace injuries (or number of people injured) the number can be 0 but can't be negative and must be a whole number; for number of hours worked in one week the amount for any specified employee can be 0, can be fractional, but can't be negative and can't be greater than 168, nor more than 24 times the number of days they were in attendance. * A word processor requested to load a saved document should scan it to ensure it is in good form and not corrupted. If it is corrupted, the program should say so, then either accept the partial document that was valid, or refuse the entire document. In either case it should remain running and not quit.


Electronics

Many electrical connectors apply this principle by being asymmetric.


See also

* Defensible space theory *
Fail-safe In engineering, a fail-safe is a design feature or practice that in the event of a specific type of failure, inherently responds in a way that will cause minimal or no harm to other equipment, to the environment or to people. Unlike inherent safe ...
* Idiot proof *
Inherent safety In the chemical industry, chemical and process industries, a process has inherent safety if it has a low level of danger even if things go wrong. Inherent safety contrasts with other processes where a high degree of hazard is controlled by protect ...
*
Poka-yoke is a Japanese term that means "mistake-proofing" or "inadvertent error prevention". A poka-yoke is any mechanism in a process that helps an equipment operator avoid (''yokeru'') mistakes (''poka'') and defects by preventing, correcting, or drawing ...
*
Usability testing Usability testing is a technique used in user-centered interaction design to evaluate a product by testing it on users. This can be seen as an irreplaceable usability practice, since it gives direct input on how real users use the system. It is ...


References

Design {{Design-stub