Test your knowledge with free interactive questions on Seneca — used by over 10 million students.

Defensive Design

Defensive design is an approach to software development that aims to produce robust and reliable programs.

Defensive design

Defensive design

  • Defensive design considerations include:
    • Anticipating misuse of the program.
    • Writing maintainable code.
    • Testing the program.
Robust and reliable

Robust and reliable

  • Robust programs can handle unexpected inputs and data without crashing and without being tricked into malicious action.
    • Thus, preventing an unauthorised user from performing a certain action when they do not have the correct access rights.
  • Reliable programs will work as intended under many different conditions or situations.
    • The way a program has been created and is intended to work is often very different to how users will actually use it.
Anticipating misuse

Anticipating misuse

  • There are a number of ways that a system could be misused:
    • Malicious inputs.
    • Attempts to remotely connect.
    • Attempts to alter access rights.
    • Brute force attacks.
Jump to other topics
1

Computer Systems

1.1

Systems Architecture

1.2

Memory & Storage

1.3

Computer Networks, Connections & Protocols

1.4

Network Security

1.5

Systems Software

1.6

Ethical, Legal, Cultural & Environmental Concern

2

Computational Thinking, Algorithms & Programming

2.1

Algorithms

2.2

Programming Fundamentals

2.3

Producing Robust Programs

2.4

Boolean Logic

2.5

Programming Languages & IDEs

Practice questions on Defensive Design

Can you answer these? Test yourself with free interactive practice on Seneca — used by over 10 million students.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
Answer all questions on Defensive Design

Unlock your full potential with Seneca Premium

  • Unlimited access to 10,000+ open-ended exam questions

  • Mini-mock exams based on your study history

  • Unlock 800+ premium courses & e-books

Get started with Seneca Premium