Producing Robust Programs Flashcards

1
Q

what is the purpose of defensive design

A

to ensure that a program runs correctly and continues to run no matter what

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

what three areas does defensive design encompass

A
  • protection against unexplained user inputs
  • maintainability
  • minimising/removing bugs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

List 5 ways in which defensive design is done

A
Sanitisation
Validation
authentication
testing 
maintainance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Explain 3 examples of validation that can be built into a program

A

Range Check-the item entered must be in the range given
Length Check- the item must not be too long or too short
Format Check-the data must be in the correct format

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

What does validation not do

A

ensure that the data is correct-it only checks that it is valid and sensible

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

What is the purpose of data sanitisation

A

to hide or protect data so it cannot be seen or disclosed

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

What is masking and what does it do?

A

masking hides data by replacing it with something else. an example of this is passwords

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

What is input sanitisation

A

checks data that is entered and removes anything that could be potentially dangerous

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

What is authentication, list 3 factors of it

A
a user confirming that they are who they say they are on a computer system
The 3 factors of this are:
something you are (eg username)
something you know (eg password)
something you have (eg biometrics)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the purpose of maintainability?

A

to ensure that over time a product can be easily maintained

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