Defensive design Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

Why is defensive design important?

A
  • the number of errors or bugs is minimized
  • the program behaves as expected despite unexpected user actions (accidental or deliberate erroneous inputs or item selections)
  • all possible errors that could occur are identified and allowed for
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How is authentication used?

A
  • the process of determining the identity of a user
  • usually based on a username and an associated password
  • authentication checks that the username and password exist
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is validation used for?

A

validation process checks that data that is input is sensible, reasonable and appropriate to be processed by the program

-should be used to ensure that the required data is input, is within a certain range or of a required length

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

presence check

A

ensures that data has been entered

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

length check

A

length checks ensure that a specified number of characters have been entered

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

range check

A

ensure that an input falls within the required range

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

program

A

sequence of instructions for a computer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does planning for all contingencies mean?

A

planning for all possibilities

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

areas of defensive design (3)

A
  • protection against unexpected user inputs or actions
  • maintainability - code is readable and understandable
  • minimizing/removing bugs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

validation definition

A

checking data input is sensible and in the right format

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

data sanitization

A

the process of hiding or protecting data so it cannot be seen or disclosed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

authentication

A

verifying the identity of a user

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

maintainability

A

the process of ensuring that a program is easy to understand, modify and update

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

testing

A

an important part of computer programming which involves checking a program for errors

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

defensive design definition

A

contingency planning using validation, sanitization, authentication, maintenance, and testing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

examples of contingencies (6)

A
  • maths errors, division by 0
  • communication error, online systems need a connection to a server, if it’s lost the program should tell the user and resume when it returns
  • printer/hardware error, there should be options to repeat an action/print again
  • disk errors, the program should check that the file can be found, isn’t corrupted, and that there is space on the disk
  • a user might misinterpret the on screen prompts
  • they might enter data into the wrong input box