2.3.1

Defensive Design

Test yourself

Defensive Design

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

Illustrative background for Defensive designIllustrative background for Defensive design ?? "content

Defensive design

  • Defensive design considerations include:
    • Anticipating misuse of the program.
    • Writing maintainable code.
    • Testing the program.
Illustrative background for Robust and reliableIllustrative background for Robust and reliable ?? "content

Robust and reliable

  • Robust programs can handle unexpected inputs and data without crashing and without being tricked into malicious action.
  • Reliable programs will work as intended under many different conditions or situations.
Illustrative background for Anticipating misuseIllustrative background for Anticipating misuse ?? "content

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

1Computer Systems

1.1Systems Architecture

1.2Memory & Storage

1.3Computer Networks, Connections & Protocols

1.4Network Security

1.5Systems Software

1.6Ethical, Legal, Cultural & Environmental Concern

2Computational Thinking, Algorithms and Programming

2.1Algorithms

2.2Programming Fundamentals

2.3Producing Robust Programs

2.4Boolean Logic

2.5Programming Languages & IDEs

Go student ad image

Unlock your full potential with GoStudent tutoring

  • Affordable 1:1 tutoring from the comfort of your home

  • Tutors are matched to your specific learning needs

  • 30+ school subjects covered

Book a free trial lesson