Mind map
Section 6 - Design, Testing and IDEs

Map content
Section 6 - Design, Testing and IDEs
Defensive Design
- Defensive Design helps to ensure programs function properly
- When programs are functioning properly they shouldn't ever break and never produce errors.
- This is difficult to achieve even for large software companies who update software regularly
- Programmers try to protect their software through defensive design
- They will try to:
- Anticipate how users may misuse their program, then attempt to prevent it from happening
- Ensure their code is well-maintained
- Reduce the number of errors in the code through testing
- They will try to:
- When programs are functioning properly they shouldn't ever break and never produce errors.
- Make sure inputs can't be exploited
- Input Sanitisation
- Removing any unwanted characters before passing through the program
- Input Validation
- Checking if data meets certain criteria before passing it into the program
- Input Sanitisation
- Authentication can help Protect Programs
- This is used to confirm the identity of a user before they are allowed to access certain pieces of data or features of the program
- Programs should be easy to maintain
- A well-maintained program makes it easy for other programmers to understand what the code does
- They should also be able to change parts of the source code without the risk of causing problems elsewhere
- The following features improve maintainability:
- Comments
- Indentation
- Relevant Variables
- Use global variables when necessary
- A well-maintained program makes it easy for other programmers to understand what the code does
- Defensive Design helps to ensure programs function properly
Translators
- Computer Languages can be High-Level or Low-Level
- Most languages that you're familiar with are high-level languages
- This means that the source code is easy for humans to write, but computers need to translate it into machine code before they can read and run it
- Examples of these are Python, C++, JavaScript, etc.
- Low-Level languages are hard for humans to read and write but are easier for a computer to run
- These languages are machine code and assembly languages
- Most languages that you're familiar with are high-level languages
- Translators convert programming languages into Machine Code
- Computers only understand instructions given in machine code, so high-level and assembly languages need to be translated first
- There are three types of translator:
- Assemblers
- These are used to turn assembly language into machine code
- There are many types of assembly languages to support different types of CPU
- These are used to turn assembly language into machine code
- Compilers
- Interpreters
- Compilers and interpreters are both used to turn High-Level code into machine code
- Compilers and interpreters are both used to turn High-Level code into machine code
- Assemblers
- Computer Languages can be High-Level or Low-Level
Integrated Development Enviroments (IDEs)
- IDEs have features to help programmers
- An IDE is a piece of software that provides features to help a programmer to develop their program
- Most IDEs will have similar features
- An IDE is a piece of software that provides features to help a programmer to develop their program
- Examples
- Microsoft Visual Studio
- Pycharm
- Python Idle
- Microsoft Visual Studio 2015 Example
- Common Features of an IDE
- A translator
- Auto-documentation to help with the maintenance of programs
- A Graphical User Interface builder so it's easier for the programmer to design a user interface by building it up graphically rather than designing it through source code
- IDEs have features to help programmers
Images and files in the map
Information
- Description
- Year 11 Computing Mind Map on Section 6 - Design, Testing and IDEs, created by Jake Bailey on 17/04/2018.
- Created by
- Jake Bailey
- Views
- 0
- Rating


