Mindmap
defensive design
Inhalt der Mindmap
defensive design
helps to ensure programs function properly.
programmers try to protect their programs through defensive design.
- they might try to: anticipate how users might misuse their program, ensure the code is well maintained or reduce the number of errors in the code.
input sanitisation- removing any unwanted characters before passing data through the program.
input validation- checking of data meets certain criteria before passing it through the program, e.g. checking if an email address contains an @ symbol, etc.
authentication can confirm the identity of a user before they're allowed to access certain pieces of data or features of the program. a common that programs do this is through passwords.
- common ways to increase the security of a password-based authentication system: force user to use strong passwords and get them to change it regularly, limit the number of failed authentication attempts, ask for a random selection of characters from the password on each authentication.
a whitelist is a list of data the program should accept.
a blacklist is a list of data that the program should reject.
your program should be easy to maintain.
- comments are useful to explain what the key features of the program do
- identation can be used to separate different statements in a program.
- variables and sub programs should be named so that they refer to what they actually are.
- only use global variables when necessary as they could affect the rest of the code.
syntax errors- when the complier or interpreter doesn't understand something you've typed because it doesn't follow the rules or grammar of the programming language.
logic errors- when the complier or interpreter is able to run the program, but the program does something unexpected.
programs should be tested before being released.
- performance test- tests how quickly certain features run and their impact on computer resources.
- usability test- tests how user friendly the interface and features are.
- security test- tests vunerability to attacks and how securely data is stored
- load/stress test- tests how it copes under extreme conditions.
computer languages can be high or low level.
- high level language is easy for humans to write, but computers need to translate it into machine code.
- low level language is tricky for humans to read and write but are easier for a computer to run, e.g binary etc.
translators convert programming languages into machine code.
- there are three types of translators: assemblers, compliers, interpreters.
an integrated development environment (IDE'S) is a piece of software that provides features to help a programmer to develop their program.
Informationen
- Beschreibung
- Mindmap am defensive design, erstellt von joseph cope am 27/06/2019.
- Erstellt von
- joseph cope
- Aufrufe
- 1
- Bewertung